This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-05-24
Channels
- # announcements (2)
- # babashka (31)
- # beginners (608)
- # cider (60)
- # clj-kondo (22)
- # cljsrn (28)
- # clojure (14)
- # clojure-europe (5)
- # clojure-nl (3)
- # clojure-spec (1)
- # clojure-uk (19)
- # clojurescript (38)
- # conjure (20)
- # cursive (9)
- # data-science (26)
- # datascript (4)
- # datomic (19)
- # duct (4)
- # emacs (8)
- # figwheel-main (5)
- # fulcro (7)
- # helix (15)
- # leiningen (12)
- # malli (2)
- # off-topic (20)
- # overtone (3)
- # pathom (14)
- # pedestal (10)
- # re-frame (2)
- # reitit (13)
- # ring (13)
- # shadow-cljs (18)
- # spacemacs (8)
@cfleming When I stop at a breakpoint, I can evaluate constants like 123, but I can't evaluate variables or expressions with variables. It's like they are invisible to the evaluator. I have a list of variables in IDEA, but they can't be evaluated. I run IntelliJ IDEA 2019.3.4 Community edition, Cursive 1.9.1.2019.3. I have tried both JDK 1.8.0_241 and JDK 11.0.6 but nothing works.
That looks like https://github.com/cursive-ide/cursive/issues/2345, which is fixed in the latest EAP series but hasn't made it into a stable build yet. I hope that will be soon.
Sure, currently this only works for nREPL, and it just sends the nREPL interrupt op. On the server side, nREPL starts a new thread for each eval, and uses Thread.stop() to kill them.
Thanks! I was overoptimistically hoping for some solution that didn't involve Thread.stop()
. :)
I've seen a lot of complaints about its use, and lots of dire warnings, but the simple fact is that there's no alternative except not allowing interrupts at all (or just interrupting the thread, which will not work for runaway evaluations). The main issue with Thread.stop() is that it will leave dangling object monitors, but that's not really an issue for a lot of dev use cases, and I'm sure no-one is REPLing into prod.