summaryrefslogtreecommitdiff
path: root/src/minibuf.c
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2021-05-15 20:44:40 +0300
committerEli Zaretskii <eliz@gnu.org>2021-05-15 20:44:40 +0300
commitb5e6dba05fcb4fa1c716dc759f8c4b2561bacaa7 (patch)
tree5fc6025d8adfe5cbf49439c7b7cf5fb7d2c8fcae /src/minibuf.c
parent46e4704e2abca4d264a43965f92eab7608211ee6 (diff)
downloademacs-b5e6dba05fcb4fa1c716dc759f8c4b2561bacaa7.tar.gz
Fix segfaults when byte-compiling with native-compilation
* src/emacs.c (main): Call 'set_initial_minibuffer_mode' before entering recursive-exit. * src/minibuf.c (init_minibuf_once_for_pdumper): Don't call 'set_minibuffer_mode' here... (set_initial_minibuffer_mode): ... set it in this new function. (Bug#48446) * src/lisp.h: Add prototype for 'set_initial_minibuffer_mode'.
Diffstat (limited to 'src/minibuf.c')
-rw-r--r--src/minibuf.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/minibuf.c b/src/minibuf.c
index b40d1fbafc8..cffb7fe787c 100644
--- a/src/minibuf.c
+++ b/src/minibuf.c
@@ -2271,6 +2271,13 @@ If no minibuffer is active, return nil. */)
+void
+set_initial_minibuffer_mode (void)
+{
+ Lisp_Object minibuf = get_minibuffer (0);
+ set_minibuffer_mode (minibuf, 0);
+}
+
static void init_minibuf_once_for_pdumper (void);
void
@@ -2279,6 +2286,8 @@ init_minibuf_once (void)
staticpro (&Vminibuffer_list);
staticpro (&Vcommand_loop_level_list);
pdumper_do_now_and_after_load (init_minibuf_once_for_pdumper);
+ /* Ensure our inactive minibuffer exists. */
+ get_minibuffer (0);
}
static void
@@ -2296,9 +2305,6 @@ init_minibuf_once_for_pdumper (void)
minibuf_prompt = Qnil;
minibuf_save_list = Qnil;
last_minibuf_string = Qnil;
- /* Ensure our inactive minibuffer exists. */
- Lisp_Object minibuf = get_minibuffer (0);
- set_minibuffer_mode (minibuf, 0);
}
void