summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/clj/clojure/core.clj4
-rw-r--r--src/clj/clojure/main.clj7
2 files changed, 8 insertions, 3 deletions
diff --git a/src/clj/clojure/core.clj b/src/clj/clojure/core.clj
index 70d83348..4c466c56 100644
--- a/src/clj/clojure/core.clj
+++ b/src/clj/clojure/core.clj
@@ -5334,9 +5334,9 @@
(if-let [s (seq coll)]
(reduce f (first s) (next s))
(f)))
- ([f start coll]
+ ([f val coll]
(let [s (seq coll)]
- (clojure.core.protocols/internal-reduce s f start))))
+ (clojure.core.protocols/internal-reduce s f val))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; futures (needs proxy);;;;;;;;;;;;;;;;;;
(defn future-call
diff --git a/src/clj/clojure/main.clj b/src/clj/clojure/main.clj
index 1af45bf8..e607440c 100644
--- a/src/clj/clojure/main.clj
+++ b/src/clj/clojure/main.clj
@@ -198,7 +198,12 @@
(prompt)
(flush)
(loop []
- (when-not (= (read-eval-print) request-exit)
+ (when-not
+ (try (= (read-eval-print) request-exit)
+ (catch Throwable e
+ (caught e)
+ (set! *e e)
+ nil))
(when (need-prompt)
(prompt)
(flush))