# HG changeset patch # User Chong Yidong # Date 1217976350 0 # Node ID 385fa147faabd2d4f2887a7fd3499168dc9df9ec # Parent 94fe08be6cdbbd7e1a78134dcae50e32a0a0bdac (redisplay_window): Don't enforce scroll-margin when forcing a window start. diff -r 94fe08be6cdb -r 385fa147faab src/xdisp.c --- a/src/xdisp.c Tue Aug 05 22:45:39 2008 +0000 +++ b/src/xdisp.c Tue Aug 05 22:45:50 2008 +0000 @@ -13484,7 +13484,6 @@ { /* We set this later on if we have to adjust point. */ int new_vpos = -1; - int val; w->force_start = Qnil; w->vscroll = 0; @@ -13518,16 +13517,15 @@ /* Redisplay, then check if cursor has been set during the redisplay. Give up if new fonts were loaded. */ - val = try_window (window, startp, 1); - if (!val) + /* We used to issue a CHECK_MARGINS argument to try_window here, + but this causes scrolling to fail when point begins inside + the scroll margin (bug#148) -- cyd */ + if (!try_window (window, startp, 0)) { w->force_start = Qt; clear_glyph_matrix (w->desired_matrix); goto need_larger_matrices; } - /* Point was outside the scroll margins. */ - if (val < 0) - new_vpos = window_box_height (w) / 2; if (w->cursor.vpos < 0 && !w->frozen_window_start_p) {