# HG changeset patch # User Richard M. Stallman # Date 1113170561 0 # Node ID 8e54037fa0856fa3beff06cf97dc3c0303b24b30 # Parent d57e7012d98596737d28d01f404a37c18976e459 Comment changes. diff -r d57e7012d985 -r 8e54037fa085 src/window.c --- a/src/window.c Sun Apr 10 21:27:34 2005 +0000 +++ b/src/window.c Sun Apr 10 22:02:41 2005 +0000 @@ -3171,6 +3171,9 @@ 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 @@ #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 @@ 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),