aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKim F. Storm2002-02-26 22:50:55 +0000
committerKim F. Storm2002-02-26 22:50:55 +0000
commit3f49fddcb90df6cc77544acf22f0c54282b7dade (patch)
treecc1fcbf6c3c3a8bfae8920ed5b7317d127bf61ff /src
parenta608ec1b8480c8be2405867e6ccf2a75d9fe4c2c (diff)
downloademacs-3f49fddcb90df6cc77544acf22f0c54282b7dade.tar.gz
emacs-3f49fddcb90df6cc77544acf22f0c54282b7dade.zip
(Vminibuf_selected_window): New variable.
(struct save_window_data): New member minibuf_selected_window. (Fset_window_configuration): Restore Vminibuf_selected_window. (Fcurrent_window_configuration): Save Vminibuf_selected_window. Set minibuf_scroll_window member to nil if minibuf_level is 0. (compare_window_configurations): Compare minibuf_selected_window.
Diffstat (limited to 'src')
-rw-r--r--src/window.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/window.c b/src/window.c
index d797ff75627..3e07ea2a4a8 100644
--- a/src/window.c
+++ b/src/window.c
@@ -120,6 +120,11 @@ Lisp_Object Vwindow_list;
120 120
121Lisp_Object minibuf_window; 121Lisp_Object minibuf_window;
122 122
123/* Non-nil means it is the window whose mode line should be
124 shown as the selected window when the minibuffer is selected. */
125
126Lisp_Object Vminibuf_selected_window;
127
123/* Non-nil means it is the window for C-M-v to scroll 128/* Non-nil means it is the window for C-M-v to scroll
124 when the mini-buffer is selected. */ 129 when the mini-buffer is selected. */
125 130
@@ -4793,6 +4798,7 @@ struct save_window_data
4793 Lisp_Object current_window; 4798 Lisp_Object current_window;
4794 Lisp_Object current_buffer; 4799 Lisp_Object current_buffer;
4795 Lisp_Object minibuf_scroll_window; 4800 Lisp_Object minibuf_scroll_window;
4801 Lisp_Object minibuf_selected_window;
4796 Lisp_Object root_window; 4802 Lisp_Object root_window;
4797 Lisp_Object focus_frame; 4803 Lisp_Object focus_frame;
4798 /* Record the values of window-min-width and window-min-height 4804 /* Record the values of window-min-width and window-min-height
@@ -5156,6 +5162,7 @@ the return value is nil. Otherwise the value is t. */)
5156 window_min_width = XINT (data->min_width); 5162 window_min_width = XINT (data->min_width);
5157 5163
5158 Vminibuf_scroll_window = data->minibuf_scroll_window; 5164 Vminibuf_scroll_window = data->minibuf_scroll_window;
5165 Vminibuf_selected_window = data->minibuf_selected_window;
5159 5166
5160 return (FRAME_LIVE_P (f) ? Qt : Qnil); 5167 return (FRAME_LIVE_P (f) ? Qt : Qnil);
5161} 5168}
@@ -5365,7 +5372,8 @@ redirection (see `redirect-frame-focus'). */)
5365 data->selected_frame = selected_frame; 5372 data->selected_frame = selected_frame;
5366 data->current_window = FRAME_SELECTED_WINDOW (f); 5373 data->current_window = FRAME_SELECTED_WINDOW (f);
5367 XSETBUFFER (data->current_buffer, current_buffer); 5374 XSETBUFFER (data->current_buffer, current_buffer);
5368 data->minibuf_scroll_window = Vminibuf_scroll_window; 5375 data->minibuf_scroll_window = minibuf_level > 0 ? Vminibuf_scroll_window : Qnil;
5376 data->minibuf_selected_window = minibuf_level > 0 ? Vminibuf_selected_window : Qnil;
5369 data->root_window = FRAME_ROOT_WINDOW (f); 5377 data->root_window = FRAME_ROOT_WINDOW (f);
5370 data->focus_frame = FRAME_FOCUS_FRAME (f); 5378 data->focus_frame = FRAME_FOCUS_FRAME (f);
5371 XSETINT (data->min_height, window_min_height); 5379 XSETINT (data->min_height, window_min_height);
@@ -5649,8 +5657,12 @@ compare_window_configurations (c1, c2, ignore_positions)
5649 if (! EQ (d1->current_buffer, d2->current_buffer)) 5657 if (! EQ (d1->current_buffer, d2->current_buffer))
5650 return 0; 5658 return 0;
5651 if (! ignore_positions) 5659 if (! ignore_positions)
5652 if (! EQ (d1->minibuf_scroll_window, d2->minibuf_scroll_window)) 5660 {
5653 return 0; 5661 if (! EQ (d1->minibuf_scroll_window, d2->minibuf_scroll_window))
5662 return 0;
5663 if (! EQ (d1->minibuf_selected_window, d2->minibuf_selected_window))
5664 return 0;
5665 }
5654 /* Don't compare the root_window field. 5666 /* Don't compare the root_window field.
5655 We don't require the two configurations 5667 We don't require the two configurations
5656 to use the same window object, 5668 to use the same window object,