Mercurial > emacs
changeset 31412:828b2b8afdc0
(init_buffer) [REL_ALLOC_MMAP]: Map new buffer
text buffers if necessary.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Wed, 06 Sep 2000 21:25:12 +0000 |
parents | 920b03e019bf |
children | c3b1fc2b0d11 |
files | src/buffer.c |
diffstat | 1 files changed, 18 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/buffer.c Wed Sep 06 21:24:56 2000 +0000 +++ b/src/buffer.c Wed Sep 06 21:25:12 2000 +0000 @@ -4217,12 +4217,29 @@ void init_buffer () { - char buf[MAXPATHLEN+1]; + char buf[MAXPATHLEN + 1]; char *pwd; struct stat dotstat, pwdstat; Lisp_Object temp; int rc; +#ifdef REL_ALLOC_MMAP + { + /* When using the ralloc implementation based on mmap(2), buffer + text pointers will have been set to null in the dumped Emacs. + Map new memory. */ + struct buffer *b; + + BLOCK_INPUT; + for (b = all_buffers; b; b = b->next) + if (b->text->beg == NULL) + BUFFER_REALLOC (BUF_BEG_ADDR (b), + (BUF_Z_BYTE (b) - BUF_BEG_BYTE (b) + + BUF_GAP_SIZE (b) + 1)); + UNBLOCK_INPUT; + } +#endif /* REL_ALLOC_MMAP */ + Fset_buffer (Fget_buffer_create (build_string ("*scratch*"))); if (NILP (buffer_defaults.enable_multibyte_characters)) Fset_buffer_multibyte (Qnil);