diff options
author | Alan Mackenzie <acm@muc.de> | 2021-01-31 17:24:23 +0000 |
---|---|---|
committer | Alan Mackenzie <acm@muc.de> | 2021-01-31 17:24:23 +0000 |
commit | 427d4b3c69f9d2fd8473189564dc1e96b27937ff (patch) | |
tree | 1d4fd7cbb5b3e14f983e91fec517cf9a82736a72 | |
parent | 4b2203a07ebca62a012e0509ddd62451cb15a914 (diff) | |
download | emacs-427d4b3c69f9d2fd8473189564dc1e96b27937ff.tar.gz |
Minimise the time Vminibuffer_list is in an inconsistent state (src/minibuf.c)
src/minibuf.c (get_minibuffer): Move the XSETCAR which writes the new
minibuffer into Vminibuffer_list to immediately after the MB's creation, so
that the list is in a consistent state before calling fundamental-mode or
minibuffer-inactive-mode.
-rw-r--r-- | src/minibuf.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/minibuf.c b/src/minibuf.c index 0221f388dda..949c3d989d5 100644 --- a/src/minibuf.c +++ b/src/minibuf.c @@ -971,12 +971,12 @@ get_minibuffer (EMACS_INT depth) char name[sizeof name_fmt + INT_STRLEN_BOUND (EMACS_INT)]; AUTO_STRING_WITH_LEN (lname, name, sprintf (name, name_fmt, depth)); buf = Fget_buffer_create (lname, Qnil); + /* Do this before set_minibuffer_mode. */ + XSETCAR (tail, buf); set_minibuffer_mode (buf, depth); /* Although the buffer's name starts with a space, undo should be enabled in it. */ Fbuffer_enable_undo (buf); - - XSETCAR (tail, buf); } else { |