类似于CLJ-2463,但针对ClojureScript。
使用{{950032dba300451835c4c7c2a0c1c74ca6d0b49a}}进行重现,截止至2019年1月25日以下是master分支的内容。
理想情况下,应该只是打印一条简短的错误消息,就像你在REPL中看到的那样
cljs.user=> :::a
语法错误,读取源代码时在(REPL:1)。
<NO_SOURCE_FILE> [行 1,列 5] 无效关键词: :::a。
重现
clj -Sdeps '{:deps {org.clojure/clojurescript {:git/url "
https://github.com/clojure/clojurescript" :sha "950032dba300451835c4c7c2a0c1c74ca6d0b49a"}}}' -m cljs.main -e :::a
主线程中发生异常 clojure.lang.ExceptionInfo: [行 1,列 5] 无效关键词: :::a. {:type :reader-exception, :ex-kind :reader-error, :file nil, :line 1, :col 5}
at clojure.tools.reader.impl.errors$throw_ex.invokeStatic(errors.clj:34)
at clojure.tools.reader.impl.errors$throw_ex.doInvoke(errors.clj:24)
at clojure.lang.RestFn.invoke(RestFn.java:442)
at clojure.tools.reader.impl.errors$reader_error.invokeStatic(errors.clj:40)
at clojure.tools.reader.impl.errors$reader_error.doInvoke(errors.clj:36)
at clojure.lang.RestFn.invoke(RestFn.java:516)
at clojure.tools.reader.impl.errors$throw_invalid.invokeStatic(errors.clj:97)
at clojure.tools.reader.impl.errors$throw_invalid.invoke(errors.clj:96)
at clojure.tools.reader$read_keyword.invokeStatic(reader.clj:360)
at clojure.tools.reader$read_keyword.invoke(reader.clj:343)
at clojure.tools.reader$read_STAR_.invokeStatic(reader.clj:924)
at clojure.tools.reader$read_STAR_.invoke(reader.clj:906)
at clojure.tools.reader$read.invokeStatic(reader.clj:977)
at clojure.tools.reader$read.invoke(reader.clj:950)
at cljs.analyzer$forms_seq_STAR_$forms_seq___3646$fn__3647$fn__3648.invoke(analyzer.cljc:4189)
at cljs.analyzer$forms_seq_STAR_$forms_seq___3646$fn__3647.invoke(analyzer.cljc:4182)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
at clojure.lang.LazySeq.seq(LazySeq.java:51)
at clojure.lang.RT.seq(RT.java:531)
at clojure.core$seq__5387.invokeStatic(core.clj:137)
at clojure.core$seq__5387.invoke(core.clj:137)
at cljs.repl$run_inits$fn__9013.invoke(repl.cljc:1009)
at cljs.repl$run_inits.invokeStatic(repl.cljc:1008)
at cljs.repl$run_inits.invoke(repl.cljc:1001)
at cljs.cli$default_main$fn__9420.invoke(cli.clj:368)
at cljs.compiler$with_core_cljs.invokeStatic(compiler.cljc:1417)
at cljs.compiler$with_core_cljs.invoke(compiler.cljc:1406)
at cljs.compiler.api$with_core_cljs.invokeStatic(api.clj:50)
at cljs.compiler.api$with_core_cljs.invoke(api.clj:34)
at cljs.compiler.api$with_core_cljs.invokeStatic(api.clj:42)
at cljs.compiler.api$with_core_cljs.invoke(api.clj:34)
at cljs.cli$default_main.invokeStatic(cli.clj:353)
at cljs.cli$default_main.invoke(cli.clj:326)
at cljs.cli$null_opt.invokeStatic(cli.clj:424)
at cljs.cli$null_opt.invoke(cli.clj:421)
在 cljs.cli$main.invokeStatic(cli.clj:648)
在 cljs.cli$main.doInvoke(cli.clj:637)
在 clojure.lang.RestFn.applyTo(RestFn.java:139)
在 clojure.core$apply.invokeStatic(core.clj:667)
在 clojure.core$apply.invoke(core.clj:660)
在 cljs.main$_main.invokeStatic(main.clj:61)
在 cljs.main$_main.doInvoke(main.clj:52)
在 clojure.lang.RestFn.applyTo(RestFn.java:137)
在 clojure.lang.Var.applyTo(Var.java:705)
在 clojure.core$apply.invokeStatic(core.clj:665)
在 clojure.main$main_opt.invokeStatic(main.clj:491)
在 clojure.main$main_opt.invoke(main.clj:487)
在 clojure.main$main.invokeStatic(main.clj:598)
在 clojure.main$main.doInvoke(main.clj:561)
在 clojure.lang.RestFn.applyTo(RestFn.java:137)
在 clojure.lang.Var.applyTo(Var.java:705)
在 clojure.main.main(main.java:37)