mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-03-06 05:52:32 -08:00
Fix recent change in window.c
* src/window.c (scroll_command): Fix minor inefficiency in last change: don't call Fset_buffer if the buffer is already set to be what we want. (Bug#31988)
This commit is contained in:
parent
130310893a
commit
c73cf3548e
1 changed files with 8 additions and 3 deletions
11
src/window.c
11
src/window.c
|
|
@ -5652,12 +5652,17 @@ scroll_command (Lisp_Object window, Lisp_Object n, int direction)
|
|||
w = XWINDOW (window);
|
||||
other_window = ! EQ (window, selected_window);
|
||||
|
||||
/* If given window's buffer isn't current, make it current for
|
||||
the moment. But don't screw up if window_scroll gets an error. */
|
||||
/* If given window's buffer isn't current, make it current for the
|
||||
moment. If the window's buffer is the same, but it is not the
|
||||
selected window, we need to save-excursion to avoid affecting
|
||||
point in the selected window (which would cause the selected
|
||||
window to scroll). Don't screw up if window_scroll gets an
|
||||
error. */
|
||||
if (other_window || XBUFFER (w->contents) != current_buffer)
|
||||
{
|
||||
record_unwind_protect_excursion ();
|
||||
Fset_buffer (w->contents);
|
||||
if (XBUFFER (w->contents) != current_buffer)
|
||||
Fset_buffer (w->contents);
|
||||
}
|
||||
|
||||
if (other_window)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue