diff options
author | Rich Hickey <richhickey@gmail.com> | 2009-04-12 14:05:29 +0000 |
---|---|---|
committer | Rich Hickey <richhickey@gmail.com> | 2009-04-12 14:05:29 +0000 |
commit | e05a1ad58a40a80f2a33e390184e109d5a8bce4f (patch) | |
tree | 928cd5c1233f8ab85b9aa6888f0a6128b3f8cbd3 /src | |
parent | 31b821a98adafbdc090ad33db69ed46f9e9bb31d (diff) |
Use qualified filenames in var metadata [issue 50], patch from mb
Diffstat (limited to 'src')
-rw-r--r-- | src/jvm/clojure/lang/Compiler.java | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/jvm/clojure/lang/Compiler.java b/src/jvm/clojure/lang/Compiler.java index 6e31e35f..a465785b 100644 --- a/src/jvm/clojure/lang/Compiler.java +++ b/src/jvm/clojure/lang/Compiler.java @@ -362,7 +362,9 @@ static class DefExpr implements Expr{ throw new Exception("Can't create defs outside of current ns"); } IPersistentMap mm = sym.meta(); - mm = (IPersistentMap) RT.assoc(mm, RT.LINE_KEY, LINE.deref()).assoc(RT.FILE_KEY, SOURCE.deref()); + Object source_path = SOURCE_PATH.get(); + source_path = source_path == null ? "NO_SOURCE_FILE" : source_path; + mm = (IPersistentMap) RT.assoc(mm, RT.LINE_KEY, LINE.get()).assoc(RT.FILE_KEY, source_path); Expr meta = analyze(context == C.EVAL ? context : C.EXPRESSION, mm); return new DefExpr((String) SOURCE.deref(), (Integer) LINE.deref(), v, analyze(context == C.EVAL ? context : C.EXPRESSION, RT.third(form), v.sym.name), |