GNU bug report logs - #64292
30.0.50; setf strange when lexical-binding is nil

Previous Next

Package: emacs;

Reported by: Katsumi Yamaoka <yamaoka <at> jpl.org>

Date: Mon, 26 Jun 2023 01:46:02 UTC

Severity: normal

Merged with 64315

Found in version 30.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Katsumi Yamaoka <yamaoka <at> jpl.org>
To: bug-gnu-emacs <at> gnu.org
Subject: 30.0.50; setf strange when lexical-binding is nil
Date: Mon, 26 Jun 2023 10:45:34 +0900
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




This bug report was last modified 1 year and 332 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.