Fork me on GitHub
#cider
<
2021-03-17
>
tomd18:03:50

Hi 👋 recently I've started having trouble calling cider-repl-set-ns successfully for cljs namespaces. I get

WARNING: Use of undeclared Var cljs.user/in-ns at line 1 <cljs repl>
and
#object[TypeError: Cannot read property 'call' of undefined]
         (<NO_SOURCE_FILE>)
but calling (in-ns 'whatever-namespace) always succeeds. how can I go about fixing this? I'm guessing it should be calling cljs.core/in-ns instead? I haven't changed cider version recently. Stuck on v0.25.0. Thanks for any help

tomd18:03:04

just noticed that setting cider-repl-require-ns-on-set to t was causing this. when set back to nil, i'm not getting this behaviour. apologies if this has been fixed since v0.25.0. If someone can verify it's broken in master, I'll gladly make a github issue.

bozhidar20:03:28

The behavior is still the same, although I can't imagine how you'd be getting this error, unless cljs.core is not required for some reason.

tomd21:03:59

I guess the require isn't working as expected in cljs 🤷 - I'll make an issue. May find some time to see if I can replicate in a more vanilla clj/cljs setup. Cheers

thheller21:03:55

require and in-ns are special forms in the CLJS REPL so they don't work when wrapped in some other form or so

👍 1
thheller21:03:26

(do (in-ns 'foo.bar) (require 'foo.bar)) for example wouldn't work

tomd21:03:05

ah! that's great to know, thanks!

tomd21:03:15

I reckon I could do a PR for this

tomd22:03:22

submitted.

👍 1
bozhidar09:03:55

Merged. 🙂

🙏 1