ccw-ide / ccw

Counterclockwise is an Eclipse plugin helping developers write Clojure code
https://github.com/laurentpetit/ccw/wiki/GoogleCodeHome
Eclipse Public License 1.0
220 stars 50 forks source link

Issue launching REPL with Clojue 1.9.0-alpha10 and above #878

Open mikera opened 7 years ago

mikera commented 7 years ago

There seems to be a problem preventing CCW REPL from launching in alpha10 (works on alpha9)

Problem appears to be related to spec validation

Exception in thread "main" java.lang.IllegalArgumentException: Call to clojure.core/defn did not conform to spec:
:clojure.spec/args  (completions* "Return a sequence of matching completions given a prefix string \n   and an optional current namespace." ([prefix] (completions* prefix *ns*)) ([prefix ns & {:keys #{filter}, :or {filter ccw.debug.serverrepl/starts-with-filter}}] (for [[kind completions] (potential-completions prefix ns) [match-symbol match-object :as completion] completions :let [f (filter-completion (name match-symbol) prefix filter)] :when f] {:kind kind, :completion match-symbol, :match match-object, :filter f})))
, compiling:(ccw/debug/serverrepl.clj:443:1)
    at clojure.lang.Compiler.macroexpand1(Compiler.java:6795)
    at clojure.lang.Compiler.macroexpand(Compiler.java:6861)
    at clojure.lang.Compiler.eval(Compiler.java:6935)
    at clojure.lang.Compiler.load(Compiler.java:7403)
    at clojure.lang.RT.loadResourceScript(RT.java:374)
    at clojure.lang.RT.loadResourceScript(RT.java:365)
    at clojure.lang.RT.load(RT.java:455)
    at clojure.lang.RT.load(RT.java:421)
    at clojure.core$load$fn__7645.invoke(core.clj:6008)
    at clojure.core$load.invokeStatic(core.clj:6007)
    at clojure.core$load.doInvoke(core.clj:5991)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.core$load_one.invokeStatic(core.clj:5812)
    at clojure.core$load_one.invoke(core.clj:5807)
    at clojure.core$load_lib$fn__7590.invoke(core.clj:5852)
    at clojure.core$load_lib.invokeStatic(core.clj:5851)
    at clojure.core$load_lib.doInvoke(core.clj:5832)
    at clojure.lang.RestFn.applyTo(RestFn.java:142)
    at clojure.core$apply.invokeStatic(core.clj:659)
    at clojure.core$load_libs.invokeStatic(core.clj:5889)
    at clojure.core$load_libs.doInvoke(core.clj:5873)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invokeStatic(core.clj:659)
    at clojure.core$require.invokeStatic(core.clj:5911)
    at clojure.core$require.doInvoke(core.clj:5911)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at user$eval8234.invokeStatic(form-init7270337439560009533.clj:1)
    at user$eval8234.invoke(form-init7270337439560009533.clj:1)
    at clojure.lang.Compiler.eval(Compiler.java:6951)
    at clojure.lang.Compiler.eval(Compiler.java:6940)
    at clojure.lang.Compiler.eval(Compiler.java:6941)
    at clojure.lang.Compiler.load(Compiler.java:7403)
    at clojure.lang.Compiler.loadFile(Compiler.java:7341)
    at clojure.main$load_script.invokeStatic(main.clj:276)
    at clojure.main$init_opt.invokeStatic(main.clj:278)
    at clojure.main$init_opt.invoke(main.clj:278)
    at clojure.main$initialize.invokeStatic(main.clj:309)
    at clojure.main$null_opt.invokeStatic(main.clj:343)
    at clojure.main$null_opt.invoke(main.clj:340)
    at clojure.main$main.invokeStatic(main.clj:422)
    at clojure.main$main.doInvoke(main.clj:385)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.lang.Var.applyTo(Var.java:700)
    at clojure.main.main(main.java:37)
Caused by: java.lang.IllegalArgumentException: Call to clojure.core/defn did not conform to spec:
:clojure.spec/args  (completions* "Return a sequence of matching completions given a prefix string \n   and an optional current namespace." ([prefix] (completions* prefix *ns*)) ([prefix ns & {:keys #{filter}, :or {filter ccw.debug.serverrepl/starts-with-filter}}] (for [[kind completions] (potential-completions prefix ns) [match-symbol match-object :as completion] completions :let [f (filter-completion (name match-symbol) prefix filter)] :when f] {:kind kind, :completion match-symbol, :match match-object, :filter f})))

    at clojure.spec$macroexpand_check.invokeStatic(spec.clj:627)
    at clojure.spec$macroexpand_check.invoke(spec.clj:616)
    at clojure.lang.AFn.applyToHelper(AFn.java:156)
    at clojure.lang.AFn.applyTo(AFn.java:144)
    at clojure.lang.Var.applyTo(Var.java:700)
    at clojure.lang.Compiler.macroexpand1(Compiler.java:6789)
    ... 43 more
cgrand commented 7 years ago

Fixed there https://github.com/laurentpetit/ccw.server/commit/3a4650e66580bb519ae93dac20dc0a7f5b873d9c @laurentpetit do you know why the new release doesn't show up in Eclipse?