summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2018-01-14 17:34:48 +0100
committerAraq <rumpf_a@web.de>2018-01-14 17:34:48 +0100
commitbba6d624205fbfe695b146fb63c00a2854199ee8 (patch)
tree3c744cae46965253f57922346fa6671a70f19657
parentf71f9f83c2de79d57e89a7b6c3d66225f42c1482 (diff)
parent6db1b492e12490be976c3aeda3a54eddf59cdc04 (diff)
downloadNim-bba6d624205fbfe695b146fb63c00a2854199ee8.tar.gz
Merge branch 'devel' of github.com:nim-lang/Nim into devel
-rw-r--r--doc/tut1.rst4
-rw-r--r--lib/pure/strformat.nim1
-rw-r--r--tests/testament/categories.nim11
-rw-r--r--tests/testament/tester.nim11
4 files changed, 15 insertions, 12 deletions
diff --git a/doc/tut1.rst b/doc/tut1.rst
index 9e6f1ab3c..f935e7935 100644
--- a/doc/tut1.rst
+++ b/doc/tut1.rst
@@ -41,7 +41,7 @@ Save this code to the file "greetings.nim". Now compile and run it::
 
   nim compile --run greetings.nim
 
-With the ``--run`` `switch <nimc.html#command-line-switches>`_ Nim
+With the ``--run`` `switch <nimc.html#compiler-usage-command-line-switches>`_ Nim
 executes the file automatically after compilation. You can give your program
 command line arguments by appending them after the filename::
 
@@ -58,7 +58,7 @@ To compile a release version use::
 By default the Nim compiler generates a large amount of runtime checks
 aiming for your debugging pleasure. With ``-d:release`` these checks are
 `turned off and optimizations are turned on
-<nimc.html#compile-time-symbols>`_.
+<nimc.html#compiler-usage-compile-time-symbols>`_.
 
 Though it should be pretty obvious what the program does, I will explain the
 syntax: statements which are not indented are executed when the program
diff --git a/lib/pure/strformat.nim b/lib/pure/strformat.nim
index c771343c3..62b095cb1 100644
--- a/lib/pure/strformat.nim
+++ b/lib/pure/strformat.nim
@@ -417,6 +417,7 @@ template fmt*(pattern: string): untyped =
   ##
   ##  let example = "oh, look no conflicts anymore"
   ##  echo fmt"{example}"
+  bind `%`
   %pattern
 
 proc mkDigit(v: int, typ: char): string {.inline.} =
diff --git a/tests/testament/categories.nim b/tests/testament/categories.nim
index 42e19d3dd..06decfa3c 100644
--- a/tests/testament/categories.nim
+++ b/tests/testament/categories.nim
@@ -17,11 +17,12 @@ const
   rodfilesDir = "tests/rodfiles"
 
 proc delNimCache(filename, options: string) =
-  let dir = nimcacheDir(filename, options)
-  try:
-    removeDir(dir)
-  except OSError:
-    echo "[Warning] could not delete: ", dir
+  for target in low(TTarget)..high(TTarget):
+    let dir = nimcacheDir(filename, options, target)
+    try:
+      removeDir(dir)
+    except OSError:
+      echo "[Warning] could not delete: ", dir
 
 proc runRodFiles(r: var TResults, cat: Category, options: string) =
   template test(filename: string, clearCacheFirst=false) =
diff --git a/tests/testament/tester.nim b/tests/testament/tester.nim
index 870f9f865..918de881f 100644
--- a/tests/testament/tester.nim
+++ b/tests/testament/tester.nim
@@ -71,13 +71,14 @@ proc getFileDir(filename: string): string =
   if not result.isAbsolute():
     result = getCurrentDir() / result
 
-proc nimcacheDir(filename, options: string): string =
+proc nimcacheDir(filename, options: string, target: TTarget): string =
   ## Give each test a private nimcache dir so they don't clobber each other's.
-  return "nimcache" / (filename & '_' & options.getMD5)
+  let hashInput = options & $target
+  return "nimcache" / (filename & '_' & hashInput.getMD5)
 
 proc callCompiler(cmdTemplate, filename, options: string,
                   target: TTarget, extraOptions=""): TSpec =
-  let nimcache = nimcacheDir(filename, options)
+  let nimcache = nimcacheDir(filename, options, target)
   let options = options & " --nimCache:" & nimcache.quoteShell & extraOptions
   let c = parseCmdLine(cmdTemplate % ["target", targetToCmd[target],
                        "options", options, "file", filename.quoteShell,
@@ -231,7 +232,7 @@ proc cmpMsgs(r: var TResults, expected, given: TSpec, test: TTest, target: TTarg
 proc generatedFile(test: TTest, target: TTarget): string =
   let (_, name, _) = test.name.splitFile
   let ext = targetToExt[target]
-  result = nimcacheDir(test.name, test.options) /
+  result = nimcacheDir(test.name, test.options, target) /
     (if target == targetJS: "" else: "compiler_") &
     name.changeFileExt(ext)
 
@@ -334,7 +335,7 @@ proc testSpec(r: var TResults, test: TTest, target = targetC) =
       var exeFile: string
       if isJsTarget:
         let (_, file, _) = splitFile(tname)
-        exeFile = nimcacheDir(test.name, test.options) / file & ".js"
+        exeFile = nimcacheDir(test.name, test.options, target) / file & ".js"
       else:
         exeFile = changeFileExt(tname, ExeExt)