Function: cider-sync-request:macroexpand

cider-sync-request:macroexpand is a byte-compiled function defined in cider-macroexpansion.el.

Signature

(cider-sync-request:macroexpand EXPANDER EXPR &optional DISPLAY-NAMESPACES)

Documentation

Macroexpand, using EXPANDER, the given EXPR.

The default for DISPLAY-NAMESPACES is taken from cider-macroexpansion-display-namespaces.

Source Code

;; Defined in ~/.emacs.d/elpa/cider-20260414.1619/cider-macroexpansion.el
(defun cider-sync-request:macroexpand (expander expr &optional display-namespaces)
  "Macroexpand, using EXPANDER, the given EXPR.
The default for DISPLAY-NAMESPACES is taken from
`cider-macroexpansion-display-namespaces'."
  (cider-ensure-op-supported "macroexpand")
  (let ((result (thread-first `("op" "macroexpand"
                                "expander" ,expander
                                "code" ,expr
                                "ns" ,(cider-current-ns)
                                "display-namespaces" ,(or display-namespaces
                                                          (symbol-name cider-macroexpansion-display-namespaces)))
                              (nconc (when cider-macroexpansion-print-metadata
                                       '("print-meta" "true")))
                              (cider-nrepl-send-sync-request))))
    (nrepl-dbind-response result (expansion status)
      (if (member "macroexpand-error" status)
          (user-error "Macroexpansion failed.  Check *cider-error* for more details")
        expansion))))