--- Begin Message ---
Subject: |
29.0.50; Unexec build broken |
Date: |
Tue, 22 Feb 2022 15:07:11 +0800 |
I get:
In titdic-convert:
international/titdic-cnv.el:473:2: Error: Attempt to modify read-only object:
(generic dispatches-left methods)
international/titdic-cnv.el:473:2: Error: Invalid function: "
In titdic-convert:
international/titdic-cnv.el:473:2: Error: Attempt to modify read-only object:
(generic dispatches-left methods)"
Makefile:328: recipe for target
'c:/emacs/emacs-29.0.50/lisp/international/titdic-cnv.elc' failed
When trying to build an unexec build, where, presumably, some more
things in pure space are read only.
Thanks.
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#54098: 29.0.50; Unexec build broken |
Date: |
Thu, 24 Feb 2022 17:38:54 +0000 |
Hello, Po.
On Thu, Feb 24, 2022 at 08:19:55 +0800, Po Lu wrote:
> Alan Mackenzie <acm@muc.de> writes:
> > I've changed approach. The previous code was continually overwriting
> > Lisp objects with themselves, particularly where it didn't need doing.
> > This is surely (??) what was happening in the pure storage.
> >
> > I've rewritten byte-run-strip-symbol-positions, so that changes are only
> > attempted where they're needed, i.e. where a symbol with position gets
> > replaced by its bare symbol.
> >
> > I'm hoping that this will now work OK, though I don't have a setup using
> > unexec to test it with. Would you please test it.
> >
> > I'm tending to the view that we need to make this function available to
> > Lisp hackers. I think we need both varieties of the function (the one
> > that makes a copy, and the one that modifies in situ), and that they
> > should be called simply strip-symbol-positions and
> > n-strip-symbol-positions (like reverse and nreverse).
> >
> > Anyhow, here's the patch:
> Bootstrapping an unexec build works now with your patch. Thanks.
I've committed the patch to master, and I'm closing the bug with this
post.
--
Alan Mackenzie (Nuremberg, Germany).
--- End Message ---