File tree Expand file tree Collapse file tree 1 file changed +9
-5
lines changed Expand file tree Collapse file tree 1 file changed +9
-5
lines changed Original file line number Diff line number Diff line change @@ -12603,15 +12603,19 @@ reduces them without incurring seq initialization"
1260312603 (let [k (if-not (keyword? k) k (keyword->obj-map-key k))]
1260412604 (if (string? k)
1260512605 (if-not (nil? (scan-array 1 k strkeys))
12606- (let [new-strobj (obj-clone strobj strkeys)]
12607- (gobject/set new-strobj k v)
12608- (ObjMap. meta strkeys new-strobj nil )) ; overwrite
12609- (let [new-strobj (obj-clone strobj strkeys) ; append
12606+ (if (identical? v (gobject/get strobj k))
12607+ coll
12608+ ; ; overwrite
12609+ (let [new-strobj (obj-clone strobj strkeys)]
12610+ (gobject/set new-strobj k v)
12611+ (ObjMap. meta strkeys new-strobj nil )))
12612+ ; ; append
12613+ (let [new-strobj (obj-clone strobj strkeys)
1261012614 new-keys (aclone strkeys)]
1261112615 (gobject/set new-strobj k v)
1261212616 (.push new-keys k)
1261312617 (ObjMap. meta new-keys new-strobj nil )))
12614- ; non-string key. game over.
12618+ ; ; non-string key. game over.
1261512619 (-with-meta
1261612620 (-kv-reduce coll
1261712621 (fn [ret k v]
You can’t perform that action at this time.
0 commit comments