[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#54098: 29.0.50; Unexec build broken
From: |
Alan Mackenzie |
Subject: |
bug#54098: 29.0.50; Unexec build broken |
Date: |
Tue, 22 Feb 2022 11:15:27 +0000 |
Hello, Po.
On Tue, Feb 22, 2022 at 16:12:09 +0800, Po Lu wrote:
> Po Lu <luangruo@yahoo.com> writes:
> > 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.
> The problem is that `byte-run-strip-symbol-positions' can modify forms
> which are in pure space.
Ah. I didn't know we still supported the unexec build.
> It should return a copy of the form instead, but I don't know if the
> rest of the byte compiler relies on the side effects symbol position
> stripping.
There are no such dependencies. It's just that copying a Lisp structure
is difficult. For example, copy-tree doesn't work when there are
circular lists.
But making a copy would indeed be better. Maybe I can hack something
together from first principles, that would handle circular structures
correctly.
> Alan, WDYT?
I'll look at it. I think I should be able to fix it.
--
Alan Mackenzie (Nuremberg, Germany).