[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/cider c61689c7b2 2/5: perf: only call cider-mode if not al
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/cider c61689c7b2 2/5: perf: only call cider-mode if not already enabled |
Date: |
Sat, 17 Jun 2023 04:01:33 -0400 (EDT) |
branch: elpa/cider
commit c61689c7b25d3f1113d156d568dda1dfd074964f
Author: yuhan0 <qythium@gmail.com>
Commit: Bozhidar Batsov <bozhidar@batsov.dev>
perf: only call cider-mode if not already enabled
Re-initializing cider-mode across many background buffers can cause
significant performance issues.
---
cider-connection.el | 26 ++++++++++++++------------
1 file changed, 14 insertions(+), 12 deletions(-)
diff --git a/cider-connection.el b/cider-connection.el
index 6421e45362..8e146bcefa 100644
--- a/cider-connection.el
+++ b/cider-connection.el
@@ -296,6 +296,7 @@ message in the REPL area."
(cider-nrepl-send-request '("op" "out-subscribe")
(cider-interactive-eval-handler (current-buffer))))
+(defvar cider-mode)
(declare-function cider-mode "cider-mode")
(defun cider-enable-on-existing-clojure-buffers ()
"Enable CIDER's minor mode on existing Clojure buffers.
@@ -304,18 +305,19 @@ See command `cider-mode'."
(add-hook 'clojure-mode-hook #'cider-mode)
(dolist (buffer (cider-util--clojure-buffers))
(with-current-buffer buffer
- (cider-mode +1)
- ;; In global-eldoc-mode, a new file-visiting buffer calls
- ;; `turn-on-eldoc-mode' which enables eldoc-mode if it's supported in
that
- ;; buffer as determined by `eldoc--supported-p'. Cider's eldoc support
- ;; allows new buffers in cider-mode to enable eldoc-mode. As of 2021-04,
- ;; however, clojure-mode itself has no eldoc support, so old clojure
- ;; buffers opened before cider started aren't necessarily in eldoc-mode.
- ;; Here, we've enabled cider-mode for this old clojure buffer, and now,
if
- ;; global-eldoc-mode is enabled, try to enable eldoc-mode as if the
buffer
- ;; had just been created with cider-mode.
- (when global-eldoc-mode
- (turn-on-eldoc-mode)))))
+ (unless cider-mode
+ (cider-mode +1)
+ ;; In global-eldoc-mode, a new file-visiting buffer calls
+ ;; `turn-on-eldoc-mode' which enables eldoc-mode if it's supported in
that
+ ;; buffer as determined by `eldoc--supported-p'. Cider's eldoc support
+ ;; allows new buffers in cider-mode to enable eldoc-mode. As of
2021-04,
+ ;; however, clojure-mode itself has no eldoc support, so old clojure
+ ;; buffers opened before cider started aren't necessarily in
eldoc-mode.
+ ;; Here, we've enabled cider-mode for this old clojure buffer, and
now, if
+ ;; global-eldoc-mode is enabled, try to enable eldoc-mode as if the
buffer
+ ;; had just been created with cider-mode.
+ (when global-eldoc-mode
+ (turn-on-eldoc-mode))))))
(declare-function cider--debug-mode "cider-debug")
(defun cider-disable-on-existing-clojure-buffers ()