summaryrefslogtreecommitdiff
path: root/src/jvm/clojure/lang/APersistentMap.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jvm/clojure/lang/APersistentMap.java')
-rw-r--r--src/jvm/clojure/lang/APersistentMap.java8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/jvm/clojure/lang/APersistentMap.java b/src/jvm/clojure/lang/APersistentMap.java
index 807dfe9c..9e7cc289 100644
--- a/src/jvm/clojure/lang/APersistentMap.java
+++ b/src/jvm/clojure/lang/APersistentMap.java
@@ -29,10 +29,12 @@ public String toString(){
}
public IPersistentCollection cons(Object o){
- if(o instanceof IMapEntry)
+ if(o instanceof IPersistentVector)
{
- IMapEntry e = (IMapEntry) o;
- return assoc(e.key(), e.val());
+ IPersistentVector v = (IPersistentVector) o;
+ if(v.count() != 2)
+ throw new IllegalArgumentException("Vector arg to map conj must be a pair");
+ return assoc(v.nth(0), v.nth(1));
}
IPersistentMap ret = this;