X-Loop: help-debbugs@HIDDEN Subject: bug#77557: master: macroexp--expand-all mismatches on (name (c-defun-name)). Resent-From: Alan Mackenzie <acm@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Sat, 05 Apr 2025 18:42:01 +0000 Resent-Message-ID: <handler.77557.B.174387848829926 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: report 77557 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 77557 <at> debbugs.gnu.org Cc: Stefan Kangas <stefankangas@HIDDEN> X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN Received: via spool by submit <at> debbugs.gnu.org id=B.174387848829926 (code B ref -1); Sat, 05 Apr 2025 18:42:01 +0000 Received: (at submit) by debbugs.gnu.org; 5 Apr 2025 18:41:28 +0000 Received: from localhost ([127.0.0.1]:44760 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1u18SO-0007mb-83 for submit <at> debbugs.gnu.org; Sat, 05 Apr 2025 14:41:28 -0400 Received: from lists.gnu.org ([2001:470:142::17]:39416) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <acm@HIDDEN>) id 1u18SL-0007mM-8z for submit <at> debbugs.gnu.org; Sat, 05 Apr 2025 14:41:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <acm@HIDDEN>) id 1u18SE-0007yU-JF for bug-gnu-emacs@HIDDEN; Sat, 05 Apr 2025 14:41:18 -0400 Received: from mail.muc.de ([193.149.48.3]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <acm@HIDDEN>) id 1u18SC-00031o-Lo for bug-gnu-emacs@HIDDEN; Sat, 05 Apr 2025 14:41:18 -0400 Received: (qmail 77680 invoked by uid 3782); 5 Apr 2025 20:41:01 +0200 Received: from muc.de (p4fe151b3.dip0.t-ipconnect.de [79.225.81.179]) (using STARTTLS) by colin.muc.de (tmda-ofmipd) with ESMTP; Sat, 05 Apr 2025 20:41:00 +0200 Received: (qmail 17965 invoked by uid 1000); 5 Apr 2025 18:41:00 -0000 Date: Sat, 5 Apr 2025 18:41:00 +0000 Message-ID: <Z_F5PKh1y9IrJHdN@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit X-Submission-Agent: TMDA/1.3.x (Ph3nix) From: Alan Mackenzie <acm@HIDDEN> X-Primary-Address: acm@HIDDEN Received-SPF: pass client-ip=193.149.48.3; envelope-from=acm@HIDDEN; helo=mail.muc.de X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.9 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.1 (/) Hello, Emacs. In my .emacs I have the following: (eval-after-load "cc-mode" '(progn (if (not (fboundp 'c-display-defun-name)) (defun c-display-defun-name (&optional arg) "Display the name of the current CC mode defun and the position in it. With a prefix arg, push the name onto the kill ring too." (interactive "P") (save-restriction (widen) (c-save-buffer-state ((name (c-defun-name)) <============ (limits (c-declaration-limits t)) (point-bol (c-point 'bol))) (when name (message "%s. Line %s/%s." name (1+ (count-lines (car limits) point-bol)) (count-lines (car limits) (cdr limits))) (if arg (kill-new name)) (sit-for 3 t)))))) (define-key c-mode-base-map "\C-cn" 'c-display-defun-name) (put 'c-display-defun-name 'isearch-scroll t))) .. While attempting to start my Emacs, the current Emacs master errors out with this form, giving the message: stop Warning (initialization): An error occurred while loading ‘/home/acm/.emacs’: error: Eager macro-expansion failure: (wrong-type-argument symbolp (name (c-defun-name))). ######################################################################## The cause of the error is in macroexp--expand-all in the pcase subform near the end: (`(,func . ,_) ....). This subform triggers on (name (c-defun-name)) and calls (function-get '(name (c-defun-name))), thinking that ,func is a symbol. This bug became visible after this commit: commit a4ec9ca12969018cdf15b8cc713b3ba054326f99 Author: Stefan Kangas <stefankangas@HIDDEN> Date: Tue Apr 1 21:25:33 2025 +0200 function-put: signal error with non-symbol .. Before that commit function-get returned nil for a non-symbol argument. ######################################################################### The following patch fixes the bug: diff --git a/lisp/emacs-lisp/macroexp.el b/lisp/emacs-lisp/macroexp.el index 64ec634620a..8fd596ef58c 100644 --- a/lisp/emacs-lisp/macroexp.el +++ b/lisp/emacs-lisp/macroexp.el @@ -489,7 +489,7 @@ macroexp--expand-all (macroexp--unfold-lambda `(,fn ,eexp . ,eargs))) (_ `(,fn ,eexp . ,eargs))))) (`(funcall . ,_) form) ;bug#53227 - (`(,func . ,_) + (`(,(and func (pred symbolp)) . ,_) (let ((handler (function-get func 'compiler-macro))) ;; Macro expand compiler macros. This cannot be delayed to ;; byte-optimize-form because the output of the compiler-macro can -- Alan Mackenzie (Nuremberg, Germany).
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Alan Mackenzie <acm@HIDDEN> Subject: bug#77557: Acknowledgement (master: macroexp--expand-all mismatches on (name (c-defun-name)).) Message-ID: <handler.77557.B.174387848829926.ack <at> debbugs.gnu.org> References: <Z_F5PKh1y9IrJHdN@HIDDEN> X-Gnu-PR-Message: ack 77557 X-Gnu-PR-Package: emacs Reply-To: 77557 <at> debbugs.gnu.org Date: Sat, 05 Apr 2025 18:42:02 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): bug-gnu-emacs@HIDDEN If you wish to submit further information on this problem, please send it to 77557 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 77557: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D77557 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
X-Loop: help-debbugs@HIDDEN Subject: bug#77557: master: macroexp--expand-all mismatches on (name (c-defun-name)). Resent-From: Ship Mints <shipmints@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Sat, 05 Apr 2025 18:52:02 +0000 Resent-Message-ID: <handler.77557.B77557.174387906631805 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 77557 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Alan Mackenzie <acm@HIDDEN> Cc: 77557 <at> debbugs.gnu.org, Stefan Kangas <stefankangas@HIDDEN> Received: via spool by 77557-submit <at> debbugs.gnu.org id=B77557.174387906631805 (code B ref 77557); Sat, 05 Apr 2025 18:52:02 +0000 Received: (at 77557) by debbugs.gnu.org; 5 Apr 2025 18:51:06 +0000 Received: from localhost ([127.0.0.1]:44795 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1u18bh-0008Gu-EW for submit <at> debbugs.gnu.org; Sat, 05 Apr 2025 14:51:06 -0400 Received: from mail-vk1-xa2c.google.com ([2607:f8b0:4864:20::a2c]:57761) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <shipmints@HIDDEN>) id 1u18be-0008GL-2R for 77557 <at> debbugs.gnu.org; Sat, 05 Apr 2025 14:51:02 -0400 Received: by mail-vk1-xa2c.google.com with SMTP id 71dfb90a1353d-52410fb2afeso2631734e0c.3 for <77557 <at> debbugs.gnu.org>; Sat, 05 Apr 2025 11:51:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1743879056; x=1744483856; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=olOkjwWvY/2QkM7B28e2F1ycrpJm2k5+7QvJnbCRiIk=; b=SdRKcXXnSsmqd+sQKZr3hboSFsoklzaKBkZWVUg5a9DRaDhNXnVxeltWQFp/Y66uTy hZ3lHdti88wYsZdmJioZEkbxzM2PwLYgtdyecA/23WsnclNrFqs3svx7wB19C7DLB1+A SRRrnTaKAWlIm0WoSSZBHTSO1Vw8Tecc6b8bgTu0HVf3E7tKV0OzchhKJMZQofpJiS1V +aiBVn50Gtq7kRkxalVbnxcodVgo8ESXtrCn9Godq6Qfg61hyMYb5IJ3vCio85eeuMvM yAtifTrUc6KW2b/OgMBfeenAcQX7gFg2qg/gGJN1/fqgEj3mzeqk9uinId5NLHnITiDD DT6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743879056; x=1744483856; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=olOkjwWvY/2QkM7B28e2F1ycrpJm2k5+7QvJnbCRiIk=; b=j/LZuItgljmVGO7LDnv6gy2+uRPGtMbLYw26QBFSanMYCFk9UUbe3TNLmO3S3PEgMK 0VFNhnuqA52Jrc1yBgfNO1CNisB/s0r1/4Ynq9LfkB4DSzeMr1U18UAj/2vWKY/Xb3zP LJF0bAtkMllArqjIJ+xCCZxGdchDMb+gXsYQRY6rP3gGWU+Mkn2DppzGpx4Pf28xIzC6 z5vka4nQs7a5FDcxhjEqE7NsEBRRiIaWuhj3vWcucGpwo7r/nVrpiXff++cSJHqNCVL3 3el0F65nhMObBCf7UPu40+bzDkIKciqx58nrULsT9zowSLIMO0pJpAqjmdw2cdQapBuD 9CVA== X-Gm-Message-State: AOJu0YxmOjza74kt2r0QAyI66nY1f3PWWBmlZ/qwCZZMgqiwFrlFtfX9 mhprY0iMmoMOAN0w44+QSBGqxHmxvmXv6twcgnlZOvyQKjskGrdDhnT72O5WH86MbVod7npeqLy q/8bk5RpRE7C4cmB0vN8d0VaynqQ= X-Gm-Gg: ASbGnct0+Z5j4oYyO6nSaGB/tEGtGNy/mDiZ++JvmSWCOJ7Rio9xaEq8vfweEhEf0S3 f+M+DNtcqlS2EH3J6iPH/N85+97+LVKcJNtSV2CNWqQHHksAIHm0EZxiNJyybFnKqlzOYwJkxdo hpPX33U8rap2HQynjMjcdo9eovJQ== X-Google-Smtp-Source: AGHT+IFxp+1GoZRC3tEKHA7R6NVaap8rIwWhXgCfp0jTFQaOIX7JoZH+oWv2DDNdX61Ja4JG0sgXTX+WRULlbRK9lhA= X-Received: by 2002:a05:6102:570b:b0:4bb:9b46:3f92 with SMTP id ada2fe7eead31-4c8568a6d24mr5376294137.1.1743879056249; Sat, 05 Apr 2025 11:50:56 -0700 (PDT) MIME-Version: 1.0 References: <Z_F5PKh1y9IrJHdN@HIDDEN> In-Reply-To: <Z_F5PKh1y9IrJHdN@HIDDEN> From: Ship Mints <shipmints@HIDDEN> Date: Sat, 5 Apr 2025 14:50:45 -0400 X-Gm-Features: ATxdqUEVdnhS_6f-EmXQWm3kMti6RsGfkEkD-YY34gZHdKj8tMgZYadCtOX4v5Y Message-ID: <CAN+1HbpWvXbK2GEc+ovgBwidAu7XnsoU_VroRq8eTaavSnaP9A@HIDDEN> Content-Type: multipart/alternative; boundary="000000000000addba806320c7b4e" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --000000000000addba806320c7b4e Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, Apr 5, 2025 at 2:42=E2=80=AFPM Alan Mackenzie <acm@HIDDEN> wrote: > Hello, Emacs. > > In my .emacs I have the following: > > (eval-after-load "cc-mode" > '(progn > (if (not (fboundp 'c-display-defun-name)) > (defun c-display-defun-name (&optional arg) > "Display the name of the current CC mode defun and the positio= n > in it. > With a prefix arg, push the name onto the kill ring too." > (interactive "P") > (save-restriction > (widen) > (c-save-buffer-state ((name (c-defun-name)) <=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D > (limits (c-declaration-limits t)) > (point-bol (c-point 'bol))) > (when name > (message "%s. Line %s/%s." name > (1+ (count-lines (car limits) point-bol)) > (count-lines (car limits) (cdr limits))) > (if arg (kill-new name)) > (sit-for 3 t)))))) > (define-key c-mode-base-map "\C-cn" 'c-display-defun-name) > (put 'c-display-defun-name 'isearch-scroll t))) > > .. While attempting to start my Emacs, the current Emacs master errors > out with this form, giving the message: > > stop Warning (initialization): An error occurred while loading > =E2=80=98/home/acm/.emacs=E2=80=99: > > error: Eager macro-expansion failure: (wrong-type-argument symbolp (name > (c-defun-name))). > > ######################################################################## > > The cause of the error is in macroexp--expand-all in the pcase subform > near the end: (`(,func . ,_) ....). This subform triggers on (name > (c-defun-name)) and calls (function-get '(name (c-defun-name))), > thinking that ,func is a symbol. > > This bug became visible after this commit: > > commit a4ec9ca12969018cdf15b8cc713b3ba054326f99 > Author: Stefan Kangas <stefankangas@HIDDEN> > Date: Tue Apr 1 21:25:33 2025 +0200 > > function-put: signal error with non-symbol > > .. Before that commit function-get returned nil for a non-symbol > argument. > > ######################################################################### > > The following patch fixes the bug: > > > diff --git a/lisp/emacs-lisp/macroexp.el b/lisp/emacs-lisp/macroexp.el > index 64ec634620a..8fd596ef58c 100644 > --- a/lisp/emacs-lisp/macroexp.el > +++ b/lisp/emacs-lisp/macroexp.el > @@ -489,7 +489,7 @@ macroexp--expand-all > (macroexp--unfold-lambda `(,fn ,eexp . ,eargs))) > (_ `(,fn ,eexp . ,eargs))))) > (`(funcall . ,_) form) ;bug#53227 > - (`(,func . ,_) > + (`(,(and func (pred symbolp)) . ,_) > (let ((handler (function-get func 'compiler-macro))) > ;; Macro expand compiler macros. This cannot be delayed = to > ;; byte-optimize-form because the output of the > compiler-macro can > Looks like this bug reported today https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D77550 --000000000000addba806320c7b4e Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div dir=3D"ltr"><div class=3D"gmail_default" style=3D"fon= t-family:monospace"><span style=3D"font-family:Arial,Helvetica,sans-serif">= On Sat, Apr 5, 2025 at 2:42=E2=80=AFPM Alan Mackenzie <<a href=3D"mailto= :acm@HIDDEN">acm@HIDDEN</a>> wrote:</span></div></div><div class=3D"gmai= l_quote gmail_quote_container"><blockquote class=3D"gmail_quote" style=3D"m= argin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left= :1ex">Hello, Emacs.<br> <br> In my .emacs I have the following:<br> <br> (eval-after-load "cc-mode"<br> =C2=A0 '(progn<br> =C2=A0 =C2=A0 =C2=A0(if (not (fboundp 'c-display-defun-name))<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(defun c-display-defun-name (&optiona= l arg)<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0"Display the name of the curr= ent CC mode defun and the position in it.<br> With a prefix arg, push the name onto the kill ring too."<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(interactive "P")<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(save-restriction<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(widen)<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(c-save-buffer-state ((name= (c-defun-name))=C2=A0 =C2=A0<=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(limits (c-declaration-= limits t))<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(point-bol (c-point = 9;bol)))<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(when name<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(message &quo= t;%s.=C2=A0 Line %s/%s." name<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 (1+ (count-lines (car limits) point-bol))<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 (count-lines (car limits) (cdr limits)))<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(if arg (kill= -new name))<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(sit-for 3 t)= )))))<br> =C2=A0 =C2=A0 =C2=A0(define-key c-mode-base-map "\C-cn" 'c-di= splay-defun-name)<br> =C2=A0 =C2=A0 =C2=A0(put 'c-display-defun-name 'isearch-scroll t)))= <br> <br> ..=C2=A0 While attempting to start my Emacs, the current Emacs master error= s<br> out with this form, giving the message: <br> <br> =C2=A0stop=C2=A0 Warning (initialization): An error occurred while loading = =E2=80=98/home/acm/.emacs=E2=80=99:<br> <br> error: Eager macro-expansion failure: (wrong-type-argument symbolp (name (c= -defun-name))).<br> <br> ########################################################################<br= > <br> The cause of the error is in macroexp--expand-all in the pcase subform<br> near the end:=C2=A0 (`(,func . ,_) ....).=C2=A0 This subform triggers on (n= ame<br> (c-defun-name)) and calls (function-get '(name (c-defun-name))),<br> thinking that ,func is a symbol.<br> <br> This bug became visible after this commit:<br> <br> commit a4ec9ca12969018cdf15b8cc713b3ba054326f99<br> Author: Stefan Kangas <<a href=3D"mailto:stefankangas@HIDDEN" target= =3D"_blank">stefankangas@HIDDEN</a>><br> Date:=C2=A0 =C2=A0Tue Apr 1 21:25:33 2025 +0200<br> <br> =C2=A0 =C2=A0 function-put: signal error with non-symbol<br> <br> ..=C2=A0 Before that commit function-get returned nil for a non-symbol<br> argument.<br> <br> #########################################################################<b= r> <br> The following patch fixes the bug:<br> <br> <br> diff --git a/lisp/emacs-lisp/macroexp.el b/lisp/emacs-lisp/macroexp.el<br> index 64ec634620a..8fd596ef58c 100644<br> --- a/lisp/emacs-lisp/macroexp.el<br> +++ b/lisp/emacs-lisp/macroexp.el<br> @@ -489,7 +489,7 @@ macroexp--expand-all<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(macro= exp--unfold-lambda `(,fn ,eexp . ,eargs)))<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (_ `(,fn ,ee= xp . ,eargs)))))<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(`(funcall . ,_) form)=C2= =A0 =C2=A0 =C2=A0 ;bug#53227<br> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (`(,func . ,_)<br> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (`(,(and func (pred symbolp)) . = ,_)<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (let ((handler (function-g= et func 'compiler-macro)))<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ;; Macro expand com= piler macros.=C2=A0 This cannot be delayed to<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ;; byte-optimize-fo= rm because the output of the compiler-macro can<br></blockquote><div>=C2=A0= </div><div><span style=3D"font-family:monospace">Looks like this bug report= ed today=C2=A0</span><a href=3D"https://debbugs.gnu.org/cgi/bugreport.cgi?b= ug=3D77550" style=3D"font-family:monospace">https://debbugs.gnu.org/cgi/bug= report.cgi?bug=3D77550</a>=C2=A0</div></div></div> --000000000000addba806320c7b4e--
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.