emacs-devel
[Top][All Lists]
Advanced

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

Re: MPS: Forwording symbols


From: Helmut Eller
Subject: Re: MPS: Forwording symbols
Date: Tue, 18 Jun 2024 14:05:39 +0200
User-agent: Gnus/5.13 (Gnus v5.13)

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:

      /* 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
the only non-empty buffer is *Messages*, which contains 374 bytes
(pretty useless to have in the dump).  The quoted code is only used when
dumped_with_unexec_p, but I was going to do almost the same.



reply via email to

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