From 1f6a759a7fe92f13925726ace9f6f3e06a7be4d2 Mon Sep 17 00:00:00 2001 From: David Powell Date: Sat, 17 Apr 2010 12:30:27 +0100 Subject: [PATCH] fix newline to use newline sequence appropriate for the platform; added *line-separator* var to allow the default to be customized --- src/clj/clojure/core.clj | 7 ++++++- src/clj/clojure/main.clj | 1 + 2 files changed, 7 insertions(+), 1 deletions(-) diff --git a/src/clj/clojure/core.clj b/src/clj/clojure/core.clj index cb2f1d2..6914706 100644 --- a/src/clj/clojure/core.clj +++ b/src/clj/clojure/core.clj @@ -2460,11 +2460,16 @@ (. *out* (append \space)) (apply pr more))) +(def + #^{:tag String + :doc "String representing the line-separator used by (newline), defaults to platform-specific newline sequence"} + *line-separator* (System/getProperty "line.separator")) + (defn newline "Writes a newline to the output stream that is the current value of *out*" [] - (. *out* (append \newline)) + (. *out* (append *line-separator*)) nil) (defn flush diff --git a/src/clj/clojure/main.clj b/src/clj/clojure/main.clj index 6f08c6f..c6b7266 100644 --- a/src/clj/clojure/main.clj +++ b/src/clj/clojure/main.clj @@ -29,6 +29,7 @@ *print-meta* *print-meta* *print-length* *print-length* *print-level* *print-level* + *line-separator* *line-separator* *compile-path* (System/getProperty "clojure.compile.path" "classes") *command-line-args* *command-line-args* *assert* *assert* -- 1.6.5.1.1367.gcd48