4941 |
Lisp_Object new_current_buffer; |
Lisp_Object new_current_buffer; |
4942 |
Lisp_Object frame; |
Lisp_Object frame; |
4943 |
FRAME_PTR f; |
FRAME_PTR f; |
4944 |
|
int old_point = -1; |
4945 |
|
|
4946 |
while (!WINDOW_CONFIGURATIONP (configuration)) |
while (!WINDOW_CONFIGURATIONP (configuration)) |
4947 |
wrong_type_argument (Qwindow_configuration_p, configuration); |
wrong_type_argument (Qwindow_configuration_p, configuration); |
4952 |
new_current_buffer = data->current_buffer; |
new_current_buffer = data->current_buffer; |
4953 |
if (NILP (XBUFFER (new_current_buffer)->name)) |
if (NILP (XBUFFER (new_current_buffer)->name)) |
4954 |
new_current_buffer = Qnil; |
new_current_buffer = Qnil; |
4955 |
|
else |
4956 |
|
old_point = BUF_PT (XBUFFER (new_current_buffer)); |
4957 |
|
|
4958 |
frame = XWINDOW (SAVED_WINDOW_N (saved_windows, 0)->window)->frame; |
frame = XWINDOW (SAVED_WINDOW_N (saved_windows, 0)->window)->frame; |
4959 |
f = XFRAME (frame); |
f = XFRAME (frame); |
5141 |
FRAME_ROOT_WINDOW (f) = data->root_window; |
FRAME_ROOT_WINDOW (f) = data->root_window; |
5142 |
/* Prevent "swapping out point" in the old selected window |
/* Prevent "swapping out point" in the old selected window |
5143 |
using the buffer that has been restored into it. |
using the buffer that has been restored into it. |
5144 |
That swapping out has already been done, |
Use the point value from the beginning of this function |
5145 |
near the beginning of this function. */ |
since unshow_buffer (called from delete_all_subwindows) |
5146 |
|
could have altered it. */ |
5147 |
selected_window = Qnil; |
selected_window = Qnil; |
5148 |
if (EQ (XWINDOW (data->current_window)->buffer, new_current_buffer)) |
if (EQ (XWINDOW (data->current_window)->buffer, new_current_buffer)) |
5149 |
set_marker_restricted (XWINDOW (data->current_window)->pointm, |
set_marker_restricted (XWINDOW (data->current_window)->pointm, |
5150 |
make_number (BUF_PT (XBUFFER (XWINDOW (data->current_window)->buffer))), |
old_point, |
5151 |
XWINDOW (data->current_window)->buffer); |
XWINDOW (data->current_window)->buffer); |
5152 |
|
|
5153 |
Fselect_window (data->current_window); |
Fselect_window (data->current_window); |