diff options
-rw-r--r-- | src/clj/clojure/pprint/pprint_base.clj | 2 | ||||
-rw-r--r-- | src/clj/clojure/pprint/pretty_writer.clj | 6 |
2 files changed, 5 insertions, 3 deletions
diff --git a/src/clj/clojure/pprint/pprint_base.clj b/src/clj/clojure/pprint/pprint_base.clj index 9c82fa69..4be9ac51 100644 --- a/src/clj/clojure/pprint/pprint_base.clj +++ b/src/clj/clojure/pprint/pprint_base.clj @@ -249,7 +249,7 @@ print the object to the currently bound value of *out*." (binding-map (if (or (not (= *print-base* 10)) *print-radix*) {#'pr pr-with-base} {}) (write-out object))) (if (not (= 0 (get-column *out*))) - (.write *out* (int \newline)))))) + (prn))))) (defmacro pp "A convenience macro that pretty prints the last thing output. This is diff --git a/src/clj/clojure/pprint/pretty_writer.clj b/src/clj/clojure/pprint/pretty_writer.clj index 551e668a..8b6aba4c 100644 --- a/src/clj/clojure/pprint/pretty_writer.clj +++ b/src/clj/clojure/pprint/pretty_writer.clj @@ -96,6 +96,8 @@ ;;; Functions to write tokens in the output buffer ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +(def ^:private pp-newline (memoize #(System/getProperty "line.separator"))) + (declare emit-nl) (defmulti ^{:private true} write-token #(:type-tag %2)) @@ -223,7 +225,7 @@ (recur (:parent lb))))))) (defn- emit-nl [^Writer this nl] - (.write (getf :base) (int \newline)) + (.write (getf :base) (pp-newline)) (dosync (setf :trailing-white-space nil)) (let [lb (:logical-block nl) ^String prefix (:per-line-prefix lb)] @@ -339,7 +341,7 @@ (.write (getf :base) (int \newline)) (doseq [^String l (next (butlast lines))] (.write (getf :base) l) - (.write (getf :base) (int \newline)) + (.write (getf :base) (pp-newline)) (if prefix (.write (getf :base) prefix))) (setf :buffering :writing) |