Subject: Re: bug#54433: 29.0.50; Invalid read syntax: "#<" with async-bytecomp

From: Alan Mackenzie <[email-masked]>
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 <[email-masked]> 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 <[email-masked]>
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).