Subject: bug#64294: closed (Re: bug#64294: 30.0.50; setf strange when lexical-binding is nil)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 26 Jun 2023 07:42:01 +0000

Your bug report

#64294: 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].

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

Subject: Re: bug#64294: 30.0.50; setf strange when lexical-binding is nil
From: Katsumi Yamaoka <[email-masked]>
To: [email-masked]
Date: Mon, 26 Jun 2023 16:41:25 +0900
List-Id: <debbugs-submit.debbugs.gnu.org>

Duplicate.  Sorry for the noise.

Subject: 30.0.50; setf strange when lexical-binding is nil
From: Katsumi Yamaoka <[email-masked]>
To: [email-masked]
Date: Mon, 26 Jun 2023 09:40:58 +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 replased 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