Fork me on GitHub
#cider
<
2018-04-30
>
stardiviner01:04:27

@arrdem That's great. Thanks. Looking forward to play with it. And will integrate it into Emacs Org-mode ob-clojure (or ob-clojure-literate) in later days.

theeternalpulse02:04:04

When I evala quil sketch and I exit it, I get random messages that stall my input, in the emacs popup window I get a stream of

error in process filter: nrepl--dispatch-response: [nREPL] No response handler with id nil found
error in process filter: [nREPL] No response handler with id nil found

theeternalpulse02:04:06

without quitting the nrepl it sporadically shows that message and stalls my whole emacs

bozhidar02:04:18

@theeternalpulse That’s a long standing bug, which I never had time to debug. Certain responses arrive without a matching request id and we don’t know what to do with them basically, as the callbacks are associated with the id request.

bozhidar02:04:57

I think you should search for quil on our github issues - I recall other people reporting a similar problem in the past.

theeternalpulse04:04:44

I instrumented that function in the debugger and one anomaly I've noticed is this nrepl-client-filter(#<process nrepl-connection> "d2:id2:167:session36:a6306720-98db-4ce8-938c-83331e9f9fe15:value39:#'sandbox.graphics.star-field/starfielde") it's adding an e to some functions in this log. I've gotten this with other functions as well at the start of the stack, all with e added

theeternalpulse04:04:21

hmm, I guess that's a false lead, something must be adding that and it's getting past the client filter

dominicm06:04:43

@theeternalpulse the e is part of the protocol to signify the end of a dictionary

manuel07:04:04

hi, latest CIDER from MELPA gives me this upon C-c M-J: error in process filter: cider-cljs-repl-form: Symbol’s function definition is void: nil Do you want me to file an issue?

andrea.crotti11:04:58

ah yes I have the same problem

andrea.crotti11:04:12

I updated Cider this morning and with this config

(eval . (add-to-list 'cider-cljs-repl-types
                       `("Figwheel+Integrant"
                         "(do (require 'figwheel-sidecar.repl-api)
               (require 'integrant.repl)
               (integrant.repl/go)
               (figwheel-sidecar.repl-api/cljs-repl))"))
it fails to jack-in-clojurescript even though evaluating these things manually works and gives me a working cljs repl the only error I see is cider-cljs-repl-form: Symbol's function definition is void: nil

bozhidar11:04:44

@manuel @andrea.crotti The name is of the REPL type is now a symbol, not a string. That’s causing this error for you.

bozhidar11:04:39

I’ve changed this, as it’s confusing/uncommon to be referring to things by string names in Elisp. You should have used cider-register-cljs-repl-type instead - it has validation of the its args and would have given you meaningful error.

bozhidar11:04:56

(eval . (cider-register-cljs-repl-type
                       'figwheel+integrant
                         "(do (require 'figwheel-sidecar.repl-api)
               (require 'integrant.repl)
               (integrant.repl/go)
               (figwheel-sidecar.repl-api/cljs-repl))"))

bozhidar11:04:43

(and you can also add this to your Emacs config, of course - that’s make this REPL type available to all your projects)

manuel11:04:34

this is my .dir-locals:

((nil
  (cider-refresh-before-fn . "mount.core/stop")
  (cider-refresh-after-fn . "mount.core/start")
  (cider-default-cljs-repl . "Figwheel"))
 (emacs-lisp-mode
  (flycheck-disabled-checkers . "emacs-lisp-checkdoc")))
I need to change cider-default-cljs-repl, then?

bozhidar11:04:27

Yeah, it’s now named 'figwheel.

bozhidar11:04:59

That’s why you get the nil - the code is searching for “Figwheel” in a list where there is not longer such an entry.

bozhidar11:04:22

"Figwheel" -> 'figwheel

bozhidar11:04:06

I was writing some documentation a day or two ago and then I decided I should probably change this before 0.17 is released, as relatively few similar configs use strings.

manuel11:04:48

((nil
  (cider-refresh-before-fn . "mount.core/stop")
  (cider-refresh-after-fn . "mount.core/start")
  (cider-default-cljs-repl . 'figwheel))
 (emacs-lisp-mode
  (flycheck-disabled-checkers . "emacs-lisp-checkdoc")))
Restarted Emacs just to be sure: error in process filter: cider-cljs-repl-form: Symbol’s function definition is void: nil

bozhidar11:04:51

Try removing the '. I think it’s not needed in the context.

manuel12:04:37

that was it! Thank you @bozhidar, problem solved.

bozhidar12:04:42

You’re welcome!

bozhidar12:04:02

I guess I should add some validation for the type, so people get a meaningful error if doesn’t exist.

andrea.crotti12:04:59

but then (cider-default-cljs-repl . 'figwheel+integrant) this should work?

bozhidar12:04:21

(cider-default-cljs-repl . figwheel+integrant)

andrea.crotti12:04:23

still count not manage to start it until I removed that and selected the figwheel+integrant

andrea.crotti12:04:19

and just to clarify this does new config doesn't work on older versions right? (but still on 0.17-)?

bozhidar12:04:42

Yes, on 0.16 the config is completely different.

bozhidar12:04:16

(but hopefully under 0.17 there are going to be no more changes to this for the foreseeable future)

andrea.crotti12:04:30

ok cool just to know how to warn my colleagues

bozhidar12:04:02

I’ve updated the ClojureScript section of the manual to cover all of this http://cider.readthedocs.io/en/latest/clojurescript/

👍 4
bozhidar12:04:26

I’m really hoping that 0.17 is going to happen very soon - at this point there are no major changes I plan to do myself, just some small refinements here and there. I’m hoping that @gonewest818 will soon wrap the exciting feature he’s been working on, and then we’d be good to go.

🎉 4
bozhidar12:04:23

Btw, I’d love it if more ClojureScript devs reviewed this part of the manual and helped us to improve it. 🙂

👍 4
andrea.crotti13:04:12

sure I can check if I spot any problem

andrea.crotti13:04:37

do you prefer github issues or just on this channel if it's something small?

bozhidar17:04:16

@andrea.crotti The manual’s in GH, so feel free to just fire PRs for problematic parts.