diff options
author | Rich Hickey <richhickey@gmail.com> | 2007-09-15 22:12:10 +0000 |
---|---|---|
committer | Rich Hickey <richhickey@gmail.com> | 2007-09-15 22:12:10 +0000 |
commit | 13fa4de7e9a7764326626cc7bc3d135e3fd8bc93 (patch) | |
tree | 1d5644665065da3720bdb477afcb9289b38f9957 /src | |
parent | ae704ada24e998ac243b207798b310675dc728bb (diff) |
maps cons maps
Diffstat (limited to 'src')
-rw-r--r-- | src/jvm/clojure/lang/APersistentMap.java | 9 |
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){
|