[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Skipping unexec via a big .elc file
From: |
Ken Raeburn |
Subject: |
Re: Skipping unexec via a big .elc file |
Date: |
Wed, 11 Jan 2017 01:32:43 -0500 |
> On Jan 10, 2017, at 12:19, Eli Zaretskii <address@hidden> wrote:
>
>> From: Andreas Schwab <address@hidden>
>> Date: Tue, 10 Jan 2017 10:46:25 +0100
>> Cc: address@hidden
>>
>> On Jan 09 2017, Stefan Monnier <address@hidden> wrote:
>>
>>> Eli wrote:
>>>> Multiple args to , are not supported: ((\, (quote set-window-parameter))
>>>> temp (\, (quote set-window-parameter)) end)
>>>
>>> Hmm... I don't understand this. This message seems to come from
>>> backquote.el:
>>>
>>> ((eq (car s) backquote-unquote-symbol)
>>> (if (<= level 0)
>>> (cond
>>> ((> (length s) 2)
>>> ;; We could support it with: (cons 2 `(list . ,(cdr s)))
>>> ;; But let's not encourage such uses.
>>> (error "Multiple args to , are not supported: %S" s))
>>> (t (cons (if (eq (car-safe (nth 1 s)) 'quote) 0 1)
>>> (nth 1 s))))
>>> (backquote-delay-process s (1- level))))
>>>
>>> but then `s` should have \, in its car, whereas the above message
>>> indicates that (car s) is (\, (quote set-window-parameter)) which
>>> implies we should not have entered this branch.
>>
>> That can only mean that something clobbered backquote-unquote-symbol.
>
> Yes, the value of backquote-unquote-symbol at this point is indeed
> this:
>
> (\, (quote set-window-parameter))
>
> I guess something is wrong with reading dumped.elc?
At the moment it’s looking to me like it might be a problem with my #N# patch
for writing out symbols. It got a little more of a speedup reading dumped.elc,
but if I drop that change, I get a lot further in trying to bootstrap the tree
with your change. It still fails while processing the “leim” directory, though.
Indeed, looking at dumped.elc, I see:
(#35# '#5646# '#218#)
where 35 is set-default, 5646 is backquote-unquote-symbol, and 218 is
,’set-window-parameter thanks to "#218=,’#897=set-window-parameter" being read
from dumped.elc. I suspect 218 was supposed to be just the comma, but the
special printing of comma forms was still applied but is not compatible with
the #N# handling, so comma and related symbols should just be excluded from
that hack.
I’ll test that out, but in the meantime, commenting out the binding in
loadup.el of print-symbols-as-references should make things work again
(bootstrapping up until partway through the leim directory).
Ken
- Re: Skipping unexec via a big .elc file, Eli Zaretskii, 2017/01/07
- Re: Skipping unexec via a big .elc file, Ken Raeburn, 2017/01/09
- Re: Skipping unexec via a big .elc file, Stefan Monnier, 2017/01/09
- Re: Skipping unexec via a big .elc file, Andreas Schwab, 2017/01/10
- Re: Skipping unexec via a big .elc file, Eli Zaretskii, 2017/01/10
- Re: Skipping unexec via a big .elc file,
Ken Raeburn <=
- Re: Skipping unexec via a big .elc file, Ken Raeburn, 2017/01/12
- Re: Skipping unexec via a big .elc file, Eli Zaretskii, 2017/01/14
- Re: Skipping unexec via a big .elc file, Andreas Schwab, 2017/01/14
- Re: Skipping unexec via a big .elc file, Eli Zaretskii, 2017/01/14
- Re: Skipping unexec via a big .elc file, Alan Mackenzie, 2017/01/14
- Re: Skipping unexec via a big .elc file, Andreas Schwab, 2017/01/14
- Re: Skipping unexec via a big .elc file, Eli Zaretskii, 2017/01/14
- Re: Skipping unexec via a big .elc file, Andreas Schwab, 2017/01/14
- Re: Skipping unexec via a big .elc file, Eli Zaretskii, 2017/01/14
- Re: Skipping unexec via a big .elc file, Andreas Schwab, 2017/01/14