diff options
author | Alexander Taggart <alex.taggart@expojure.com> | 2011-03-09 11:58:13 -0800 |
---|---|---|
committer | Stuart Halloway <stu@thinkrelevance.com> | 2011-04-08 09:58:13 -0400 |
commit | dd49d07b75c619075156d1b38bae9a364ffb63b1 (patch) | |
tree | 186e6a0513f93cb610ac2e6218a1ed40e4219b08 | |
parent | 57c5186972c9c0f03d4bb5d2445309f14405e098 (diff) |
Fix CLJ-752: Removes inferring ^:dynamic from earmuffed var; updates warning message.
Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>
-rw-r--r-- | src/jvm/clojure/lang/Compiler.java | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/jvm/clojure/lang/Compiler.java b/src/jvm/clojure/lang/Compiler.java index a63ecc07..d5ef4108 100644 --- a/src/jvm/clojure/lang/Compiler.java +++ b/src/jvm/clojure/lang/Compiler.java @@ -461,13 +461,12 @@ static class DefExpr implements Expr{ } IPersistentMap mm = sym.meta(); boolean isDynamic = RT.booleanCast(RT.get(mm,dynamicKey)); - if(!isDynamic && sym.name.startsWith("*") && sym.name.endsWith("*") && sym.name.length() > 1) - { - RT.errPrintWriter().format("Var %s not marked :dynamic true, setting to :dynamic. You should fix this before next release!\n", - sym); - isDynamic = true; - mm = (IPersistentMap) RT.assoc(mm,dynamicKey, RT.T); - } + if(!isDynamic && sym.name.startsWith("*") && sym.name.endsWith("*") && sym.name.length() > 1) + { + RT.errPrintWriter().format("Warning: %1$s not declared dynamic and thus is not dynamically rebindable, " + +"but its name suggests otherwise. Please either indicate ^:dynamic %1$s or change the name.\n", + sym); + } if(RT.booleanCast(RT.get(mm, arglistsKey))) { IPersistentMap vm = v.meta(); |