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

From: Alan Mackenzie <[email-masked]>
Date: Thu, 17 Mar 2022 11:28:17 +0000

Hello, Michael.

Thanks for the bug report.

On Thu, Mar 17, 2022 at 03:55:27 +0100, Michael Heerdegen wrote:

> Hello,

> when updating packages with M-x package-list-packages, and using
> async-bytecomp.el to compile, some users get an error like this one:

> error in process sentinel: async-when-done: Invalid read syntax: "#<"
> error in process sentinel: Invalid read syntax: "#<"

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.

> This seems to be related to the recent addition of symbols with
> positions.

It sounds like something is storing a compiler intermediate form, and
reading it again with the reader.

> async uses `async-inject-variables' to collect variable bindings of
> interest and deliver them to the other Emacs instance.  The return value
> contains symbols with positions in some scenarios.

> The root of the trouble seems to be the value of
> `byte-optimize--dynamic-vars'.  As soon as I byte compile any file, I
> see lots of symbols with positions in `byte-optimize--dynamic-vars'.

Thanks, that should be useful information.

> Is that expected?  What has to be done?

No, it is not expected.  As for what needs doing, let's just say I
wasn't aware of the existence of async-bytecomp.el a day or two ago.
;-(

> TIA,

> Michael.

> In GNU Emacs 29.0.50 (build 55, x86_64-pc-linux-gnu, GTK+ Version 3.24.24, cairo version 1.16.0)
>  of 2022-03-17 built on drachen
> Repository revision: 97e687006498490cca1e6dabc1ea7e692271c5ed
> Repository branch: master
> Windowing system distributor 'The X.Org Foundation', version 11.0.12011000
> System Description: Debian GNU/Linux 11 (bullseye)

> Configured using:
>  'configure --with-native-compilation --with-xwidgets'

-- 
Alan Mackenzie (Nuremberg, Germany).