diff options
-rw-r--r-- | src/jvm/clojure/lang/DynamicClassLoader.java | 2 | ||||
-rw-r--r-- | src/jvm/clojure/lang/Keyword.java | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/src/jvm/clojure/lang/DynamicClassLoader.java b/src/jvm/clojure/lang/DynamicClassLoader.java index 8719dc18..e85071a0 100644 --- a/src/jvm/clojure/lang/DynamicClassLoader.java +++ b/src/jvm/clojure/lang/DynamicClassLoader.java @@ -54,6 +54,8 @@ protected Class<?> findClass(String name) throws ClassNotFoundException{ Class c = cr.get(); if(c != null) return c; + else + classCache.remove(name, cr); } return super.findClass(name); } diff --git a/src/jvm/clojure/lang/Keyword.java b/src/jvm/clojure/lang/Keyword.java index 75adcdd7..c20f1214 100644 --- a/src/jvm/clojure/lang/Keyword.java +++ b/src/jvm/clojure/lang/Keyword.java @@ -36,6 +36,7 @@ public static Keyword intern(Symbol sym){ if(existingk != null) return existingk; //entry died in the interim, do over + table.remove(sym, existingRef); return intern(sym); } |