Fork me on GitHub
#cider
<
2020-08-18
>
mhcat09:08:00

hey cider people, I'm seeing a completion error which is eventually debilitating - not 100% certain it's a cider thing, but I'm trying to narrow it down.

Lisp error: (error "Lisp nesting exceeds 'max-lisp-eval-depth'")
There's a trace here: https://gist.github.com/j0ni/53f215608190a3a8ae05dbc9af62a558 - it's doom emacs so I have a doom/info dump there as well

mhcat09:08:37

the trace is a lot longer, because, well the error kind of explains - it's a recursive call which is causing it, so there's a lot of repetition

mhcat09:08:08

Anyways, I'd appreciate any suggestions or ideas

ska10:08:51

The trace contains no traces [sic] of cider as far as I can see. It looks like a combination of yasnippet and company that breaks. Maybe one of your YA snippets contains something that makes company kick in again or so? Just wildly and blindly shooting in the dark here.

mhcat10:08:12

hmm, got no snippets and I removed the yasnippets module (a doom thing) - I did a bit more digging, and noticed that after about 30 seconds of not touching anything completion actually happens

mhcat10:08:18

(company idle time is set to nil)

mhcat10:08:52

same error happens on describe-key tab, but eventually it does describe (same wait)

mhcat10:08:13

and tells me it is cider-repl-tab, which seems to resolve all the way to the correct default command... and yet

mhcat10:08:28

so I'm guessing that this is a defadvice somewhere and I will continue to figure it out

mhcat10:08:23

doom is an education, but I actually like it quite a lot. it has forced me to relearn my vi fu, but is sufficiently different to be a weird freak, but then, so am I, so ¯\(ツ)

mhcat10:08:46

thanks for giving it brain time though, I appreciate it!

ska10:08:49

Sorry for being able to really help with this.

mhcat10:08:03

ah so not yasnippets - that's just in a cond, and it's not the clause which is executing

mhcat10:08:30

it's evil bindings, is what it is

practicalli-johnny13:08:51

I am trying to understand the purpose of the cider-restart command as it only restarts the connection to the REPL. Is it there solely to manage any issues Emacs has connecting to the external REPL process? I cant seem to find any other use for it. sesman-restart does a REPL restart and connects to the new REPL. cider-restart does not seem to clear the code evaluated in the REPL (cider-ns-refresh / reload that provides that functionality anyway). Just wondering if I was missing something. Thank you.

simonkatz16:08:12

I’m using shadow-cljs for a ClojureScript project. I use shadow-cljs watch client, and I can use cider-connect-cljs to connect to the ClojureScript REPL — all good. Is there a way to also connect to the Clojure REPL that must also exist? (Something is doing macroexpansion.) I’ve tried the following: cider-connect-clj gives me “nrepl--direct-connect: [nREPL] Direct connection to localhost:nnnnn failed”. cider-connect-sibling-clj gives me “No clj REPLs in current session”. (I’m not really sure what a sibling is, FWIW, so no real idea whether that should do anything close to what I want.)

gon07:08:03

In the shadow-cljs log you should have a line like this

shadow-cljs - nREPL server started on port 8777

gon07:08:37

in the top level shadow-cljs.edn

:nrepl {:port       8777
         :middleware [refactor-nrepl.middleware/wrap-refactor]}

gon07:08:18

which starts the nRepl server

simonkatz08:08:56

Hmmm, I was missing that :middleware, so I’ve added it (and I’ve added [refactor-nrepl "2.5.0"] to the dependencies in my ~/.shadow-cljs/config.edn), but I still have the same behaviour. Is there something else I need?

simonkatz10:08:04

Ah, I can get a CLJ and a CLJS REPL with cider-connect-clj&cljs.