summaryrefslogtreecommitdiff
path: root/nrepl-client.el
diff options
context:
space:
mode:
authorRyo Fukumuro <rkworks@o0o.co>2015-12-27 14:54:36 +0900
committerRyo Fukumuro <rkworks@o0o.co>2015-12-27 16:17:12 +0900
commitf5d9de6187647c814323afb800b2a3237789b96d (patch)
treeb4b9b30449f575f3ca15fab4fabb9248680f1e20 /nrepl-client.el
parent2bff0500137b2ff566253c2b21d38f349a364aa4 (diff)
[Fix #1482] Clear nREPL sessions when connection is closed
Diffstat (limited to 'nrepl-client.el')
-rw-r--r--nrepl-client.el7
1 files changed, 7 insertions, 0 deletions
diff --git a/nrepl-client.el b/nrepl-client.el
index 17b1ed9c..085b7818 100644
--- a/nrepl-client.el
+++ b/nrepl-client.el
@@ -615,6 +615,7 @@ and kill the process buffer."
(substring message 0 -1)))
(when (equal (process-status process) 'closed)
(when-let ((client-buffer (process-buffer process)))
+ (nrepl--clear-client-sessions client-buffer)
(with-current-buffer client-buffer
(run-hooks 'nrepl-disconnected-hook)
(when (buffer-live-p nrepl-server-buffer)
@@ -800,6 +801,12 @@ values of *1, *2, etc."
(setq nrepl-ops ops)
(setq nrepl-versions versions)))))
+(defun nrepl--clear-client-sessions (conn-buffer)
+ "Clear client nREPL sessions in CONN-BUFFER."
+ (with-current-buffer conn-buffer
+ (setq nrepl-session nil)
+ (setq nrepl-tooling-session nil)))
+
(define-obsolete-function-alias 'nrepl-close 'cider--close-connection-buffer "0.10.0")
;;; Client: Response Handling