Fork me on GitHub
#cider
<
2019-08-06
>
j0ni02:08:00

Good morning! Is it possible to disable the asynchronous loading of namespaces so that when I start cider, it doesn't claim to have started until after the namespaces have loaded? I don't mind waiting a long time.

j0ni02:08:44

I think it might be messing with the namespace dependency graph too - I get process filter errors like this:

error in process filter: user-error: Some namespaces are in a bad state: error "count not supported on this type: Symbol" in backend-big-enos.lifecycle; error "count not supported on this type: Symbol" in backend-big-enos.gateway.eloqua-live-test; error "count not supported on this type: Symbol" in backend-big-enos.validations
which relate to a var which holds a memoized version of a function. The dependencies are fine when I build jar, but things blow up with cider.

j0ni02:08:57

Maybe there's a way to indicate that a ns should be loaded early?

j0ni02:08:10

I'd be ok switching off these optimizations though, if that's possible

j0ni02:08:43

maybe the problem is an interaction with circleci's bond lib

bozhidar05:08:10

@j0ni Not sure what you’re referring to. CIDER normally doesn’t load any namespaces on startup, unless you’ve specified some initial ns. (and I think it was evaluated synchronously)

benedek06:08:44

this is clj-refactor/refactor-nrepl

benedek06:08:39

let me look up the config options affecting this

j0ni07:08:35

Ahhh gotcha thanks @benedek I was looking in the wrong place

benedek07:08:25

gimme a sec. on it

benedek07:08:40

cljr-ignore-analyzer-errors is probably the most interesting

benedek07:08:04

if you set this to ’t clj-refactor will carry on with the features needing an AST (find symbol, rename symbol etc)

pez07:08:04

Is this relevant for us? @UD8TU3HP0

kstehn07:08:39

mhm i could be worth a try i have already somewhere added to ignore errors but i guess it is not used right now

benedek07:08:15

only will omit those nses with an error

benedek07:08:52

I am guessing you have cljr-warn-on-eval set to nil

benedek07:08:13

that is why the analysis happens right after startup on your emacs

benedek07:08:51

if you set it back to ’t it won’t happen at startup, but you will be asked a question when you first invoke a feature needing an AST

benedek07:08:24

you can also control this explicitly with cljr-eagerly-build-asts-on-startup

benedek07:08:27

hope this makes sense

j0ni04:08:50

So now I have the following configuration:

(setq cljr-warn-on-eval nil)
(setq cljr-suppress-middleware-warnings t)
(setq cljr-favor-prefix-notation nil)
(setq cljr-favor-private-functions nil)
(setq cljr-inject-dependencies-at-jack-in t)
(setq cljr-eagerly-build-asts-on-startup t)
(setq cljr-ignore-analyzer-errors t)
but I still see the error in process filter message. It's not a big deal, I can fix it by loading the ns with the memoized function var, and then the nses which caused the errors load fine

j0ni04:08:36

Seems like a dependency graph issue though I don't have time right now to go into it from our project pov. I will if it starts showing up in non-dev situations.

j0ni04:08:41

anyway thanks for your help

benedek06:08:23

yeah the error will be still showing. may well be a dep order issue we would need a fix for that if that is the case

j0ni10:08:14

Thanks @benedek I'll get to this later - sorry for disappearing, I'm (a) on JST rn and (b) suddenly sick but I'll def try to get this working right tomorrow

benedek10:08:50

nw @j0ni get better soon

j0ni10:08:11

❤️thanks

myguidingstar14:08:59

is there anyway to connect a clojure buffer to joker?

bozhidar14:08:41

@myguidingstar You can do this with inf-clojure.