summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/clj/clojure/main.clj7
1 files changed, 6 insertions, 1 deletions
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))