From a46c015333f5df78b768dc1a3eb8c2e304481c39 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Sun, 10 Apr 2005 22:02:41 +0000 Subject: [PATCH] Comment changes. --- src/window.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/window.c b/src/window.c index 93495afb1a5..988b663cbba 100644 --- a/src/window.c +++ b/src/window.c @@ -3171,6 +3171,9 @@ selects the buffer of the selected window before each command. */) if (EQ (window, selected_window)) return window; + /* Store the current buffer's actual point into the + old selected window. It belongs to that window, + and when the window is not selected, must be in the window. */ if (!NILP (selected_window)) { ow = XWINDOW (selected_window); @@ -5636,8 +5639,9 @@ the return value is nil. Otherwise the value is t. */) #endif #endif - /* "Swap out" point from the selected window - into its buffer. We do this now, before + /* "Swap out" point from the selected window's buffer + into the window itself. (Normally the pointm of the selected + window holds garbage.) We do this now, before restoring the window contents, and prevent it from being done later on when we select a new window. */ if (! NILP (XWINDOW (selected_window)->buffer)) @@ -5787,10 +5791,11 @@ the return value is nil. Otherwise the value is t. */) FRAME_ROOT_WINDOW (f) = data->root_window; /* Prevent "swapping out point" in the old selected window using the buffer that has been restored into it. - Use the point value from the beginning of this function - since unshow_buffer (called from delete_all_subwindows) - could have altered it. */ + We already swapped out point that from that window's old buffer. */ selected_window = Qnil; + + /* Arrange *not* to restore point in the buffer that was + current when the window configuration was saved. */ if (EQ (XWINDOW (data->current_window)->buffer, new_current_buffer)) set_marker_restricted (XWINDOW (data->current_window)->pointm, make_number (old_point), -- 2.39.5