[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)
- [nongnu] elpa/cider updated (7506cc4613 -> 2d3b18377a), ELPA Syncer, 2022/04/27
- [nongnu] elpa/cider 201811ecd9 1/9: Save eval results into custom register, ELPA Syncer, 2022/04/27
- [nongnu] elpa/cider 3e238465a0 2/9: Add command for saving last eval to kill ring, ELPA Syncer, 2022/04/27
- [nongnu] elpa/cider 5b4dbcb3a1 3/9: Add keybinding, ELPA Syncer, 2022/04/27
- [nongnu] elpa/cider 993a84041c 8/9: Add docs for eval registers, ELPA Syncer, 2022/04/27
- [nongnu] elpa/cider 1d7916bfb5 4/9: Fix typo in pr-request-map, ELPA Syncer, 2022/04/27
- [nongnu] elpa/cider 33271f1342 5/9: Handle streaming of results in eval handlers, ELPA Syncer, 2022/04/27
- [nongnu] elpa/cider a9679d33f1 7/9: Update changelog, ELPA Syncer, 2022/04/27
- [nongnu] elpa/cider 1580f11941 6/9: Remove eval-register from printing handlers,
ELPA Syncer <=
- [nongnu] elpa/cider 2d3b18377a 9/9: [Docs] Document the connection hooks, ELPA Syncer, 2022/04/27