diff --git a/lisp/help.el b/lisp/help.el index 8fdcc7c8d48..3911a166da8 100644 --- a/lisp/help.el +++ b/lisp/help.el @@ -565,10 +565,13 @@ C-w Display information on absence of warranty for GNU Emacs." (princ "'"))) (princ ".") (terpri) - (let ((arglist (cond ((byte-code-function-p def) - (car (append def nil))) - ((eq (car-safe def) 'lambda) - (nth 1 def)) + (let* ((inner-function (if (and (listp def) 'macro) + (cdr def) + def)) + (arglist (cond ((byte-code-function-p inner-function) + (car (append inner-function nil))) + ((eq (car-safe inner-function) 'lambda) + (nth 1 inner-function)) (t t)))) (if (listp arglist) (progn