GNU bug report logs - #54433
29.0.50; Invalid read syntax: "#<" with async-bytecomp

Previous Next

Package: emacs;

Reported by: Michael Heerdegen <michael_heerdegen <at> web.de>

Date: Thu, 17 Mar 2022 02:56:02 UTC

Severity: normal

Found in version 29.0.50

Done: Michael Heerdegen <michael_heerdegen <at> web.de>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Alan Mackenzie <acm <at> muc.de>
To: Michael Heerdegen <michael_heerdegen <at> web.de>
Cc: 54433 <at> debbugs.gnu.org, acm <at> muc.de
Subject: bug#54433: 29.0.50; Invalid read syntax: "#<" with async-bytecomp
Date: Fri, 18 Mar 2022 11:58:34 +0000
Hello, Michael.

On Fri, Mar 18, 2022 at 00:50:17 +0100, Michael Heerdegen wrote:
> Alan Mackenzie <acm <at> muc.de> writes:

> > Could you please give a recipe for this situation, preferably starting
> > from emacs -Q?  I don't know how to use async-bytecomp.el, for
> > example.

> Here is the issue:

> https://github.com/jwiegley/emacs-async/issues/153

Thanks.  I've read it, now.

> But I don't think async or async-bytecomp is related to this issue at
> all.  It only hits an issue with vanilla Emacs.  I think it's not
> necessary for you to have a look at async, unless you are interested,
> also because I have a recipe for emacs -Q:

> Byte compile lisp/calendar/appt.el (I did that with B from dired); after
> that:

> byte-optimize--dynamic-vars ->
> (#<symbol original-date at 24141> #<symbol number at 24125>)

> The problem for async-bytecomp is then only that a result like this is
> not `read'able after being printed.

I made a mistake in my last post.  There's actually no reason
byte-optimize--dynamic-vars shouldn't contain symbols with position.
That's what it accumulates.  It is also meant to be a private variable
in the byte compilation (hence the "--" in its name).

Why is async-bytecomp copying byte-optimize--dynamic-vars?  There seems
to be no reason.  Maybe any variables with "--" in their symbols should
be filtered out of the copying operation.

Also, is printing followed by reading really the best way to get a copy
of a Lisp object?  There are several Lisp types, possibly most of them,
whose printed representation can't be read; things like buffers,
windows, processes, .....  I think only the really common objects, like
lists, vectors, strings, numbers have readable printed representations.

> Thierry has removed that variable from the list of handled variables for
> now which circumvents the problem.

I've had at least two Cc:s to Thierry at <thierry.volpiatto <at> gmail.com>
bounce with "address does not exist".  Do you know if Thierry has
changed his address, or could it just be Google playing more silly
games?

> Michael.

-- 
Alan Mackenzie (Nuremberg, Germany).




This bug report was last modified 3 years and 114 days ago.

Previous Next


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