diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/boot.clj | 11 | ||||
-rw-r--r-- | src/jvm/clojure/lang/LineNumberingPushbackReader.java | 5 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/boot.clj b/src/boot.clj index 0ac2383b..891dabfd 100644 --- a/src/boot.clj +++ b/src/boot.clj @@ -1320,6 +1320,13 @@ make-proxy [classes method-map] (. *out* (append \newline)) nil) +(defn flush + "Flushes the output stream that is the current value of + *out*" + [] + (. *out* (flush)) + nil) + (defn prn "Same as pr followed by (newline)" [& more] @@ -1353,6 +1360,10 @@ make-proxy [classes method-map] ([stream eof-error? eof-value recursive?] (. clojure.lang.LispReader (read stream eof-error? eof-value recursive?)))) +(defn read-line + "Reads the next line from stream that is the current value of *in* ." + [] (. *in* (readLine))) + (defmacro with-open "Evaluates body in a try expression with name bound to the value of init, and a finally clause that calls (. name (close))." diff --git a/src/jvm/clojure/lang/LineNumberingPushbackReader.java b/src/jvm/clojure/lang/LineNumberingPushbackReader.java index 5b2bca06..652e3a30 100644 --- a/src/jvm/clojure/lang/LineNumberingPushbackReader.java +++ b/src/jvm/clojure/lang/LineNumberingPushbackReader.java @@ -13,6 +13,7 @@ package clojure.lang; import java.io.PushbackReader;
import java.io.Reader;
import java.io.LineNumberReader;
+import java.io.IOException;
public class LineNumberingPushbackReader extends PushbackReader{
@@ -24,4 +25,8 @@ public LineNumberingPushbackReader(Reader r){ public int getLineNumber(){
return ((LineNumberReader) in).getLineNumber() + 1;
}
+
+public String readLine() throws IOException{
+ return ((LineNumberReader)in).readLine();
+}
}
|