emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/cider 1580f11941 6/9: Remove eval-register from printing h


From: ELPA Syncer
Subject: [nongnu] elpa/cider 1580f11941 6/9: Remove eval-register from printing handlers
Date: Wed, 27 Apr 2022 01:58:04 -0400 (EDT)

branch: elpa/cider
commit 1580f119412c5c113d6394a6c7b3a27c6a0a8789
Author: yuhan0 <qythium@gmail.com>
Commit: Bozhidar Batsov <bozhidar@batsov.dev>

    Remove eval-register from printing handlers
    
    Results are already output to a buffer where they can be easily copied.
    Avoids storing huge results in memory and triggering the GC
---
 cider-eval.el | 33 ++++++++++++++++-----------------
 1 file changed, 16 insertions(+), 17 deletions(-)

diff --git a/cider-eval.el b/cider-eval.el
index fe0cba1c67..e47f1824e2 100644
--- a/cider-eval.el
+++ b/cider-eval.el
@@ -788,23 +788,20 @@ Optional argument DONE-HANDLER lambda will be run once 
load is complete."
 
 (defun cider-eval-print-handler (&optional buffer)
   "Make a handler for evaluating and printing result in BUFFER."
-  (let ((res ""))
-    (nrepl-make-response-handler (or buffer (current-buffer))
-                                 (lambda (buffer value)
-                                   (with-current-buffer buffer
-                                     (insert
-                                      (if (derived-mode-p 
'cider-clojure-interaction-mode)
-                                          (format "\n%s\n" value)
-                                        value)))
-                                   (when cider-eval-register
-                                     (setq res (concat res value))))
-                                 (lambda (_buffer out)
-                                   (cider-emit-interactive-eval-output out))
-                                 (lambda (_buffer err)
-                                   (cider-emit-interactive-eval-err-output 
err))
-                                 (lambda (_buffer)
-                                   (when cider-eval-register
-                                     (set-register cider-eval-register 
res))))))
+  ;; NOTE: cider-eval-register behavior is not implemented here for 
performance reasons.
+  ;; See https://github.com/clojure-emacs/cider/pull/3162
+  (nrepl-make-response-handler (or buffer (current-buffer))
+                               (lambda (buffer value)
+                                 (with-current-buffer buffer
+                                   (insert
+                                    (if (derived-mode-p 
'cider-clojure-interaction-mode)
+                                        (format "\n%s\n" value)
+                                      value))))
+                               (lambda (_buffer out)
+                                 (cider-emit-interactive-eval-output out))
+                               (lambda (_buffer err)
+                                 (cider-emit-interactive-eval-err-output err))
+                               ()))
 
 (defun cider-eval-print-with-comment-handler (buffer location comment-prefix)
   "Make a handler for evaluating and printing commented results in BUFFER.
@@ -871,6 +868,8 @@ COMMENT-POSTFIX is the text to output after the last line."
 (defun cider-popup-eval-handler (&optional buffer)
   "Make a handler for printing evaluation results in popup BUFFER.
 This is used by pretty-printing commands."
+  ;; NOTE: cider-eval-register behavior is not implemented here for 
performance reasons.
+  ;; See https://github.com/clojure-emacs/cider/pull/3162
   (nrepl-make-response-handler
    (or buffer (current-buffer))
    (lambda (buffer value)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]