]> git.eshelyaron.com Git - emacs.git/commitdiff
(save_excursion_restore): Don't move point
authorGerd Moellmann <gerd@gnu.org>
Mon, 4 Dec 2000 12:25:36 +0000 (12:25 +0000)
committerGerd Moellmann <gerd@gnu.org>
Mon, 4 Dec 2000 12:25:36 +0000 (12:25 +0000)
in another window if it is showing the wrong buffer.
Avoid the call to Fwindow_live_p, for speed.

src/editfns.c

index 2fe6468a96ecb251d34cf75c977e3e953d68786b..e83e92f1396f124c29bdb0d664b43ccb1dfe546a 100644 (file)
@@ -841,12 +841,13 @@ save_excursion_restore (info)
     }
 
   /* If buffer was visible in a window, and a different window was
-     selected, and the old selected window is still live, restore
-     point in that window.  */
+     selected, and the old selected window is still showing this
+     buffer, restore point in that window.  */
   tem = XCDR (info);
   if (visible_p
       && !EQ (tem, selected_window)
-      && !NILP (Fwindow_live_p (tem)))
+      /* This also verifies that the window is still live.  */
+      && XBUFFER (XWINDOW (tem)->buffer) == current_buffer)
     Fset_window_point (tem, make_number (PT));
 
   UNGCPRO;