summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorOscar Nihlgård <oscarnihlgard@gmail.com>2018-05-31 09:38:43 +0200
committerDmitry Atamanov <data-man@users.noreply.github.com>2018-05-31 10:38:43 +0300
commiteb8f15d97c2aba8e0bf56a4da151d919814c9745 (patch)
treed8221e0ffceff7c02ca1024808865af81189ae3b
parenta55f49a7b4e03bf9cd0f6538a7c34fb29db22bcc (diff)
downloadNim-eb8f15d97c2aba8e0bf56a4da151d919814c9745.tar.gz
Support multi byte characters in module names (#7916)
-rw-r--r--compiler/cgen.nim2
-rw-r--r--tests/misc/åäö.nim8
-rw-r--r--tests/testament/tester.nim2
3 files changed, 10 insertions, 2 deletions
diff --git a/compiler/cgen.nim b/compiler/cgen.nim
index 79bcf0491..6a16474c0 100644
--- a/compiler/cgen.nim
+++ b/compiler/cgen.nim
@@ -1099,7 +1099,7 @@ proc getSomeInitName(m: PSym, suffix: string): Rope =
   if {sfSystemModule, sfMainModule} * m.flags == {}:
     result = m.owner.name.s.mangle.rope
     result.add "_"
-  result.add m.name.s
+  result.add m.name.s.mangle
   result.add suffix
 
 proc getInitName(m: PSym): Rope =
diff --git a/tests/misc/åäö.nim b/tests/misc/åäö.nim
new file mode 100644
index 000000000..69bb3e22c
--- /dev/null
+++ b/tests/misc/åäö.nim
@@ -0,0 +1,8 @@
+discard """
+    action: run
+"""
+
+# Tests that module names can contain multi byte characters
+
+let a = 1
+doAssert åäö.a == 1
\ No newline at end of file
diff --git a/tests/testament/tester.nim b/tests/testament/tester.nim
index 0c6f376d3..0185156ec 100644
--- a/tests/testament/tester.nim
+++ b/tests/testament/tester.nim
@@ -79,7 +79,7 @@ proc nimcacheDir(filename, options: string, target: TTarget): string =
 proc callCompiler(cmdTemplate, filename, options: string,
                   target: TTarget, extraOptions=""): TSpec =
   let nimcache = nimcacheDir(filename, options, target)
-  let options = options & " --nimCache:" & nimcache.quoteShell & extraOptions
+  let options = options & " " & ("--nimCache:" & nimcache).quoteShell & extraOptions
   let c = parseCmdLine(cmdTemplate % ["target", targetToCmd[target],
                        "options", options, "file", filename.quoteShell,
                        "filedir", filename.getFileDir()])