Function: cider-interactive-eval-handler
cider-interactive-eval-handler is a byte-compiled function defined in
cider-eval.el.
Signature
(cider-interactive-eval-handler &optional BUFFER PLACE)
Documentation
Make an interactive eval handler for BUFFER.
PLACE is used to display the evaluation result.
If non-nil, it can be the position where the evaluated sexp ends,
or it can be a list with (START END) of the evaluated region.
Update the cider-inspector buffer with the evaluation result
when cider-auto-inspect-after-eval is non-nil.
Source Code
;; Defined in ~/.emacs.d/elpa/cider-20260414.1619/cider-eval.el
(defun cider-interactive-eval-handler (&optional buffer place)
"Make an interactive eval handler for BUFFER.
PLACE is used to display the evaluation result.
If non-nil, it can be the position where the evaluated sexp ends,
or it can be a list with (START END) of the evaluated region.
Update the cider-inspector buffer with the evaluation result
when `cider-auto-inspect-after-eval' is non-nil."
(let* ((eval-buffer (current-buffer))
(beg (car-safe place))
(end (or (car-safe (cdr-safe place)) place))
(beg (when beg (copy-marker beg)))
(end (when end (copy-marker end)))
(fringed nil)
(res ""))
(nrepl-make-response-handler
(or buffer eval-buffer)
;; value handler:
(lambda (_buffer value)
(setq res (concat res value))
(cider--display-interactive-eval-result res 'value end))
;; stdout handler:
(lambda (_buffer out)
(cider-emit-interactive-eval-output out))
;; stderr handler:
(lambda (_buffer err)
(cider-emit-interactive-eval-err-output err)
(cider-handle-compilation-errors
err eval-buffer
;; Disable jumping behavior when compiling a single form because
;; lines tend to be spurious (e.g. 0:0) and the jump brings us to
;; the beginning of the same form anyway.
t))
;; done handler:
(lambda (buffer)
(if beg
(unless fringed
(cider--make-fringe-overlays-for-region beg end)
(setq fringed t))
(cider--make-fringe-overlay end))
(when (and cider-auto-inspect-after-eval
(boundp 'cider-inspector-buffer)
(windowp (get-buffer-window cider-inspector-buffer 'visible)))
(cider-inspect-last-result)
(select-window (get-buffer-window buffer)))
(when cider-eval-register
(set-register cider-eval-register res))))))