Skip to content

Commit 870d873

Browse files
anmonteiroswannodette
authored andcommitted
CLJS-2299: Failure with alias and bad require of clojure.spec
1 parent 4f8dde5 commit 870d873

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/main/clojure/cljs/repl.cljc

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -464,6 +464,7 @@
464464
:source-form form}
465465
:repl-env repl-env})
466466
def-emits-var (:def-emits-var opts)
467+
backup-comp @env/*compiler*
467468
->ast (fn [form]
468469
(binding [ana/*analyze-deps* false]
469470
(ana/analyze (assoc env :def-emits-var def-emits-var)
@@ -503,7 +504,11 @@
503504
;; NOTE: means macros which expand to ns aren't supported for now
504505
;; when eval'ing individual forms at the REPL - David
505506
(when (#{:ns :ns*} (:op ast))
506-
(let [ast (ana/no-warn (ana/analyze env form nil opts))]
507+
(let [ast (try
508+
(ana/no-warn (ana/analyze env form nil opts))
509+
(catch #?(:clj Exception :cljs js/Error) e
510+
(reset! env/*compiler* backup-comp)
511+
(throw e)))]
507512
(load-dependencies repl-env
508513
(into (vals (:requires ast))
509514
(distinct (vals (:uses ast))))

0 commit comments

Comments
 (0)