| 
267 | 267 |   "Returns true if x is not nil, false otherwise."  | 
268 | 268 |   [x] (not (nil? x)))  | 
269 | 269 | 
 
  | 
 | 270 | +(defn- pr-opts-fnl [opts]  | 
 | 271 | +  (if-not (nil? opts)  | 
 | 272 | +    (:flush-on-newline opts)  | 
 | 273 | +    *flush-on-newline*))  | 
 | 274 | + | 
 | 275 | +(defn- pr-opts-readably [opts]  | 
 | 276 | +  (if-not (nil? opts)  | 
 | 277 | +    (:readably opts)  | 
 | 278 | +    *print-readably*))  | 
 | 279 | + | 
 | 280 | +(defn- pr-opts-meta [opts]  | 
 | 281 | +  (if-not (nil? opts)  | 
 | 282 | +    (:meta opts)  | 
 | 283 | +    *print-meta*))  | 
 | 284 | + | 
 | 285 | +(defn- pr-opts-dup [opts]  | 
 | 286 | +  (if-not (nil? opts)  | 
 | 287 | +    (:dup opts)  | 
 | 288 | +    *print-dup*))  | 
 | 289 | + | 
 | 290 | +(defn- pr-opts-len [opts]  | 
 | 291 | +  (if-not (nil? opts)  | 
 | 292 | +    (:print-length opts)  | 
 | 293 | +    *print-length*))  | 
 | 294 | + | 
270 | 295 | (defn object?  | 
271 | 296 |   "Returns true if x's constructor is Object"  | 
272 | 297 |   [x]  | 
 | 
907 | 932 |   [^not-native obj]  | 
908 | 933 |   (let [sb (StringBuffer.)  | 
909 | 934 |         writer (StringBufferWriter. sb)]  | 
910 |  | -    (-pr-writer obj writer (pr-opts))  | 
 | 935 | +    (-pr-writer obj writer nil)  | 
911 | 936 |     (-flush writer)  | 
912 | 937 |     (.toString sb)))  | 
913 | 938 | 
 
  | 
@@ -10464,13 +10489,13 @@ reduces them without incurring seq initialization"  | 
10464 | 10489 |       (-write writer "#")  | 
10465 | 10490 |       (do  | 
10466 | 10491 |         (-write writer begin)  | 
10467 |  | -        (if (zero? (:print-length opts))  | 
 | 10492 | +        (if (zero? (pr-opts-len opts))  | 
10468 | 10493 |           (when (seq coll)  | 
10469 | 10494 |             (-write writer (or (:more-marker opts) "...")))  | 
10470 | 10495 |           (do  | 
10471 | 10496 |             (when (seq coll)  | 
10472 | 10497 |               (print-one (first coll) writer opts))  | 
10473 |  | -            (loop [coll (next coll) n (dec (:print-length opts))]  | 
 | 10498 | +            (loop [coll (next coll) n (dec (pr-opts-len opts))]  | 
10474 | 10499 |               (if (and coll (or (nil? n) (not (zero? n))))  | 
10475 | 10500 |                 (do  | 
10476 | 10501 |                   (-write writer sep)  | 
@@ -10514,7 +10539,7 @@ reduces them without incurring seq initialization"  | 
10514 | 10539 | (declare print-map)  | 
10515 | 10540 | 
 
  | 
10516 | 10541 | (defn print-meta? [opts obj]  | 
10517 |  | -  (and (boolean (get opts :meta))  | 
 | 10542 | +  (and (boolean (pr-opts-meta opts))  | 
10518 | 10543 |        (implements? IMeta obj)  | 
10519 | 10544 |        (not (nil? (meta obj)))))  | 
10520 | 10545 | 
 
  | 
@@ -10567,7 +10592,7 @@ reduces them without incurring seq initialization"  | 
10567 | 10592 |         (pr-sequential-writer writer pr-writer "#js [" " " "]" opts obj)  | 
10568 | 10593 | 
 
  | 
10569 | 10594 |         (string? obj)  | 
10570 |  | -        (if (:readably opts)  | 
 | 10595 | +        (if (pr-opts-readably opts)  | 
10571 | 10596 |           (-write writer (quote-string obj))  | 
10572 | 10597 |           (-write writer obj))  | 
10573 | 10598 | 
 
  | 
@@ -10666,57 +10691,61 @@ reduces them without incurring seq initialization"  | 
10666 | 10691 |   ([] (newline nil))  | 
10667 | 10692 |   ([opts]  | 
10668 | 10693 |    (string-print "\n")  | 
10669 |  | -   (when (get opts :flush-on-newline)  | 
 | 10694 | +   (when (pr-opts-fnl opts)  | 
10670 | 10695 |      (flush))))  | 
10671 | 10696 | 
 
  | 
10672 | 10697 | (defn pr-str  | 
10673 | 10698 |   "pr to a string, returning it. Fundamental entrypoint to IPrintWithWriter."  | 
10674 | 10699 |   [& objs]  | 
10675 |  | -  (pr-str-with-opts objs (pr-opts)))  | 
 | 10700 | +  (pr-str-with-opts objs nil))  | 
10676 | 10701 | 
 
  | 
10677 | 10702 | (defn prn-str  | 
10678 | 10703 |   "Same as pr-str followed by (newline)"  | 
10679 | 10704 |   [& objs]  | 
10680 |  | -  (prn-str-with-opts objs (pr-opts)))  | 
 | 10705 | +  (prn-str-with-opts objs nil))  | 
10681 | 10706 | 
 
  | 
10682 | 10707 | (defn pr  | 
10683 | 10708 |   "Prints the object(s) using string-print.  Prints the  | 
10684 | 10709 |   object(s), separated by spaces if there is more than one.  | 
10685 | 10710 |   By default, pr and prn print in a way that objects can be  | 
10686 | 10711 |   read by the reader"  | 
10687 | 10712 |   [& objs]  | 
10688 |  | -  (pr-with-opts objs (pr-opts)))  | 
 | 10713 | +  (pr-with-opts objs nil))  | 
10689 | 10714 | 
 
  | 
10690 | 10715 | (def ^{:doc  | 
10691 | 10716 |   "Prints the object(s) using string-print.  | 
10692 | 10717 |   print and println produce output for human consumption."}  | 
10693 | 10718 |   print  | 
10694 | 10719 |   (fn cljs-core-print [& objs]  | 
10695 |  | -    (pr-with-opts objs (assoc (pr-opts) :readably false))))  | 
 | 10720 | +    (binding [*print-readably* false]  | 
 | 10721 | +      (pr-with-opts objs nil))))  | 
10696 | 10722 | 
 
  | 
10697 | 10723 | (defn print-str  | 
10698 | 10724 |   "print to a string, returning it"  | 
10699 | 10725 |   [& objs]  | 
10700 |  | -  (pr-str-with-opts objs (assoc (pr-opts) :readably false)))  | 
 | 10726 | +  (binding [*print-readably* false]  | 
 | 10727 | +    (pr-str-with-opts objs nil)))  | 
10701 | 10728 | 
 
  | 
10702 | 10729 | (defn println  | 
10703 | 10730 |   "Same as print followed by (newline)"  | 
10704 | 10731 |   [& objs]  | 
10705 |  | -  (pr-with-opts objs (assoc (pr-opts) :readably false))  | 
 | 10732 | +  (binding [*print-readably* false]  | 
 | 10733 | +    (pr-with-opts objs nil))  | 
10706 | 10734 |   (when *print-newline*  | 
10707 |  | -    (newline (pr-opts))))  | 
 | 10735 | +    (newline nil)))  | 
10708 | 10736 | 
 
  | 
10709 | 10737 | (defn println-str  | 
10710 | 10738 |   "println to a string, returning it"  | 
10711 | 10739 |   [& objs]  | 
10712 |  | -  (prn-str-with-opts objs (assoc (pr-opts) :readably false)))  | 
 | 10740 | +  (binding [*print-readably* false]  | 
 | 10741 | +    (prn-str-with-opts objs nil)))  | 
10713 | 10742 | 
 
  | 
10714 | 10743 | (defn prn  | 
10715 | 10744 |   "Same as pr followed by (newline)."  | 
10716 | 10745 |   [& objs]  | 
10717 |  | -  (pr-with-opts objs (pr-opts))  | 
 | 10746 | +  (pr-with-opts objs nil)  | 
10718 | 10747 |   (when *print-newline*  | 
10719 |  | -    (newline (pr-opts))))  | 
 | 10748 | +    (newline nil)))  | 
10720 | 10749 | 
 
  | 
10721 | 10750 | (defn- strip-ns  | 
10722 | 10751 |   [named]  | 
 | 
0 commit comments