summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Hickey <richhickey@gmail.com>2010-12-17 17:16:15 -0500
committerRich Hickey <richhickey@gmail.com>2010-12-17 17:16:15 -0500
commit1109a8b49a2dfef6940b5d65f4ca651a61d7e36e (patch)
treea32ea159974a8d694904a8d4093db4fee03c08ed
parent2879523aaa72ca9cada4b54f4e4dabe6564de08a (diff)
strip metadata from syms used in keywords, fixes #693
-rw-r--r--src/jvm/clojure/lang/Keyword.java2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/jvm/clojure/lang/Keyword.java b/src/jvm/clojure/lang/Keyword.java
index 2017a959..4ed8bc1a 100644
--- a/src/jvm/clojure/lang/Keyword.java
+++ b/src/jvm/clojure/lang/Keyword.java
@@ -27,6 +27,8 @@ public final Symbol sym;
final int hash;
public static Keyword intern(Symbol sym){
+ if(sym.meta() != null)
+ sym = (Symbol) sym.withMeta(null);
Util.clearCache(rq, table);
Keyword k = new Keyword(sym);
SoftReference<Keyword> existingRef = table.putIfAbsent(sym, new SoftReference<Keyword>(k,rq));