diff options
-rw-r--r-- | doc/tut2.txt | 8 | ||||
-rw-r--r-- | lib/system.nim | 3 | ||||
-rw-r--r-- | lib/system/repr.nim | 6 |
3 files changed, 6 insertions, 11 deletions
diff --git a/doc/tut2.txt b/doc/tut2.txt index e92c7d2ad..4d30b1445 100644 --- a/doc/tut2.txt +++ b/doc/tut2.txt @@ -735,14 +735,6 @@ regular expressions: return tkUnknown -Term rewriting macros ---------------------- - -Term rewriting macros can be used to enhance the compilation process -with user defined optimizations; see this `document <trmacros.html>`_ for -further information. - - Building your first macro ------------------------- diff --git a/lib/system.nim b/lib/system.nim index a71699cae..f89f407f0 100644 --- a/lib/system.nim +++ b/lib/system.nim @@ -1455,7 +1455,8 @@ template `>%` *(x, y: expr): expr {.immediate.} = y <% x proc `$`*(x: int): string {.magic: "IntToStr", noSideEffect.} ## The stringify operator for an integer argument. Returns `x` - ## converted to a decimal string. + ## converted to a decimal string. ``$`` is Nim's general way of + ## spelling `toString`:idx:. proc `$`*(x: int64): string {.magic: "Int64ToStr", noSideEffect.} ## The stringify operator for an integer argument. Returns `x` diff --git a/lib/system/repr.nim b/lib/system/repr.nim index 5a243cb44..f1029ff6a 100644 --- a/lib/system/repr.nim +++ b/lib/system/repr.nim @@ -30,14 +30,16 @@ proc reprStrAux(result: var string, s: string) = add result, "nil" return add result, reprPointer(cast[pointer](s)) & "\"" - for c in items(s): + for i in 0.. <s.len: + let c = s[i] case c of '"': add result, "\\\"" of '\\': add result, "\\\\" # BUGFIX: forgotten of '\10': add result, "\\10\"\n\"" # " \n " # better readability of '\128' .. '\255', '\0'..'\9', '\11'..'\31': add result, "\\" & reprInt(ord(c)) - else: result.add(c) + else: + result.add(c) add result, "\"" proc reprStr(s: string): string {.compilerRtl.} = |