diff options
author | Rich Hickey <richhickey@gmail.com> | 2008-07-17 18:04:30 +0000 |
---|---|---|
committer | Rich Hickey <richhickey@gmail.com> | 2008-07-17 18:04:30 +0000 |
commit | bb875e47c98a8ddd7ae3166cf1989b89820952c4 (patch) | |
tree | d745da1936ed7d835308ee44b291d8bd2f97d963 | |
parent | 3fab5c8ca765624ee1aadd24fd26bfedbf9eb00d (diff) |
allow /s in the namespace part of symbols/keywords
-rw-r--r-- | src/jvm/clojure/lang/LispReader.java | 2 | ||||
-rw-r--r-- | src/jvm/clojure/lang/Symbol.java | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/src/jvm/clojure/lang/LispReader.java b/src/jvm/clojure/lang/LispReader.java index 2d813ec5..17dd8479 100644 --- a/src/jvm/clojure/lang/LispReader.java +++ b/src/jvm/clojure/lang/LispReader.java @@ -40,7 +40,7 @@ static Symbol DEREF = Symbol.create("clojure", "deref"); static IFn[] macros = new IFn[256];
static IFn[] dispatchMacros = new IFn[256];
//static Pattern symbolPat = Pattern.compile("[:]?([\\D&&[^:/]][^:/]*/)?[\\D&&[^:/]][^:/]*");
-static Pattern symbolPat = Pattern.compile("[:]?([\\D&&[^:/]][^/]*/)?([\\D&&[^:/]][^/]*)");
+static Pattern symbolPat = Pattern.compile("[:]?([\\D&&[^:/]].*/)?([\\D&&[^:/]][^/]*)");
//static Pattern varPat = Pattern.compile("([\\D&&[^:\\.]][^:\\.]*):([\\D&&[^:\\.]][^:\\.]*)");
//static Pattern intPat = Pattern.compile("[-+]?[0-9]+\\.?");
static Pattern intPat =
diff --git a/src/jvm/clojure/lang/Symbol.java b/src/jvm/clojure/lang/Symbol.java index a7bbef92..a0d034c3 100644 --- a/src/jvm/clojure/lang/Symbol.java +++ b/src/jvm/clojure/lang/Symbol.java @@ -41,7 +41,7 @@ static public Symbol intern(String ns, String name){ } static public Symbol intern(String nsname){ - int i = nsname.indexOf('/'); + int i = nsname.lastIndexOf('/'); if(i == -1) return new Symbol(null, nsname.intern()); else |