Skip to content

Commit 3f24b32

Browse files
committed
hack for nREPL
1 parent 207e2fb commit 3f24b32

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

src/main/clojure/cljs/repl/browser.clj

+7-3
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,10 @@
2929
(def ^:dynamic es nil)
3030
(def outs (ConcurrentHashMap.))
3131

32+
(defn thread-name []
33+
(let [name (.getName (Thread/currentThread))]
34+
(if (string/starts-with? name "nrepl") "main" name)))
35+
3236
(def ext->mime-type
3337
{".html" "text/html"
3438
".css" "text/css"
@@ -73,7 +77,7 @@
7377
(set-return-value-fn return-value-fn)
7478
(server/send-and-close conn 200
7579
(json/write-str
76-
{"repl" (.getName (Thread/currentThread))
80+
{"repl" (thread-name)
7781
"form" form})
7882
"application/json")))
7983

@@ -346,7 +350,7 @@
346350
(if launch-browser
347351
(maybe-browse-url base-url)
348352
(println (waiting-to-connect-message base-url)))))))
349-
(.put outs (.getName (Thread/currentThread)) *out*)
353+
(.put outs (thread-name) *out*)
350354
(swap! server-state update :listeners inc))
351355

352356
(defrecord BrowserEnv []
@@ -362,7 +366,7 @@
362366
(-load [this provides url]
363367
(load-javascript this provides url))
364368
(-tear-down [this]
365-
(.remove outs (.getName (Thread/currentThread)))
369+
(.remove outs (thread-name))
366370
(let [server-state (:server-state this)]
367371
(when (zero? (:listeners (swap! server-state update :listeners dec)))
368372
(binding [server/state server-state] (server/stop))

src/main/clojure/cljs/repl/node.clj

+3-2
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@
2929
(def errs (ConcurrentHashMap.))
3030

3131
(defn thread-name []
32-
(.getName (Thread/currentThread)))
32+
(let [name (.getName (Thread/currentThread))]
33+
(if (string/starts-with? name "nrepl") "main" name)))
3334

3435
(defn create-socket [^String host port]
3536
(let [socket (Socket. host (int port))
@@ -124,7 +125,7 @@
124125
(defn setup
125126
([repl-env] (setup repl-env nil))
126127
([{:keys [host port socket state] :as repl-env} opts]
127-
(let [tname (.getName (Thread/currentThread))]
128+
(let [tname (thread-name)]
128129
(.put results tname (LinkedBlockingQueue.))
129130
(.put outs tname *out*)
130131
(.put errs tname *err*))

0 commit comments

Comments
 (0)