aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii2016-03-29 20:38:54 +0300
committerEli Zaretskii2016-03-29 20:38:54 +0300
commit06495c96ae0f5a0fa1d56f47750624138f80cb94 (patch)
tree6bcc48627f3833b1dc26eb972e96920b444c3013 /src
parentf99b51295b86770e4b16d4717c0e73049191c4c5 (diff)
downloademacs-06495c96ae0f5a0fa1d56f47750624138f80cb94.tar.gz
emacs-06495c96ae0f5a0fa1d56f47750624138f80cb94.zip
Fix rare problems with echo-area display and multiple frames
* src/xdisp.c (redisplay_window): Bind inhibit-redisplay non-nil around the call to x_consider_frame_title, to prevent resize_mini_window from undoing echo-area display. (Bug#23124)
Diffstat (limited to 'src')
-rw-r--r--src/xdisp.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/xdisp.c b/src/xdisp.c
index d701306b22c..5be94f0cd07 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -17082,7 +17082,16 @@ redisplay_window (Lisp_Object window, bool just_this_one_p)
17082 ignore_mouse_drag_p = true; 17082 ignore_mouse_drag_p = true;
17083#endif 17083#endif
17084 } 17084 }
17085 ptrdiff_t count1 = SPECPDL_INDEX ();
17086 /* x_consider_frame_title calls select-frame, which calls
17087 resize_mini_window, which could resize the mini-window and by
17088 that undo the effect of this redisplay cycle wrt minibuffer
17089 and echo-area display. Binding inhibit-redisplay to t makes
17090 the call to resize_mini_window a no-op, thus avoiding the
17091 adverse side effects. */
17092 specbind (Qinhibit_redisplay, Qt);
17085 x_consider_frame_title (w->frame); 17093 x_consider_frame_title (w->frame);
17094 unbind_to (count1, Qnil);
17086#endif 17095#endif
17087 } 17096 }
17088 17097