summaryrefslogtreecommitdiff
path: root/src/jvm/clojure
diff options
context:
space:
mode:
authorRich Hickey <richhickey@gmail.com>2008-04-06 12:21:55 +0000
committerRich Hickey <richhickey@gmail.com>2008-04-06 12:21:55 +0000
commit353cb958642c2230236e59eb65f974a21ad6eb8e (patch)
treea32823fee3ee0a330e93cc11c85b3dea00af778c /src/jvm/clojure
parentee2250dd7a5b6d6c99d276fa333ca663a555f5e8 (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.java5
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));