tpope / vim-fireplace

fireplace.vim: Clojure REPL support
https://www.vim.org/scripts/script.php?script_id=4978
1.75k stars 139 forks source link

ERROR: Unhandled REPL handler exception processing message #180

Closed arnm closed 10 years ago

arnm commented 10 years ago

How to duplicate:

  1. create new app with leiningen
  2. run repl in side project
  3. :Connect to repl
  4. Type ("/") into a buffer

Typing in "/" in any sexp will result in the following error below:

My vimrc. ~200 lines

➜ test lein -version
Leiningen 2.5.0 on Java 1.7.0_65 OpenJDK 64-Bit Server VM
➜ workspace lein new app test
Generating a project called test based on the 'app' template.
➜ workspace cd test/
➜ test lein repl
nREPL server started on port 52565 on host 127.0.0.1 - nrepl://127.0.0.1:52565
REPL-y 0.3.5, nREPL 0.2.6
Clojure 1.6.0
OpenJDK 64-Bit Server VM 1.7.0_65-b32
    Docs: (doc function-name-here)
          (find-doc "part-of-name-here")
  Source: (source function-name-here)
 Javadoc: (javadoc java-object-or-class-here)
    Exit: Control+D or (exit) or (quit)
 Results: Stored in vars *1, *2, *3, an exception in *e

test.core=> ERROR: Unhandled REPL handler exception processing message {:id fireplace-manarcht-1411316171-14, :session 9a96e165-fab5-40f9-9835-f3e4af6b8263, :ns test.core, :symbol /, :op complete}
java.lang.NullPointerException
        at clojure.lang.Symbol.intern(Symbol.java:60)
        at clojure.core$symbol.invoke(core.clj:546)
        at compliment.sources.class_members$static_members_candidates.invoke(class_members.clj:213)
        at clojure.lang.Var.invoke(Var.java:388)
        at compliment.core$completions$iter__1720__1724$fn__1725.invoke(core.clj:51)
        at clojure.lang.LazySeq.sval(LazySeq.java:40)
        at clojure.lang.LazySeq.seq(LazySeq.java:49)
        at clojure.lang.RT.seq(RT.java:484)
        at clojure.core$seq.invoke(core.clj:133)
        at clojure.core$tree_seq$walk__4692$fn__4693.invoke(core.clj:4549)
        at clojure.lang.LazySeq.sval(LazySeq.java:40)
        at clojure.lang.LazySeq.seq(LazySeq.java:49)
        at clojure.lang.LazySeq.more(LazySeq.java:85)
        at clojure.lang.RT.more(RT.java:607)
        at clojure.core$rest.invoke(core.clj:73)
        at clojure.core$flatten.invoke(core.clj:6588)
        at compliment.core$completions.invoke(core.clj:49)
        at cider.nrepl.middleware.complete$complete.invoke(complete.clj:17)
        at cider.nrepl.middleware.complete$complete_reply.invoke(complete.clj:26)
        at cider.nrepl.middleware.complete$wrap_complete$fn__1870.invoke(complete.clj:45)
        at clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__424.invoke(middleware.clj:17)
        at cider.nrepl.middleware.classpath$wrap_classpath$fn__1185.invoke(classpath.clj:21)
        at clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__424.invoke(middleware.clj:17)
        at cider.nrepl.middleware.apropos$wrap_apropos$fn__1121.invoke(apropos.clj:97)
        at clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__424.invoke(middleware.clj:17)
        at cider.nrepl.middleware.trace$wrap_trace$fn__3385.invoke(trace.clj:35)
        at clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__424.invoke(middleware.clj:17)
        at cider.nrepl.middleware.macroexpand$wrap_macroexpand$fn__2950.invoke(macroexpand.clj:81)
        at clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__424.invoke(middleware.clj:17)
        at clojure.tools.nrepl.server$handle_STAR_.invoke(server.clj:19)
        at clojure.tools.nrepl.server$handle$fn__778.invoke(server.clj:28)
        at clojure.core$binding_conveyor_fn$fn__4145.invoke(core.clj:1910)
        at clojure.lang.AFn.call(AFn.java:18)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
Bye for now!
tpope commented 10 years ago

Please report this against cider-nrepl, as it appears its completion middleware can't handle a bare slash.

arnm commented 10 years ago

Are you noticing the same behavior?

tpope commented 10 years ago

Yes, although I have to trigger completion explicitly. (Presumably you have some sort of autocompleter installed.)

arnm commented 10 years ago

Yes, I am using neocomplete. In the mean I can probably restrict when to call for completions. Thanks

arnm commented 9 years ago

This error has been fixed in [cider/cider-nrepl "0.8.0-SNAPSHOT"] but I am having some unexpected behavior with vim-fireplace and that version of nrepl working together. I will create a separate issue for this