diff options
author | Rich Hickey <richhickey@gmail.com> | 2008-04-06 12:21:55 +0000 |
---|---|---|
committer | Rich Hickey <richhickey@gmail.com> | 2008-04-06 12:21:55 +0000 |
commit | 353cb958642c2230236e59eb65f974a21ad6eb8e (patch) | |
tree | a32823fee3ee0a330e93cc11c85b3dea00af778c /src/jvm/clojure | |
parent | ee2250dd7a5b6d6c99d276fa333ca663a555f5e8 (diff) |
added support for package-qualified classnames in symbol-dot macroexpansion
Diffstat (limited to 'src/jvm/clojure')
-rw-r--r-- | src/jvm/clojure/lang/Compiler.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/jvm/clojure/lang/Compiler.java b/src/jvm/clojure/lang/Compiler.java index f18a9602..6428c06f 100644 --- a/src/jvm/clojure/lang/Compiler.java +++ b/src/jvm/clojure/lang/Compiler.java @@ -3377,8 +3377,9 @@ public static Object macroexpand1(Object x) throws Exception{ else { //(s.substring 2 5) => (. s substring 2 5) - int idx = sname.indexOf('.'); - if(idx > 0 && idx < sname.length() - 1 && idx == sname.lastIndexOf('.')) + //also (package.class.name ...) (. package.class name ...) + int idx = sname.lastIndexOf('.'); + if(idx > 0 && idx < sname.length() - 1) { Symbol target = Symbol.intern(sname.substring(0, idx)); Symbol meth = Symbol.intern(sname.substring(idx + 1)); |