summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cider-interaction.el12
1 files changed, 9 insertions, 3 deletions
diff --git a/cider-interaction.el b/cider-interaction.el
index ced60d08..27f71727 100644
--- a/cider-interaction.el
+++ b/cider-interaction.el
@@ -1060,6 +1060,7 @@ If prefix argument KILL-BUFFER-P is non-nil, kill the buffer instead of burying
(erase-buffer)
(when major-mode
(funcall major-mode))
+ (setq-local cider-popup-output-marker (point-marker))
(cider-popup-buffer-mode 1)
(setq buffer-read-only t)
(current-buffer)))
@@ -1068,9 +1069,14 @@ If prefix argument KILL-BUFFER-P is non-nil, kill the buffer instead of burying
"Emit into BUFFER the provided VALUE."
(with-current-buffer buffer
(let ((inhibit-read-only t)
- (buffer-undo-list t))
- (insert (format "%s" value))
- (indent-sexp))))
+ (buffer-undo-list t)
+ (moving (= (point) cider-popup-output-marker)))
+ (save-excursion
+ (goto-char cider-popup-output-marker)
+ (insert (format "%s" value))
+ (indent-sexp)
+ (set-marker cider-popup-output-marker (point)))
+ (when moving (goto-char cider-popup-output-marker)))))
(defun cider-emit-into-color-buffer (buffer value)
"Emit into color BUFFER the provided VALUE."