# HG changeset patch # User Karl Heuer # Date 824936992 0 # Node ID 8fda783ead436aca35479472907a2c15e61d8e67 # Parent 386831bc4a4ed79573b6ba4a7093987040eaceaa (redisplay_window): If window-scroll-functions change the start position, redisplay from the new one. diff -r 386831bc4a4e -r 8fda783ead43 src/xdisp.c --- a/src/xdisp.c Wed Feb 21 21:08:31 1996 +0000 +++ b/src/xdisp.c Wed Feb 21 21:09:52 1996 +0000 @@ -1546,8 +1546,11 @@ update_mode_line = 1; w->update_mode_line = Qt; if (! NILP (Vwindow_scroll_functions)) - run_hook_with_args_2 (Qwindow_scroll_functions, window, - make_number (startp)); + { + run_hook_with_args_2 (Qwindow_scroll_functions, window, + make_number (startp)); + startp = marker_position (w->start); + } } XSETFASTINT (w->last_modified, 0); if (startp < BEGV) startp = BEGV; @@ -1722,8 +1725,11 @@ if (PT >= pos.bufpos) { if (! NILP (Vwindow_scroll_functions)) - run_hook_with_args_2 (Qwindow_scroll_functions, window, - make_number (pos.bufpos)); + { + run_hook_with_args_2 (Qwindow_scroll_functions, window, + make_number (pos.bufpos)); + pos.bufpos = marker_position (w->start); + } try_window (window, pos.bufpos); if (cursor_vpos >= 0) { @@ -1750,8 +1756,11 @@ in case the window-scroll-functions functions get errors. */ Fset_marker (w->start, make_number (pos.bufpos), Qnil); if (! NILP (Vwindow_scroll_functions)) - run_hook_with_args_2 (Qwindow_scroll_functions, window, - make_number (pos.bufpos)); + { + run_hook_with_args_2 (Qwindow_scroll_functions, window, + make_number (pos.bufpos)); + pos.bufpos = marker_position (w->start); + } try_window (window, pos.bufpos); startp = marker_position (w->start);