emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: MPS: Forwording symbols


From: Eli Zaretskii
Subject: Re: MPS: Forwording symbols
Date: Tue, 18 Jun 2024 16:08:57 +0300

> From: Helmut Eller <eller.helmut@gmail.com>
> Cc: Emacs Devel <emacs-devel@gnu.org>,  Eli Zaretskii <eliz@gnu.org>
> Date: Tue, 18 Jun 2024 14:05:39 +0200
> 
> On Tue, Jun 18 2024, Gerd Möllmann wrote:
> 
> >> Those in buffer.c are at least easy to understand. Strange: there are
> >> 4 IGC_OBJ_DUMPED_BUFFER_TEXT objects in the dump but only 3 buffers in
> >> Vbuffer_alist.
> >
> > Somehow there is never an end to surprises...
> 
> An interesting comment in buffer.c:

Yes, yours truly is responsible for it ;-)

>       /* The dumped buffers reference addresses of buffer text
>        recorded by temacs, that cannot be used by the dumped Emacs.
>        We map new memory for their text here.
> 
>        Implementation notes: the buffers we carry from temacs are:
>        " prin1", "*scratch*", " *Minibuf-0*", "*Messages*", and
>        " *code-conversion-work*".  They are created by
>        init_buffer_once and init_window_once (which are not called
>        in the dumped Emacs), and by the first call to coding.c
>        routines.  Since FOR_EACH_LIVE_BUFFER only walks the buffers
>        in Vbuffer_alist, any buffer we carry from temacs that is
>        not in the alist (a.k.a. "magic invisible buffers") should
>        be handled here explicitly.  */
>       FOR_EACH_LIVE_BUFFER (tail, buffer)
>         {
>         struct buffer *b = XBUFFER (buffer);
>         b->text->beg = NULL;
>         enlarge_buffer_text (b, 0);
>       }
>       /* The " prin1" buffer is not in Vbuffer_alist.  */
>       XBUFFER (Vprin1_to_string_buffer)->text->beg = NULL;
>       enlarge_buffer_text (XBUFFER (Vprin1_to_string_buffer), 0);
> 
> The " *code-conversion-work*" buffer doesn't seem to exist anymore and

It does exist.  From coding.c:

  Vcode_conversion_workbuf_name = build_pure_c_string (" 
*code-conversion-work*");

AFAIR, whether it exists in the dump depends on what happens during
dumping, probably due to locale differences or something.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]