Iβm not sure exactly whatβs going on, but Iβve seen this popping up sometimes when evaluating CLJS expressions:
:repl-tooling.repl-client.clojure/ignore-nextnil
poc.core.main=> :repl-tooling.repl-client.clojure/ignore-next"[G__368 :result \"nil\"]"
:repl-tooling.repl-client.clojure/ignore-nextnil
poc.core.main=>
(This is when evaluating (println *clojurescript-version*)
)
Okay, I'll look at it. I think I know what the problem is...
I've just published a new version of Chlorine, with support for multiple REPLs. There's now a new command, "Connect Socket REPL", that will connect into any REPL and try to discover what is the current environment. Unfortunately... sometimes Clojure doesn't connect with this command (I kept the old "Connect Clojure Socket REPL", so things still work with Clojure). I'm investigating why π
i was able to connect and use the new connect socket repl command successfully :thumbsup: one thing i noticed was a possible difficulty with :refer-clojure :exclude -- or may be i'm just doing something wrong π as an example, consider clj-kondo's source: * start a socket repl for clj-kondo β’ open folder... with clj-kondo's source β’ view src/clj_kondo/core.clj β’ connect to the appropriate socket repl by: Chlorine: Connect Socket Repl β’ load the file with: Chlorine: Load File β’ navigate down to near the bottom of the editor tab for core.clj, inside the (comment ...) β’ select the form:
(def res (run!
{;; seq of string or file
:files ["corpus" (io/file "test")]
:config {:linters {:invalid-arity {:level :off}}}
;; :cache takes a string, file or boolean
:cache (io/file "/tmp/clj-kondo-cache")
;; only relevant when linting stdin
:lang :clj}))
β’ evaluate the selection with: Chlorine: Evaluate Selection
β’ this gives me:
clojure.lang.ArityException: "Wrong number of args (1) passed to: clojure.core/run!"
in clojure.lang.AFn.throwArity (AFn.java:429)
in clojure.lang.AFn.invoke (AFn.java:32)
in clojure.lang.AFn.applyToHelper (AFn.java:154)
in clojure.lang.AFn.applyTo (AFn.java:144)
in clojure.lang.Compiler$InvokeExpr.eval (Compiler.java:3702)
in clojure.lang.Compiler$DefExpr.eval (Compiler.java:457)
in clojure.lang.Compiler.eval (Compiler.java:7182)
in
...
Does this issue happens if you use the old way to connect to REPL?
(also, I just published the 0.3.1 version which fixes the issue with the connection to Clojure)
will try with the old way i just pulled again and am builiding -- should i try the official release instead?
with the old method of connection, i get "Can't load file for this kind of REPL" for "Chlorine: Load File"
i'm trying with the official release now
for load file i get: "WARNING: run! already refers to: #'clojure.core/run! in namespace: clj-kondo.core, being replaced by: #'clj-kondo.core/run!"
Please, can you try with the old release (0.2.2)?
(seriously, Atom could have a "beta channel" for packages, it would help a lot!)
ok, i did apm install chlorine@0.2.2
and now loading via the old method works and eval selection gives the same error
Okay, sΓ³ at least the error is consistent π
I'll fix the load file on the old code, and publish a new version