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.java9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/jvm/clojure/lang/APersistentMap.java b/src/jvm/clojure/lang/APersistentMap.java
index f43247c6..8e00853f 100644
--- a/src/jvm/clojure/lang/APersistentMap.java
+++ b/src/jvm/clojure/lang/APersistentMap.java
@@ -23,8 +23,13 @@ protected APersistentMap(){
}
public IPersistentCollection cons(Object o){
- IMapEntry e = (IMapEntry) o;
- return assoc(e.key(), e.val());
+ IPersistentMap ret = this;
+ for(ISeq es = RT.seq(o); es != null; es = es.rest())
+ {
+ IMapEntry e = (IMapEntry) es.first();
+ ret = ret.assoc(e.key(), e.val());
+ }
+ return ret;
}
public boolean equals(Object obj){