diff --git a/src/babashka/impl/clojure/core/server.clj b/src/babashka/impl/clojure/core/server.clj index 2b1c821f..dd58f737 100644 --- a/src/babashka/impl/clojure/core/server.clj +++ b/src/babashka/impl/clojure/core/server.clj @@ -14,7 +14,8 @@ :no-doc true} babashka.impl.clojure.core.server (:refer-clojure :exclude [locking]) - (:require [sci.core :as sci]) + (:require [sci.core :as sci] + [sci.impl.vars :as vars]) (:import [clojure.lang LineNumberingPushbackReader] [java.net InetAddress Socket ServerSocket SocketException] @@ -44,7 +45,8 @@ (try (sci/with-bindings {sci/in in sci/out out - sci/err err} + sci/err err + vars/current-ns (vars/->SciNamespace 'user)} (swap! server assoc-in [:sessions client-id] {}) (apply accept args)) (catch SocketException _disconnect) diff --git a/test/babashka/impl/socket_repl_test.clj b/test/babashka/impl/socket_repl_test.clj index 83038f0e..8bad7823 100644 --- a/test/babashka/impl/socket_repl_test.clj +++ b/test/babashka/impl/socket_repl_test.clj @@ -55,6 +55,8 @@ (is (socket-command "#?(:bb 1337 :clj 8888)" "1337"))) (testing "*1, *2, *3, *e" (is (socket-command "1\n*1" "1"))) + (testing "*ns*" + (is (socket-command "(ns foo.bar) (ns-name *ns*)" "foo.bar"))) (finally (if tu/jvm? (stop-repl!)