Skip to content

Commit 3693274

Browse files
committed
cider--sesman-friendly-session-p: check for ns-list op availability
This speeds up `(cider-current-repl)` performance in non-linked buffers from to 0.01s to 0.00098800s. Because `(cider-current-repl)` can be repeatedly invoked by e.g. `electric-indent-mode`, it makes a difference. Fixes clojure-emacs/clojure-mode#665
1 parent 6b36f09 commit 3693274

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

cider-repl.el

+6-5
Original file line numberDiff line numberDiff line change
@@ -1778,11 +1778,12 @@ The checking is done as follows:
17781778
(cider-classpath-entries))))
17791779
(process-put proc :cached-classpath cp)
17801780
cp)))
1781-
(ns-list (or (process-get proc :all-namespaces)
1782-
(let ((ns-list (with-current-buffer repl
1783-
(cider-sync-request:ns-list))))
1784-
(process-put proc :all-namespaces ns-list)
1785-
ns-list)))
1781+
(ns-list (when (nrepl-op-supported-p "ns-list" repl)
1782+
(or (process-get proc :all-namespaces)
1783+
(let ((ns-list (with-current-buffer repl
1784+
(cider-sync-request:ns-list))))
1785+
(process-put proc :all-namespaces ns-list)
1786+
ns-list))))
17861787
(classpath-roots (or (process-get proc :cached-classpath-roots)
17871788
(let ((cp (thread-last classpath
17881789
(seq-filter (lambda (path) (not (string-match-p "\\.jar$" path))))

0 commit comments

Comments
 (0)