Function: cider-macroexpand-expr-inplace

cider-macroexpand-expr-inplace is a byte-compiled function defined in cider-macroexpansion.el.

Signature

(cider-macroexpand-expr-inplace EXPANDER)

Documentation

Substitute the form before point with its macroexpansion using EXPANDER.

This is a helper invoked by the in-place expansion commands; EXPANDER is required, so it is not meant to be called interactively.

Source Code

;; Defined in ~/.emacs.d/elpa/cider-20260822.1520/cider-macroexpansion.el
(defun cider-macroexpand-expr-inplace (expander)
  "Substitute the form before point with its macroexpansion using EXPANDER.
This is a helper invoked by the in-place expansion commands; EXPANDER is
required, so it is not meant to be called interactively."
  (pcase-let ((`(,beg . ,end) (or (cider-macroexpansion--form-bounds)
                                  (user-error "No sexp before point to expand"))))
    (let ((code (buffer-substring-no-properties beg end)))
      ;; A fully-recursive expansion can reach macros in nested sub-forms, so
      ;; it is useful even when the form's head is not a macro itself.
      (unless (equal expander "macroexpand-all")
        (cider-ensure-macro (cider-macroexpansion--operator code)))
      (cider-redraw-macroexpansion-buffer
       (cider-sync-request:macroexpand expander code)
       (current-buffer) beg end))))