summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2023-02-07 18:03:22 -0500
committerStefan Monnier <monnier@iro.umontreal.ca>2023-02-07 18:03:22 -0500
commit88d5327fe2ab6ecfde22fee8835c583bfd1f2ce2 (patch)
tree22f98ad8019fbc47afe90a2b64d43464004e2059 /lisp/emacs-lisp
parenta98d0daac473737da720c20f49f6f5abf36b074b (diff)
downloademacs-88d5327fe2ab6ecfde22fee8835c583bfd1f2ce2.tar.gz
emacs-88d5327fe2ab6ecfde22fee8835c583bfd1f2ce2.tar.bz2
emacs-88d5327fe2ab6ecfde22fee8835c583bfd1f2ce2.zip
(cconv-convert): Fix regression
* lisp/emacs-lisp/cconv.el (cconv-convert, cconv-analyze-form): Since we can't always remove the wrapper, make sure the wrapper accepts the expected calling convention (i.e. called with no args).
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/cconv.el4
1 files changed, 2 insertions, 2 deletions
diff --git a/lisp/emacs-lisp/cconv.el b/lisp/emacs-lisp/cconv.el
index e8d639903c1..570c9e66060 100644
--- a/lisp/emacs-lisp/cconv.el
+++ b/lisp/emacs-lisp/cconv.el
@@ -483,7 +483,7 @@ places where they originally did not directly appear."
(bf (if (stringp (car body)) (cdr body) body))
(if (when (eq 'interactive (car-safe (car bf)))
(gethash form cconv--interactive-form-funs)))
- (wrapped (pcase if (`#'(lambda (_cconv--dummy) .,_) t) (_ nil)))
+ (wrapped (pcase if (`#'(lambda (&rest _cconv--dummy) .,_) t) (_ nil)))
(cif (when if (cconv-convert if env extend)))
(_ (pcase cif
('nil nil)
@@ -747,7 +747,7 @@ This function does not return anything but instead fills the
(let ((if (cadr (car bf))))
(unless (macroexp-const-p if) ;Optimize this common case.
(let ((f (if (eq 'function (car-safe if)) if
- `#'(lambda (_cconv--dummy) ,if))))
+ `#'(lambda (&rest _cconv--dummy) ,if))))
(setf (gethash form cconv--interactive-form-funs) f)
(cconv-analyze-form f env))))))
(cconv--analyze-function vrs body-forms env form))