@@ -10347,8 +10347,10 @@ reduces them without incurring seq initialization"
10347
10347
(-write writer end)))))
10348
10348
10349
10349
(defn write-all [writer & ss]
10350
- (doseq [s ss]
10351
- (-write writer s)))
10350
+ (loop [ss (seq ss)]
10351
+ (when-not (nil? ss)
10352
+ (-write writer (first ss))
10353
+ (recur (next ss)))))
10352
10354
10353
10355
(defn string-print [x]
10354
10356
(when (nil? *print-fn*)
@@ -10509,9 +10511,11 @@ reduces them without incurring seq initialization"
10509
10511
10510
10512
(defn pr-seq-writer [objs writer opts]
10511
10513
(pr-writer (first objs) writer opts)
10512
- (doseq [obj (next objs)]
10513
- (-write writer " " )
10514
- (pr-writer obj writer opts)))
10514
+ (loop [objs (next objs)]
10515
+ (when-not (nil? objs)
10516
+ (-write writer " " )
10517
+ (pr-writer (first objs) writer opts)
10518
+ (recur (next objs)))))
10515
10519
10516
10520
(defn- pr-sb-with-opts [objs opts]
10517
10521
(let [sb (StringBuffer. )
@@ -12402,6 +12406,12 @@ reduces them without incurring seq initialization"
12402
12406
[k]
12403
12407
(str " \u FDD0" " '" (. k -fqn)))
12404
12408
12409
+ (defn- obj-map-key->keyword
12410
+ [k]
12411
+ (if (.startsWith k " \u FDD0" )
12412
+ (keyword (.substring k 2 (. k -length)))
12413
+ k))
12414
+
12405
12415
(deftype ObjMap [meta keys strobj ^:mutable __hash]
12406
12416
IWithMeta
12407
12417
(-with-meta [coll meta] (ObjMap. meta keys strobj __hash))
@@ -12429,7 +12439,7 @@ reduces them without incurring seq initialization"
12429
12439
(when (pos? (alength keys))
12430
12440
(prim-seq
12431
12441
(.map (.sort keys obj-map-compare-keys)
12432
- #(simple-map-entry % (unchecked-get strobj %))))))
12442
+ #(simple-map-entry ( obj-map-key->keyword %) (unchecked-get strobj %))))))
12433
12443
12434
12444
ICounted
12435
12445
(-count [coll] (alength keys))
@@ -12484,7 +12494,7 @@ reduces them without incurring seq initialization"
12484
12494
init init]
12485
12495
(if (seq keys)
12486
12496
(let [k (first keys)
12487
- init (f init k (unchecked-get strobj k))]
12497
+ init (f init ( obj-map-key->keyword k) (unchecked-get strobj k))]
12488
12498
(if (reduced? init)
12489
12499
@init
12490
12500
(recur (rest keys) init)))
@@ -12494,7 +12504,7 @@ reduces them without incurring seq initialization"
12494
12504
(-dissoc [coll k]
12495
12505
(let [k (if-not (keyword? k) k (keyword->obj-map-key k))]
12496
12506
(if (and (string? k)
12497
- (not (nil? (scan-array 1 k keys))))
12507
+ (not (nil? (scan-array 1 k keys))))
12498
12508
(let [new-keys (aclone keys)
12499
12509
new-strobj (obj-clone strobj keys)]
12500
12510
(.splice new-keys (scan-array 1 k new-keys) 1 )
0 commit comments