Open
Description
Expected behavior
Evaluating (* 6 7)
in the repl wouldn't switch to a different namespace
Actual behavior
;; Connected to nREPL server - nrepl://localhost:44565
;; CIDER 1.17.1 (Cologne), nREPL 1.3.1
;; Clojure 1.12.0, Java 11.0.26
;; Docs: (doc function-name)
;; (find-doc part-of-name)
;; Source: (source function-name)
;; Javadoc: (javadoc java-object-or-class)
;; Exit: <C-c C-q>
;; Results: Stored in vars *1, *2, *3, an exception in *e;
;; Startup: /usr/local/bin/clojure -Sdeps \{\:deps\ \{nrepl/nrepl\ \{\:mvn/version\ \"1.3.1\"\}\ cider/cider-nrepl\ \{\:mvn/version\ \"0.52.1\"\}\ cider/piggieback\ \{\:mvn/version\ \"0.5.3\"\}\}\ \:aliases\ \{\:cider/nrepl\ \{\:main-opts\ \[\"-m\"\ \"nrepl.cmdline\"\ \"--middleware\"\ \"\[cider.nrepl/cider-middleware\,cider.piggieback/wrap-cljs-repl\]\"\]\}\}\} -M:cider/nrepl
;;
;; ClojureScript REPL type: node
;; ClojureScript REPL init form: (do (require 'cljs.repl.node) (cider.piggieback/cljs-repl (cljs.repl.node/repl-env)))
;;
To quit, type: :cljs/quit
niluser>
cljs.user> (+ 1 2 3)
6
cljs.user> (require '["fs" :as fs])
nil
cljs.user> (str (fs/readFileSync "./deps.edn"))
"{:deps {org.clojure/clojurescript {:mvn/version \"1.11.132\"}}}\n"
cljs.user> (in-ns 'foo.bar)
nil
foo.bar> (* 6 7)
42
cljs.user>
Steps to reproduce the problem
- Ensure node is installed and on
exec-path
(shell-command-to-string "node --version")
;; v20.16.0
- Project setup:
harold@straylight:~/src$ cd cider-cljs-node-repl/
harold@straylight:~/src/cider-cljs-node-repl$ echo '{:deps {org.clojure/clojurescript {:mvn/version "1.11.132"}}}' > deps.edn
harold@straylight:~/src/cider-cljs-node-repl$ cat deps.edn
{:deps {org.clojure/clojurescript {:mvn/version "1.11.132"}}}
find-file
thatdeps.edn
in emacscider-jack-in-cljs
- "Select ClojureScript REPL type: " -> pick
node
- Wait a few seconds for everything to start up, and piggieback to do its thing
- When at the
cljs.user>
prompt...
cljs.user> ;; prove we're in node
cljs.user> (require '["fs" :as fs])
nil
cljs.user> (str (fs/readFileSync "./deps.edn"))
"{:deps {org.clojure/clojurescript {:mvn/version \"1.11.132\"}}}\n"
cljs.user> (* 6 7)
42
cljs.user> (in-ns 'foo.bar)
nil
foo.bar> (* 6 7)
42
cljs.user> ;; expected to stay in foo.bar
Environment & Version information
CIDER version information
;; Connected to nREPL server - nrepl://localhost:40059
;; CIDER 1.17.1 (Cologne), nREPL 1.3.1
;; Clojure 1.12.0, Java 11.0.26
Lein / Clojure CLI version
$ clj --version
Clojure CLI version 1.12.0.1501
Emacs version
GNU Emacs 29.4 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.41, cairo version 1.18.0) of 2024-07-01, modified by Debian
Operating system
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 24.10
Release: 24.10
Codename: oracular
JDK distribution
$ java -version
openjdk version "11.0.26" 2025-01-21
OpenJDK Runtime Environment (build 11.0.26+4-post-Ubuntu-1ubuntu124.10)
OpenJDK 64-Bit Server VM (build 11.0.26+4-post-Ubuntu-1ubuntu124.10, mixed mode, sharing)