summary refs log tree commit diff stats
path: root/lib/pure/etcpriv.nim
blob: 5b785b0519017af75f25244d6745e6148957955a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#
#
#            Nim's Runtime Library
#        (c) Copyright 2015 Nim Authors
#
#    See the file "copying.txt", included in this
#    distribution, for details about the copyright.
#

## This module contains utils that are less then easy to categorize and
## don't really warrant a specific module. They are private to compiler
## and stdlib usage, and should not be used outside of that - they may
## change or disappear at any time.


# Used by pure/hashes.nim, and the compiler parsing
const magicIdentSeparatorRuneByteWidth* = 3

# Used by pure/hashes.nim, and the compiler parsing
proc isMagicIdentSeparatorRune*(cs: cstring, i: int): bool  {. inline } =
  result =  cs[i] == '\226' and
            cs[i + 1] == '\128' and
            cs[i + 2] == '\147'     # en-dash  # 145 = nb-hyphen
ception(ESomething, "Test") else: raise newException(EsomeotherErr, "bla") proc foo() = var i = 0 try: inc i onRaise(proc (e: ref E_Base): bool = echo "i: ", i) genErrors("errssor!") except ESomething: echo("ESomething happened") except: echo("Some other error happened") # test that raise handler is gone: try: genErrors("error!") except ESomething: echo "success" foo()