summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Hagelberg <technomancy@gmail.com>2010-04-16 21:44:22 -0700
committerStuart Halloway <stu@thinkrelevance.com>2010-04-20 22:08:31 -0400
commit95faca8a942b0b95d9b8b896238802849d547a46 (patch)
tree3fe809a1c610a2cba3653567fa86ad89edad4db4
parent084e5604710eb16df43ad529adabf18f40795bf9 (diff)
Allow code run with clojure.main -e to use *in*. Fixes #299.
Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>
-rw-r--r--src/clj/clojure/main.clj8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/clj/clojure/main.clj b/src/clj/clojure/main.clj
index 6f08c6f0..c715ea8d 100644
--- a/src/clj/clojure/main.clj
+++ b/src/clj/clojure/main.clj
@@ -220,14 +220,14 @@
(defn- eval-opt
"Evals expressions in str, prints each non-nil result using prn"
[str]
- (let [eof (Object.)]
- (with-in-str str
- (loop [input (read *in* false eof)]
+ (let [eof (Object.)
+ reader (LineNumberingPushbackReader. (java.io.StringReader. str))]
+ (loop [input (read reader false eof)]
(when-not (= input eof)
(let [value (eval input)]
(when-not (nil? value)
(prn value))
- (recur (read *in* false eof))))))))
+ (recur (read reader false eof)))))))
(defn- init-dispatch
"Returns the handler associated with an init opt"