Function: advice-eval-interactive-spec
advice-eval-interactive-spec is a byte-compiled function defined in
nadvice.el.gz.
Signature
(advice-eval-interactive-spec SPEC)
Documentation
Evaluate the interactive spec SPEC.
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/nadvice.el.gz
;; FIXME: How about renaming this to just `eval-interactive-spec'?
;; It's not specific to the advice system.
(defun advice-eval-interactive-spec (spec)
"Evaluate the interactive spec SPEC."
(cond
((stringp spec)
;; There's no direct access to the C code (in call-interactively) that
;; processes those specs, but that shouldn't stop us, should it?
;; FIXME: Despite appearances, this is not faithful: SPEC and
;; (advice-eval-interactive-spec SPEC) will behave subtly differently w.r.t
;; command-history (and maybe a few other details).
(call-interactively
;; Sadly (lambda (&rest args) (interactive spec) args) doesn't work :-(
(cconv--interactive-helper (lambda (&rest args) args) spec)))
;; ((functionp spec) (funcall spec))
(t (eval spec))))