diff options
author | Eli Zaretskii <eliz@gnu.org> | 2021-05-15 20:44:40 +0300 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2021-05-15 20:44:40 +0300 |
commit | b5e6dba05fcb4fa1c716dc759f8c4b2561bacaa7 (patch) | |
tree | 5fc6025d8adfe5cbf49439c7b7cf5fb7d2c8fcae /src/minibuf.c | |
parent | 46e4704e2abca4d264a43965f92eab7608211ee6 (diff) | |
download | emacs-b5e6dba05fcb4fa1c716dc759f8c4b2561bacaa7.tar.gz emacs-b5e6dba05fcb4fa1c716dc759f8c4b2561bacaa7.tar.bz2 emacs-b5e6dba05fcb4fa1c716dc759f8c4b2561bacaa7.zip |
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.c | 12 |
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 |