From 020fd630184406a4e25f93e1fb2a3df77c6c9db9 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Wed, 14 Jun 2023 17:06:37 -0400 Subject: [PATCH] Avoid using `(lambda ...) to build function values * lisp/emacs-lisp/nadvice.el (advice-eval-interactive-spec): Avoid `(lambda ...). --- lisp/emacs-lisp/nadvice.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lisp/emacs-lisp/nadvice.el b/lisp/emacs-lisp/nadvice.el index e6977f2012a..cd80df2c41d 100644 --- a/lisp/emacs-lisp/nadvice.el +++ b/lisp/emacs-lisp/nadvice.el @@ -176,7 +176,9 @@ DOC is a string where \"FUNCTION\" and \"OLDFUN\" are expected.") ;; 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 `(lambda (&rest args) (interactive ,spec) args))) + (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)))) -- 2.39.2