Fork me on GitHub
Jan K15:10:31

Seems like vim-fireplace has some issues with Clojure 1.10.0-beta4 😞 Normal evaluation seems to work, but whenever I try to print a stack trace using :Eval (clojure.repl/pst) or just *e from vim-fireplace (after some exception happened), I always get a NullPointerException (always the same one below) instead of the actual exception/trace.

:Eval (clojure.repl/pst)
        user$eval7782.invokeStatic (:1)
        user$eval7782.invoke (:1)
        clojure.lang.Compiler.eval (
        clojure.lang.Compiler.eval (
        clojure.core/eval (core.clj:3206)
        clojure.core/eval (core.clj:3202)
        clojure.main/repl/read-eval-print--8898/fn--8901 (main.clj:309)
        clojure.main/repl/read-eval-print--8898 (main.clj:307)
        clojure.main/repl/fn--8907 (main.clj:332)
        clojure.main/repl (main.clj:332)
        clojure.main/repl (main.clj:233) (interruptible_eval.clj:87)

Jan K15:10:28

Can someone else try? If you get the same problem I'll enter an issue for vim-fireplace


@jkr.sw Did you try without cider-nrepl? Could be useful to check that find where the problem is Or maybe try with the new nrepl?

Jan K15:10:47

Isn't cider an emacs thing? I don't think I'm using that.


Cider-nrepl is generic nrepl extension which fireplace will use if it is available

Jan K15:10:30

I'll try with empty profiles.clj, although I don't have cider-nrepl or any other nrepl deps there


*e and pst work for me but (throw (ex-info "Foo" {})) just hangs for me with 1.10 but works in 1.9

Jan K15:10:31

That doesn't hang for me, but I get the *e problem even with minimal profiles.clj / project.edn


doing other things that throw exceptions, like (+ nil nil) also hang


And this is using nrepl 0.4.5

Jan K15:10:47

Looks like it's differently broken for each of us 🙂

Jan K15:10:10

how do I make "lein repl" use the new version? seems like it's using nREPL 0.2.13 for me


leiningen 2.8.1 should use 0.4.1


And probably you can add up-to-date dependency to the project.clj to update it

Jan K15:10:01

$ lein -version Leiningen 2.8.1 on Java 1.8.0_171 OpenJDK 64-Bit Server VM $ lein repl nREPL server started on port 41207 on host - <nrepl://> REPL-y 0.3.7, nREPL 0.2.13

Jan K15:10:50

seems like using cider-nrepl 0.18.0 in profiles.clj fixed the problem for me - no hangs and correct stack traces, although now it's using nREPL 0.2.12 for some reason

Jan K16:10:04

actually I'm getting hangs for some errors 😞 (not the ex-info one tho)

Jan K16:10:01

Well I'm back to Clojure 1.9.0 for now. Maybe other vim users can find a working configuration or investigate more.


i randomly get tons of hangs too. haven't figured out why. like 50% of cpr or cpp will result in an error. i just keep running it till it works, so it's very intermittent. i'm on lein 2.8.1 too


also seems way better on my other macbook with same version of lein working on the same project

Jan K16:10:25

@devth is that with the new Clojure 1.10 betas?


nope. 1.9.0

Jan K16:10:14

ah, that one works well for me. maybe try if it works better with or without cider-nrepl 0.18.0 in your profiles.clj


yeah i have been trying various versions of cider-nrepl


i've also been running this branch of vim-fireplace


hoping a new leiningen gets released with nrepl 0.4.x soon and maybe that'll fix it


Nrepl should always send a status done. This is part of the contract.


I think there's an open issue trying to find a case where it doesn't.