Function: cider-insert-eval-handler
cider-insert-eval-handler is a byte-compiled function defined in
cider-eval.el.
Signature
(cider-insert-eval-handler &optional BUFFER BOUNDS SOURCE-BUFFER ON-SUCCESS-CALLBACK)
Documentation
Make an nREPL evaluation handler for the BUFFER,
_BOUNDS representing the buffer bounds of the evaled input,
SOURCE-BUFFER the original buffer,
and ON-SUCCESS-CALLBACK an optional callback.
The handler simply inserts the result value in BUFFER.
Source Code
;; Defined in ~/.emacs.d/elpa/cider-20260414.1619/cider-eval.el
;;; Interactive evaluation handlers
(defun cider-insert-eval-handler (&optional buffer _bounds source-buffer on-success-callback)
"Make an nREPL evaluation handler for the BUFFER,
_BOUNDS representing the buffer bounds of the evaled input,
SOURCE-BUFFER the original buffer,
and ON-SUCCESS-CALLBACK an optional callback.
The handler simply inserts the result value in BUFFER."
(let ((eval-buffer (current-buffer))
(res "")
(failed nil))
(nrepl-make-response-handler (or buffer eval-buffer)
;; value handler:
(lambda (_buffer value)
(with-current-buffer buffer
(insert value))
(when cider-eval-register
(setq res (concat res value))))
;; stdout handler:
(lambda (_buffer out)
(cider-repl-emit-interactive-stdout out))
;; stderr handler:
(lambda (_buffer err)
(cider-repl-emit-interactive-stderr err)
;; Don't jump
(cider-handle-compilation-errors err eval-buffer t))
;; done handler:
(lambda (_buffer)
(when cider-eval-register
(set-register cider-eval-register res))
(when (and (not failed)
on-success-callback)
(funcall on-success-callback)))
;; eval-error handler
(lambda (_buffer)
(setq failed t)
(funcall nrepl-err-handler source-buffer)))))