Subject: bug#64292: closed (Re: bug#64315: Acknowledgement (30.0.50; yasnippets not working due to change in bytecomp.el))

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 28 Jun 2023 18:33:02 +0000

Your bug report

#64315: 30.0.50; setf strange when lexical-binding is nil

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
64315: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=64315
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#64315: Acknowledgement (30.0.50; yasnippets not working due to change in bytecomp.el)
From: Eli Zaretskii <[email-masked]>
To: Pedro Andres Aranda Gutierrez <[email-masked]>
Cc: [email-masked], [email-masked]
Date: Wed, 28 Jun 2023 21:33:18 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

> From: Pedro Andres Aranda Gutierrez <[email-masked]>
> Date: Wed, 28 Jun 2023 18:48:19 +0200
> Cc: [email-masked], Eli Zaretskii <[email-masked]>
> 
> Yes, that did it! Thanks a ton, /PA

Thanks for testing, I'm closing the bug.

Subject: 30.0.50; setf strange when lexical-binding is nil
From: Katsumi Yamaoka <[email-masked]>
To: [email-masked]
Date: Mon, 26 Jun 2023 10:45:34 +0900
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

In the *scratch* buffer:

(setq lexical-binding nil)
(require 'nnheader)
(macroexpand '(setf (mail-header-date header) date))
 => (let* ((v #'(lambda (cl-x) (progn (progn (aref cl-x 3)))))
           (v header))
      (\(setf\ funcall\) date v v))

This looks broken, though it gets normal if lexical-binding is t.
Because of this, an old ELisp module doesn't work.  In addition,
the funny portion is replaced with
\(setf\ internal--with-suppressed-warnings\)...
if the code is byte-compiled.

Thanks.

In GNU Emacs 30.0.50 (build 1, x86_64-pc-cygwin, GTK+ Version
 3.22.28, cairo version 1.17.4) of 2023-06-26 built on localhost