summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRich Hickey <richhickey@gmail.com>2008-06-29 21:22:29 +0000
committerRich Hickey <richhickey@gmail.com>2008-06-29 21:22:29 +0000
commit364476bded5679fcbe6f5be768d144dbe1d625d1 (patch)
tree5f04db4d8ddc15b6744d5d0a155d2c9fea5aa357 /src
parentcda1fcb67d0b9c5b68c460e46876a9ac617e6b94 (diff)
added *flush-on-newline*
Diffstat (limited to 'src')
-rw-r--r--src/boot.clj6
-rw-r--r--src/jvm/clojure/lang/RT.java1
2 files changed, 5 insertions, 2 deletions
diff --git a/src/boot.clj b/src/boot.clj
index 312d4e9b..bcf85744 100644
--- a/src/boot.clj
+++ b/src/boot.clj
@@ -1437,10 +1437,12 @@ not-every? (comp not every?))
nil)
(defn prn
- "Same as pr followed by (newline)"
+ "Same as pr followed by (newline). Observes *flush-on-newline*"
[& more]
(apply pr more)
- (newline))
+ (newline)
+ (when *flush-on-newline*
+ (flush)))
(defn print
"Prints the object(s) to the output stream that is the current value
diff --git a/src/jvm/clojure/lang/RT.java b/src/jvm/clojure/lang/RT.java
index 4852b8ca..cba00ec0 100644
--- a/src/jvm/clojure/lang/RT.java
+++ b/src/jvm/clojure/lang/RT.java
@@ -137,6 +137,7 @@ final static Var CMD_LINE_ARGS = Var.intern(CLOJURE_NS, Symbol.create("*command-
final public static Var CURRENT_NS = Var.intern(CLOJURE_NS, Symbol.create("*ns*"),
CLOJURE_NS);
+final static Var FLUSH_ON_NEWLINE = Var.intern(CLOJURE_NS, Symbol.create("*flush-on-newline*"), T);
final static Var PRINT_META = Var.intern(CLOJURE_NS, Symbol.create("*print-meta*"), F);
final static Var PRINT_READABLY = Var.intern(CLOJURE_NS, Symbol.create("*print-readably*"), T);
final static Var WARN_ON_REFLECTION = Var.intern(CLOJURE_NS, Symbol.create("*warn-on-reflection*"), F);