aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog4
-rw-r--r--src/minibuf.c19
2 files changed, 23 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 398fe286de9..e550604498d 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,7 @@
12005-12-31 Richard M. Stallman <rms@gnu.org>
2
3 * minibuf.c (read_minibuf): Clear out all other minibuffer windows.
4
12005-12-31 Eli Zaretskii <eliz@gnu.org> 52005-12-31 Eli Zaretskii <eliz@gnu.org>
2 6
3 * emacs.c (gdb_pvec_type): A dummy variable for GDB's sake. 7 * emacs.c (gdb_pvec_type): A dummy variable for GDB's sake.
diff --git a/src/minibuf.c b/src/minibuf.c
index df9f5dcc336..a0accf6ed50 100644
--- a/src/minibuf.c
+++ b/src/minibuf.c
@@ -463,6 +463,9 @@ read_minibuf (map, initial, prompt, backup_n, expflag,
463 /* String to add to the history. */ 463 /* String to add to the history. */
464 Lisp_Object histstring; 464 Lisp_Object histstring;
465 465
466 Lisp_Object empty_minibuf;
467 Lisp_Object dummy, frame;
468
466 extern Lisp_Object Qfront_sticky; 469 extern Lisp_Object Qfront_sticky;
467 extern Lisp_Object Qrear_nonsticky; 470 extern Lisp_Object Qrear_nonsticky;
468 471
@@ -639,6 +642,22 @@ read_minibuf (map, initial, prompt, backup_n, expflag,
639 Vminibuf_scroll_window = selected_window; 642 Vminibuf_scroll_window = selected_window;
640 if (minibuf_level == 1 || !EQ (minibuf_window, selected_window)) 643 if (minibuf_level == 1 || !EQ (minibuf_window, selected_window))
641 minibuf_selected_window = selected_window; 644 minibuf_selected_window = selected_window;
645
646 /* Empty out the minibuffers of all frames other than the one
647 where we are going to display one now.
648 Set them to point to ` *Minibuf-0*', which is always empty. */
649 empty_minibuf = Fget_buffer (build_string (" *Minibuf-0*"));
650
651 FOR_EACH_FRAME (dummy, frame)
652 {
653 Lisp_Object root_window = Fframe_root_window (frame);
654 Lisp_Object mini_window = XWINDOW (root_window)->next;
655
656 if (! NILP (mini_window) && !NILP (Fwindow_minibuffer_p (mini_window)))
657 Fset_window_buffer (mini_window, empty_minibuf, Qnil);
658 }
659
660 /* Display this minibuffer in the proper window. */
642 Fset_window_buffer (minibuf_window, Fcurrent_buffer (), Qnil); 661 Fset_window_buffer (minibuf_window, Fcurrent_buffer (), Qnil);
643 Fselect_window (minibuf_window, Qnil); 662 Fselect_window (minibuf_window, Qnil);
644 XSETFASTINT (XWINDOW (minibuf_window)->hscroll, 0); 663 XSETFASTINT (XWINDOW (minibuf_window)->hscroll, 0);