Function: cider-macrostep-expand-in-buffer

cider-macrostep-expand-in-buffer is an autoloaded, interactive and byte-compiled function defined in cider-macrostep.el.

Signature

(cider-macrostep-expand-in-buffer)

Documentation

Step through the macro before point in a dedicated buffer.

Like cider-macrostep-expand, but instead of rewriting the form in place it copies it into a separate cider-macrostep-buffer and starts the stepping session there, leaving the source buffer untouched. Place point right after the form, as with M-x cider-eval-form (cider-eval-form).

The session uses the same overlay engine and key bindings as the inline flow, except that q dismisses the whole popup in one step.

Key Bindings

Source Code

;; Defined in ~/.emacs.d/elpa/cider-20260822.1520/cider-macrostep.el
;;;###autoload
(defun cider-macrostep-expand-in-buffer ()
  "Step through the macro before point in a dedicated buffer.
Like `cider-macrostep-expand', but instead of rewriting the form in place it
copies it into a separate `cider-macrostep-buffer' and starts the stepping
session there, leaving the source buffer untouched.  Place point right after
the form, as with `\\[cider-eval-form]'.

The session uses the same overlay engine and key bindings as the inline
flow, except that `q' dismisses the whole popup in one step."
  (interactive)
  (cider-ensure-session)
  (pcase-let ((`(,beg . ,end) (or (cider-macrostep--form-bounds)
                                  (user-error "No sexp before point to expand"))))
    (let ((operator (cider-macrostep--operator beg)))
      (cider-ensure-macro operator)
      (with-current-buffer (cider-macrostep--popup-buffer
                            (buffer-substring-no-properties beg end)
                            (cider-current-ns))
        (cider-macrostep-expand)))))