Fork me on GitHub
#vim
<
2019-01-17
>
devth22:01:10

looks like vim fireplace on clojure 1.10 just reports an obscure Syntax error reading source at [source] error when code refers to a symbol that doesn't exist. wonder how to get better errors?

nate22:01:49

@devth do you have the latest cider-nrepl? I had odd behavior till I updated to "0.19.0"

devth22:01:04

yep, i do. 0.5.3

nate22:01:28

ah, that's the nrepl version

nate22:01:35

cider-nrepl is separate

nate22:01:47

in my deps.edn, I have cider/cider-nrepl {:mvn/version "0.19.0"}

nate22:01:40

[cider/cider-nrepl "0.19.0"] for lein profiles.clj

devth23:01:10

oops, right. i have that too [cider/cider-nrepl "0.19.0"]

dominicm23:01:22

Fireplace uses a custom system for exceptions, that's probably broken with 1.10

5
dominicm23:01:43

Replant uses the cider implementation, and is still working on my projects.

dominicm23:01:09

But it doesn't offer cpp, but has a command for getting the stack of the last exception

devth23:01:53

cool. doesn't offer cpp? so it replaces or disables fireplace's bindings?

dominicm23:01:26

You use fireplace as normal, with cpp. But then replant has a command for more detail

devth23:01:44

ah, i see

devth23:01:48

i might have to try it out

devth23:01:08

what about cp{motion}?

nate23:01:21

@devth do you have a code snippet that causes the obscure error? I'm curious because fireplace has worked well for me with 1.10.0

devth23:01:38

sure, 1 second

devth23:01:12

i think anything that tries to reference a var that doesn't exist. so:

(let [foo 1]
  bar)

devth23:01:32

|| Syntax error compiling at (yetibot/core/webapp/views/common.clj:43:1).
|| clojure.lang.Compiler.analyze(Compiler.java:6808)
|| clojure.lang.Compiler.analyze(Compiler.java:6745)
|| clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:6120)
|| clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:6436)
|| clojure.lang.Compiler.analyzeSeq(Compiler.java:7106)
... huge stack trace

nate23:01:51

when I cpp that, I get this:

Syntax error compiling at (game.clj:28:1).
Unable to resolve symbol: bar in this context
Press ENTER or type command to continue

devth23:01:01

interesting

devth23:01:03

latest fireplace?

nate23:01:10

let me check

dominicm23:01:06

@nate what if you do :copen?

devth23:01:37

i'm also on java 11 and use neovim

nate23:01:38

yeah, latest fireplace, from git

5
nate23:01:13

I'm on java 8 and neovim

devth23:01:18

maybe that's it

nate23:01:27

ah, yeah

devth23:01:30

java 11 causes this on all repl startups now:

WARNING: An illegal reflective access operation has occurre
d
WARNING: Illegal reflective access by mranderson048.orchard
.v0v3v0.dynapath.v0v2v5.dynapath.defaults$eval2258$fn__2259
 to method java.net.URLClassLoader.addURL(java.net.URL)
WARNING: Please consider reporting this to the maintainers
of 
faults$eval2258$fn__2259
WARNING: Use --illegal-access=warn to enable warnings of fu
rther illegal reflective access operations
WARNING: All illegal access operations will be denied in a
future release
Warning: implicit middleware found: refactor-nrepl.plugin/m
iddleware
Please declare all middleware in :middleware as implicit lo
ading is deprecated.
Warning: implicit middleware found: cider-nrepl.plugin/midd
leware
Please declare all middleware in :middleware as implicit lo
ading is deprecated.
Warning: implicit hook found: lein-environ.plugin/hooks
Hooks are deprecated and will be removed in a future versio
n.
Warning: implicit hook found: lein-npm.plugin/hooks
Hooks are deprecated and will be removed in a future versio
n.

😕 5
devth23:01:36

annoying but seems harmless

devth23:01:31

weird. same thing under java 8

nate23:01:43

oh, that is odd

devth23:01:49

wonder if i have an outdated dep laying around somewhere

devth23:01:53

i also run [refactor-nrepl "2.4.0"]

nate23:01:01

I don't have that one loaded in this repl

nate23:01:44

my nrepl now is started in a deps.edn repl with rebel-readline

nate23:01:50

I haven't done 1.10 with lein yet

devth23:01:50

oh that sounds awesome. i've been wanting to try rebl

devth23:01:11

er wait, that's not what you're talking about. rebel-readline is something else

nate23:01:14

yeah, rebel-readline is Bruce Hauman's awesome repl experience

devth23:01:35

do you spend much time in the repl itself?

devth23:01:39

i seem to only interact with it via fireplace

dominicm23:01:24

I also do this

nate23:01:13

only a little bit of repl time, because the connected editor is so awesome

👍 10
nate23:01:21

but rebel readline is pretty awesome

nate23:01:37

for a repl

nate23:01:42

hahaha

😁 5