aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorYuan Fu2022-10-06 11:06:07 -0700
committerYuan Fu2022-10-06 11:06:07 -0700
commitcea1e95d386270e1e682719232f2cfad384fab91 (patch)
tree75d321f44616ae595756e46144c0cb236c3d72aa /src
parent7ebbd4efc3d45403cf845d35c36c21756baeeba8 (diff)
parent0c65c9dfb3e1133a16dacd941b2a3cfb892e148a (diff)
downloademacs-cea1e95d386270e1e682719232f2cfad384fab91.tar.gz
emacs-cea1e95d386270e1e682719232f2cfad384fab91.zip
Merge branch 'master' into feature/tree-sitter
Diffstat (limited to 'src')
-rw-r--r--src/eval.c2
-rw-r--r--src/nsmenu.m5
-rw-r--r--src/window.c2
-rw-r--r--src/xterm.c6
4 files changed, 13 insertions, 2 deletions
diff --git a/src/eval.c b/src/eval.c
index de9c07f1552..8b157824b76 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1651,10 +1651,12 @@ process_quit_flag (void)
1651void 1651void
1652probably_quit (void) 1652probably_quit (void)
1653{ 1653{
1654 specpdl_ref gc_count = inhibit_garbage_collection ();
1654 if (!NILP (Vquit_flag) && NILP (Vinhibit_quit)) 1655 if (!NILP (Vquit_flag) && NILP (Vinhibit_quit))
1655 process_quit_flag (); 1656 process_quit_flag ();
1656 else if (pending_signals) 1657 else if (pending_signals)
1657 process_pending_signals (); 1658 process_pending_signals ();
1659 unbind_to (gc_count, Qnil);
1658} 1660}
1659 1661
1660DEFUN ("signal", Fsignal, Ssignal, 2, 2, 0, 1662DEFUN ("signal", Fsignal, Ssignal, 2, 2, 0,
diff --git a/src/nsmenu.m b/src/nsmenu.m
index ae795a0d22b..b06f737bacf 100644
--- a/src/nsmenu.m
+++ b/src/nsmenu.m
@@ -1551,7 +1551,6 @@ pop_down_menu (void *arg)
1551#ifdef NS_IMPL_COCOA 1551#ifdef NS_IMPL_COCOA
1552 [[FRAME_NS_VIEW (SELECTED_FRAME ()) window] makeKeyWindow]; 1552 [[FRAME_NS_VIEW (SELECTED_FRAME ()) window] makeKeyWindow];
1553#endif 1553#endif
1554 discard_menu_items ();
1555 } 1554 }
1556} 1555}
1557 1556
@@ -1599,6 +1598,7 @@ ns_popup_dialog (struct frame *f, Lisp_Object header, Lisp_Object contents)
1599 1598
1600 if (error_name) 1599 if (error_name)
1601 { 1600 {
1601 unbind_to (specpdl_count, Qnil);
1602 discard_menu_items (); 1602 discard_menu_items ();
1603 [dialog close]; 1603 [dialog close];
1604 error ("%s", error_name); 1604 error ("%s", error_name);
@@ -1608,6 +1608,9 @@ ns_popup_dialog (struct frame *f, Lisp_Object header, Lisp_Object contents)
1608 popup_activated_flag = 1; 1608 popup_activated_flag = 1;
1609 tem = [dialog runDialogAt: p]; 1609 tem = [dialog runDialogAt: p];
1610 unbind_to (specpdl_count, Qnil); 1610 unbind_to (specpdl_count, Qnil);
1611
1612 /* This must come *after* unuse_menu_items. */
1613 discard_menu_items ();
1611 return tem; 1614 return tem;
1612} 1615}
1613 1616
diff --git a/src/window.c b/src/window.c
index 12a212a85ac..da80fabe33f 100644
--- a/src/window.c
+++ b/src/window.c
@@ -8213,6 +8213,8 @@ init_window_once (void)
8213 8213
8214 minibuf_selected_window = Qnil; 8214 minibuf_selected_window = Qnil;
8215 staticpro (&minibuf_selected_window); 8215 staticpro (&minibuf_selected_window);
8216 old_selected_window = Qnil;
8217 staticpro (&old_selected_window);
8216 8218
8217 pdumper_do_now_and_after_late_load (init_window_once_for_pdumper); 8219 pdumper_do_now_and_after_late_load (init_window_once_for_pdumper);
8218} 8220}
diff --git a/src/xterm.c b/src/xterm.c
index f3bfae457ba..1d58e80f003 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -29252,7 +29252,11 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name)
29252#endif 29252#endif
29253 29253
29254#ifdef HAVE_X_I18N 29254#ifdef HAVE_X_I18N
29255 xim_initialize (dpyinfo, resource_name); 29255 /* Avoid initializing input methods if the X library does not
29256 support Emacs's locale. When the current locale is not
29257 supported, decoding input method strings becomes undefined. */
29258 if (XSupportsLocale ())
29259 xim_initialize (dpyinfo, resource_name);
29256#endif 29260#endif
29257 29261
29258 xsettings_initialize (dpyinfo); 29262 xsettings_initialize (dpyinfo);