emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#63722: closed (29.0.91; (elisp) Skip to end #@00 does not work)


From: GNU bug Tracking System
Subject: bug#63722: closed (29.0.91; (elisp) Skip to end #@00 does not work)
Date: Fri, 26 May 2023 09:23:01 +0000

Your message dated Fri, 26 May 2023 11:22:40 +0200
with message-id <2ABCFF9F-1487-4EF0-AF4D-ADA567ACA344@acm.org>
and subject line Re: bug#63722: 29.0.91; (elisp) Skip to end #@00 does not work
has caused the debbugs.gnu.org bug report #63722,
regarding 29.0.91; (elisp) Skip to end #@00 does not work
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs@gnu.org.)


-- 
63722: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=63722
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
--- Begin Message --- Subject: 29.0.91; (elisp) Skip to end #@00 does not work Date: Thu, 25 May 2023 16:19:42 +0200
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

In GNU Emacs 29.0.91 (build 1, x86_64-pc-linux-gnu, GTK+ Version
 3.24.37, cairo version 1.16.0) of 2023-05-18 built on n26-hp
Windowing system distributor 'The X.Org Foundation', version 11.0.12201009
System Description: Debian GNU/Linux 12 (bookworm)

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NOTIFY
INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS
WEBP X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB

--- End Message ---
--- Begin Message --- Subject: Re: bug#63722: 29.0.91; (elisp) Skip to end #@00 does not work Date: Fri, 26 May 2023 11:22:40 +0200
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.



--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]