diff options
author | Rich Hickey <richhickey@gmail.com> | 2009-01-08 00:52:51 +0000 |
---|---|---|
committer | Rich Hickey <richhickey@gmail.com> | 2009-01-08 00:52:51 +0000 |
commit | 3c0439b77fd9dfb520e8a1bfc9656bfc6d9b0c42 (patch) | |
tree | 6020d8de907bb7c4f49bbbbb9d873f6d6d642fc7 | |
parent | 51ed068c679a4a65a2aa3552f8d088a1b787b08b (diff) |
Make syntax-quote Classname. and .method aware, patch from Meikel Brandmeyer
-rw-r--r-- | src/jvm/clojure/lang/LispReader.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/jvm/clojure/lang/LispReader.java b/src/jvm/clojure/lang/LispReader.java index d7677f7e..922d1cbf 100644 --- a/src/jvm/clojure/lang/LispReader.java +++ b/src/jvm/clojure/lang/LispReader.java @@ -679,7 +679,17 @@ public static class SyntaxQuoteReader extends AFn{ + "__" + RT.nextID() + "__auto__")));
sym = gs;
}
- else
+ else if(sym.ns == null && sym.name.endsWith("."))
+ {
+ Symbol csym = Symbol.intern(null, sym.name.substring(0, sym.name.length() - 1));
+ csym = Compiler.resolveSymbol(csym);
+ sym = Symbol.intern(null, csym.name.concat("."));
+ }
+ else if(sym.ns == null && sym.name.startsWith("."))
+ {
+ // Simply quote method names.
+ }
+ else
sym = Compiler.resolveSymbol(sym);
ret = RT.list(Compiler.QUOTE, sym);
}
|