summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/jvm/clojure/lang/DynamicClassLoader.java2
-rw-r--r--src/jvm/clojure/lang/Keyword.java1
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);
}