diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/jvm/clojure/lang/Namespace.java | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/jvm/clojure/lang/Namespace.java b/src/jvm/clojure/lang/Namespace.java index 4c557a9a..19369733 100644 --- a/src/jvm/clojure/lang/Namespace.java +++ b/src/jvm/clojure/lang/Namespace.java @@ -79,11 +79,14 @@ public Var intern(Symbol sym){ } private void warnOrFailOnReplace(Symbol sym, Object o, Object v){ - if (o instanceof Var) { - if (((Var)o).ns != RT.CLOJURE_NS) { + if (o instanceof Var) + { + Namespace ns = ((Var)o).ns; + if (ns == this) + return; + if (ns != RT.CLOJURE_NS) throw new IllegalStateException(sym + " already refers to: " + o + " in namespace: " + name); } - } RT.errPrintWriter().println("WARNING: " + sym + " already refers to: " + o + " in namespace: " + name + ", being replaced by: " + v); } |