Function: cider-macrostep-expand

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

Signature

(cider-macrostep-expand)

Documentation

Expand the macro form before point one step, inline.

Place point right after the form, as with M-x cider-eval-form (cider-eval-form). When point is on a highlighted expandable operator - where n/p land it - that operator's form is expanded, so you can step with n then expand without repositioning.

Start a cider-macrostep-mode(var)/cider-macrostep-mode(fun) session when one isn't active; further expansions and collapses then use that mode's key bindings.

Key Bindings

Source Code

;; Defined in ~/.emacs.d/elpa/cider-20260822.1520/cider-macrostep.el
;;;###autoload
(defun cider-macrostep-expand ()
  "Expand the macro form before point one step, inline.
Place point right after the form, as with `\\[cider-eval-form]'.  When
point is on a highlighted expandable operator - where `n'/`p' land it - that
operator's form is expanded, so you can step with `n' then expand without
repositioning.

Start a `cider-macrostep-mode' session when one isn't active; further
expansions and collapses then use that mode's key bindings."
  (interactive)
  (cider-ensure-session)
  (pcase-let ((`(,beg . ,end) (or (cider-macrostep--expand-bounds)
                                  (user-error "No sexp before point to expand"))))
    (let ((operator (cider-macrostep--operator beg)))
      (cider-ensure-macro operator)
      (let ((expansion (cider-macrostep--expand
                        (buffer-substring-no-properties beg end) "macroexpand-1")))
        (unless (and (stringp expansion) (not (string-blank-p expansion)))
          (user-error "No expansion returned for `%s'" operator))
        (cider-macrostep--expand-region beg end expansion)
        (cider-macrostep--refresh-overlays)))))