unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: "Mattias Engdegård" <mattiase@acm.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 63722-done@debbugs.gnu.org, richard newton <richardn26@gmail.com>
Subject: bug#63722: 29.0.91; (elisp) Skip to end #@00 does not work
Date: Fri, 26 May 2023 11:22:40 +0200	[thread overview]
Message-ID: <2ABCFF9F-1487-4EF0-AF4D-ADA567ACA344@acm.org> (raw)
In-Reply-To: <83y1lcl08j.fsf@gnu.org>

25 maj 2023 kl. 20.44 skrev Eli Zaretskii <eliz@gnu.org>:

>> With emacs 29.0.91 pretest, the "skip to end" syntax #@00 no longer seems to work. For example,
>> with the three lines below in a buffer (eval-buffer) gives the error - End of file during parsing. With
>> previous emacs versions it did not complain.
>> 
>> (setq testStr "zz")
>> #@00
>> should be ignored

Thank you for reporting this. The undocumented #@00 behaviour has indeed been co-opted by parts of the community as an 'pretend end-of-file occurs here' mechanism, but it actually works as if only the value `nil` were left in the buffer. This is fine in files containing Lisp source where a top-level nil has no effect, but could cause trouble if used in Lisp data files.

Obviously we are going to keep the old reader behaviour for compatibility for now since there is little to gain from not doing so.

Ideally we should stop handling comments and whitespace in readevalloop because the actual reader (read0) is perfectly capable of doing that. We need a way to distinguish 'EOF before anything could be read' from 'EOF when we have read an incomplete value', both of which currently signal `end-of-file`. Not sure how best to do that in a compatible way, however.

> Does the below look like the correct way of fixing this regression?

Thank you and yes, roughly speaking -- a fix has now been pushed to emacs-29, and I'm closing the bug.






  reply	other threads:[~2023-05-26  9:22 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-25 14:19 bug#63722: 29.0.91; (elisp) Skip to end #@00 does not work richard newton
2023-05-25 18:44 ` Eli Zaretskii
2023-05-26  9:22   ` Mattias Engdegård [this message]
2023-05-26  9:43     ` Michael Albinus
2023-05-26  9:51       ` Mattias Engdegård
2023-05-26  9:56         ` Michael Albinus
2023-05-26 10:36           ` Eli Zaretskii
2023-05-26 11:55             ` Mattias Engdegård

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2ABCFF9F-1487-4EF0-AF4D-ADA567ACA344@acm.org \
    --to=mattiase@acm.org \
    --cc=63722-done@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    --cc=richardn26@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).