summary refs log tree commit diff stats
path: root/compiler/options.nim
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/options.nim')
-rw-r--r--compiler/options.nim28
1 files changed, 9 insertions, 19 deletions
diff --git a/compiler/options.nim b/compiler/options.nim
index 69d41c562..102ebc386 100644
--- a/compiler/options.nim
+++ b/compiler/options.nim
@@ -209,10 +209,15 @@ proc getGeneratedPath: string =
   result = if nimcacheDir.len > 0: nimcacheDir else: gProjectPath.shortenDir /
                                                          genSubDir
 
-var packageCache = newStringTable(when FileSystemCaseSensitive:
-                                    modeCaseInsensitive
-                                  else:
-                                    modeCaseSensitive)
+template newPackageCache(): expr =
+  newStringTable(when FileSystemCaseSensitive:
+                   modeCaseInsensitive
+                 else:
+                   modeCaseSensitive)
+
+var packageCache = newPackageCache()
+
+proc resetPackageCache*() = packageCache = newPackageCache()
 
 iterator myParentDirs(p: string): string =
   # XXX os's parentDirs is stupid (multiple yields) and triggers an old bug...
@@ -240,21 +245,6 @@ proc getPackageName*(path: string): string =
     packageCache[d] = result
     dec parents
     if parents <= 0: break
-  when false:
-    var q = 1
-    var b = 0
-    if path[len(path)-1] in {DirSep, AltSep}: q = 2
-    for i in countdown(len(path)-q, 0):
-      if path[i] in {DirSep, AltSep}:
-        if b == 0: b = i
-        else:
-          let x = path.substr(i+1, b-1)
-          case x.normalize
-          of "lib", "src", "source", "package", "pckg", "library", "private":
-            b = i
-          else:
-            return x.replace('.', '_')
-    result = ""
 
 proc withPackageName*(path: string): string =
   let x = path.getPackageName