From e05a1ad58a40a80f2a33e390184e109d5a8bce4f Mon Sep 17 00:00:00 2001 From: Rich Hickey Date: Sun, 12 Apr 2009 14:05:29 +0000 Subject: Use qualified filenames in var metadata [issue 50], patch from mb --- src/jvm/clojure/lang/Compiler.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src') 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), -- cgit v1.2.3-18-g5258