emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/window.c


From: Richard M. Stallman
Subject: [Emacs-diffs] Changes to emacs/src/window.c
Date: Sat, 15 Jun 2002 10:20:52 -0400

Index: emacs/src/window.c
diff -c emacs/src/window.c:1.417 emacs/src/window.c:1.418
*** emacs/src/window.c:1.417    Wed Jun  5 13:01:31 2002
--- emacs/src/window.c  Sat Jun 15 10:20:52 2002
***************
*** 4941,4946 ****
--- 4941,4947 ----
    Lisp_Object new_current_buffer;
    Lisp_Object frame;
    FRAME_PTR f;
+   int old_point = -1;
  
    while (!WINDOW_CONFIGURATIONP (configuration))
      wrong_type_argument (Qwindow_configuration_p, configuration);
***************
*** 4951,4956 ****
--- 4952,4959 ----
    new_current_buffer = data->current_buffer;
    if (NILP (XBUFFER (new_current_buffer)->name))
      new_current_buffer = Qnil;
+   else
+     old_point = BUF_PT (XBUFFER (new_current_buffer));
  
    frame = XWINDOW (SAVED_WINDOW_N (saved_windows, 0)->window)->frame;
    f = XFRAME (frame);
***************
*** 5138,5149 ****
        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.
!        That swapping out has already been done,
!        near the beginning of this function.  */
        selected_window = Qnil;
        if (EQ (XWINDOW (data->current_window)->buffer, new_current_buffer))
        set_marker_restricted (XWINDOW (data->current_window)->pointm,
!                              make_number (BUF_PT (XBUFFER (XWINDOW 
(data->current_window)->buffer))),
                               XWINDOW (data->current_window)->buffer);
                  
        Fselect_window (data->current_window);
--- 5141,5153 ----
        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.  */
        selected_window = Qnil;
        if (EQ (XWINDOW (data->current_window)->buffer, new_current_buffer))
        set_marker_restricted (XWINDOW (data->current_window)->pointm,
!                              old_point,
                               XWINDOW (data->current_window)->buffer);
                  
        Fselect_window (data->current_window);



reply via email to

[Prev in Thread] Current Thread [Next in Thread]