Function: cider-ns-edit--eval

cider-ns-edit--eval is a byte-compiled function defined in cider-ns.el.

Signature

(cider-ns-edit--eval NS-START)

Documentation

Evaluate the ns form at NS-START.

Its value, nil, stays out of the echo area, where it would replace the message about the edit. Output and errors show up as usual, but the error buffer gets selected only if cider-ns-edit--select-error-buffer says so.

Source Code

;; Defined in ~/.emacs.d/elpa/cider-20261106.1225/cider-ns.el
(defun cider-ns-edit--eval (ns-start)
  "Evaluate the ns form at NS-START.
Its value, nil, stays out of the echo area, where it would replace the
message about the edit.  Output and errors show up as usual, but the
error buffer gets selected only if `cider-ns-edit--select-error-buffer'
says so."
  ;; Not `cider-eval-ns-form', which picks the buffer's first ns form
  ;; under clojure-ts-mode.
  (let ((buffer (current-buffer))
        (beg (copy-marker ns-start))
        (end (copy-marker (scan-sexps ns-start 1)))
        (select-error cider-ns-edit--select-error-buffer))
    (cider-interactive-eval
     nil
     (cider-make-eval-handler
      :buffer buffer
      :on-stdout #'cider-emit-interactive-eval-output
      :on-stderr (lambda (err)
                   (cider-emit-interactive-eval-err-output err)
                   (cider-handle-compilation-errors err buffer t))
      :on-eval-error (unless select-error
                       (lambda ()
                         ;; It takes precedence over `cider-auto-select-buffer'.
                         (with-suppressed-warnings ((obsolete cider-auto-select-error-buffer))
                           (let ((cider-auto-select-error-buffer nil))
                             (cider-default-err-handler buffer)))))
      ;; The edit marked the ns form as changed since its last evaluation.
      :on-done (lambda ()
                 (when (buffer-live-p buffer)
                   (cider--make-fringe-overlays-for-region beg end))))
     (list ns-start (marker-position end)))))