Function: cider-repl--emit-output
cider-repl--emit-output is a byte-compiled function defined in
cider-repl.el.
Signature
(cider-repl--emit-output BUFFER STRING FACE)
Documentation
Using BUFFER, emit STRING as output font-locked using FACE.
Before inserting, run cider-repl-preoutput-hook on STRING.
Source Code
;; Defined in ~/.emacs.d/elpa/cider-20260414.1619/cider-repl.el
(defun cider-repl--emit-output (buffer string face)
"Using BUFFER, emit STRING as output font-locked using FACE.
Before inserting, run `cider-repl-preoutput-hook' on STRING."
(with-current-buffer buffer
(save-excursion
(cider-save-marker cider-repl-output-start
(goto-char cider-repl-output-end)
(setq string (propertize string
'font-lock-face face
'rear-nonsticky '(font-lock-face)))
(setq string (cider-run-chained-hook 'cider-repl-preoutput-hook string))
(insert-before-markers string))
(when (and (= (point) cider-repl-prompt-start-mark)
(not (bolp)))
(insert-before-markers "\n")
(set-marker cider-repl-output-end (1- (point))))))
(when cider-repl-display-output-before-window-boundaries
;; FIXME: The code below is super slow, that's why it's disabled by default.
(when-let* ((window (get-buffer-window buffer t)))
;; If the prompt is on the first line of the window, then scroll the window
;; down by a single line to make the emitted output visible.
(when (and (pos-visible-in-window-p cider-repl-prompt-start-mark window)
(< 1 cider-repl-prompt-start-mark)
(not (pos-visible-in-window-p (1- cider-repl-prompt-start-mark) window)))
(with-selected-window window
(scroll-down 1))))))