Mercurial > emacs
changeset 16658:584563254f25
(window_scroll): Don't set w->start or w->force_start if signaling an error.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Tue, 10 Dec 1996 23:26:48 +0000 |
parents | f31cab608aa9 |
children | e7bf457086fb |
files | src/window.c |
diffstat | 1 files changed, 9 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/src/window.c Tue Dec 10 23:25:45 1996 +0000 +++ b/src/window.c Tue Dec 10 23:26:48 1996 +0000 @@ -2652,10 +2652,7 @@ register Lisp_Object tem; int lose; Lisp_Object bolp, nmoved; - - /* Always set force_start so that redisplay_window will run - the window-scroll-functions. */ - w->force_start = Qt; + int startpos; XSETFASTINT (tem, PT); tem = Fpos_visible_in_window_p (tem, window); @@ -2663,11 +2660,12 @@ if (NILP (tem)) { Fvertical_motion (make_number (- (ht / 2)), window); - XSETFASTINT (tem, PT); - Fset_marker (w->start, tem, w->buffer); + startpos = PT; } - - SET_PT (marker_position (w->start)); + else + startpos = marker_position (w->start); + + SET_PT (startpos); lose = n < 0 && PT == BEGV; Fvertical_motion (make_number (n), window); pos = PT; @@ -2700,6 +2698,9 @@ w->update_mode_line = Qt; XSETFASTINT (w->last_modified, 0); XSETFASTINT (w->last_overlay_modified, 0); + /* Set force_start so that redisplay_window will run + the window-scroll-functions. */ + w->force_start = Qt; /* If we scrolled forward, put point enough lines down that it is outside the scroll margin. */