diff options
| author | Eli Zaretskii | 2021-04-30 14:22:29 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2021-04-30 14:22:29 +0300 |
| commit | ab7a61e0efd0684bc37a556d12f36521f9f61782 (patch) | |
| tree | 52b7021faee65813d8a731e7d070508b5c073bd3 /src/buffer.c | |
| parent | 8e083440e10fb6415cecce4f2536e5c33e06dc27 (diff) | |
| download | emacs-ab7a61e0efd0684bc37a556d12f36521f9f61782.tar.gz emacs-ab7a61e0efd0684bc37a556d12f36521f9f61782.zip | |
Fix the unexec build on MS-Windows
* src/buffer.c (init_buffer) [USE_MMAP_FOR_BUFFERS]: If dumped
with unexec, be sure to map new memory also for the " prin1"
buffer. For the reasons and discussion, see
https://lists.gnu.org/archive/html/emacs-devel/2021-04/msg01401.html.
Diffstat (limited to 'src/buffer.c')
| -rw-r--r-- | src/buffer.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/buffer.c b/src/buffer.c index 8e33162989b..9e417bf555c 100644 --- a/src/buffer.c +++ b/src/buffer.c | |||
| @@ -5390,17 +5390,24 @@ init_buffer (void) | |||
| 5390 | recorded by temacs, that cannot be used by the dumped Emacs. | 5390 | recorded by temacs, that cannot be used by the dumped Emacs. |
| 5391 | We map new memory for their text here. | 5391 | We map new memory for their text here. |
| 5392 | 5392 | ||
| 5393 | Implementation note: the buffers we carry from temacs are: | 5393 | Implementation notes: the buffers we carry from temacs are: |
| 5394 | " prin1", "*scratch*", " *Minibuf-0*", "*Messages*", and | 5394 | " prin1", "*scratch*", " *Minibuf-0*", "*Messages*", and |
| 5395 | " *code-conversion-work*". They are created by | 5395 | " *code-conversion-work*". They are created by |
| 5396 | init_buffer_once and init_window_once (which are not called | 5396 | init_buffer_once and init_window_once (which are not called |
| 5397 | in the dumped Emacs), and by the first call to coding.c routines. */ | 5397 | in the dumped Emacs), and by the first call to coding.c |
| 5398 | routines. Since FOR_EACH_LIVE_BUFFER only walks the buffers | ||
| 5399 | in Vbuffer_alist, any buffer we carry from temacs that is | ||
| 5400 | not in the alist (a.k.a. "magic invisible buffers") should | ||
| 5401 | be handled here explicitly. */ | ||
| 5398 | FOR_EACH_LIVE_BUFFER (tail, buffer) | 5402 | FOR_EACH_LIVE_BUFFER (tail, buffer) |
| 5399 | { | 5403 | { |
| 5400 | struct buffer *b = XBUFFER (buffer); | 5404 | struct buffer *b = XBUFFER (buffer); |
| 5401 | b->text->beg = NULL; | 5405 | b->text->beg = NULL; |
| 5402 | enlarge_buffer_text (b, 0); | 5406 | enlarge_buffer_text (b, 0); |
| 5403 | } | 5407 | } |
| 5408 | /* The " prin1" buffer is not in Vbuffer_alist. */ | ||
| 5409 | XBUFFER (Vprin1_to_string_buffer)->text->beg = NULL; | ||
| 5410 | enlarge_buffer_text (XBUFFER (Vprin1_to_string_buffer), 0); | ||
| 5404 | } | 5411 | } |
| 5405 | #endif /* USE_MMAP_FOR_BUFFERS */ | 5412 | #endif /* USE_MMAP_FOR_BUFFERS */ |
| 5406 | 5413 | ||