GNU bug report logs - #62020
Lisp reader: dotted pair notation not working when initial elements are omitted

Previous Next

Package: emacs;

Reported by: Federico Tedin <federicotedin <at> gmail.com>

Date: Tue, 7 Mar 2023 01:15:02 UTC

Severity: normal

Done: Mattias EngdegÄrd <mattiase <at> acm.org>

Bug is archived. No further changes may be made.

Full log


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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Federico Tedin <federicotedin <at> gmail.com>,
 Mattias EngdegÄrd <mattiase <at> acm.org>,
 Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 62020 <at> debbugs.gnu.org
Subject: Re: bug#62020: Lisp reader: dotted pair notation not working when
 initial elements are omitted
Date: Tue, 07 Mar 2023 14:53:59 +0200
> From: Federico Tedin <federicotedin <at> gmail.com>
> Date: Tue, 7 Mar 2023 02:14:02 +0100
> 
> According to the Elisp docs
> (https://www.gnu.org/software/emacs/manual/html_node/elisp/Dotted-Pair-Notation.html),
> one should be able to evaluate e.g.:
>     (. 1)
> to:
>     1
> 
> This works correctly in Emacs 28.1 However, in the emacs-29 branch
> (bd07cec) this results in:
>     *** Read error ***  Invalid read syntax: "."
> 
> Since the description in the docs are the same in the emacs-29 I
> assume this is a bug.
> I believe this may have been caused by the changes implementing the
> nonrecursive Lisp reader.
> I believe the fix would be roughly:
> - in read0 (lread.c), when handling c == '.', ensure we handle not
> only the case where the top of the read stack is RE_list but *also*
> RE_list_start.
> - if the top of the stack was effectively RE_list_start, then the top
> of the stack needs to be manipulated somehow so that at the end of
> read0 the correct value is returned, when emptying the stack.

Stefan and Mattias, can you please see how to fix this regression?




This bug report was last modified 2 years and 71 days ago.

Previous Next


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