diff options
author | Eli Zaretskii <eliz@gnu.org> | 2017-12-29 23:41:20 +0200 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2017-12-29 23:41:20 +0200 |
commit | 0c78822c701533a94b010a043bcb049dd594bb93 (patch) | |
tree | c789e5e604a42b12537c60e42017ef6a8cee8795 | |
parent | acd289c5a4d9679ec8051b330e7a8685d4fde20f (diff) | |
download | emacs-0c78822c701533a94b010a043bcb049dd594bb93.tar.gz emacs-0c78822c701533a94b010a043bcb049dd594bb93.tar.bz2 emacs-0c78822c701533a94b010a043bcb049dd594bb93.zip |
Fix subtle problem with scroll-down when scroll-margin is nonzero
* src/window.c (window_scroll_pixel_based): Account for
scroll-margin when scrolling down, i.e. moving window-start
towards the beginning of the buffer. Reported by zhang cc
<ccsmile2008@outlook.com> in
http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00894.html.
-rw-r--r-- | src/window.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/window.c b/src/window.c index 504dcd38357..20a6020a3b7 100644 --- a/src/window.c +++ b/src/window.c @@ -5397,12 +5397,13 @@ window_scroll_pixel_based (Lisp_Object window, int n, bool whole, bool noerror) if (it.what == IT_EOB) partial_p = it.current_y + it.ascent + it.descent - > it.last_visible_y - WINDOW_HEADER_LINE_HEIGHT (w); + > it.last_visible_y - this_scroll_margin - WINDOW_HEADER_LINE_HEIGHT (w); else { move_it_by_lines (&it, 1); partial_p = - it.current_y > it.last_visible_y - WINDOW_HEADER_LINE_HEIGHT (w); + it.current_y + > it.last_visible_y - this_scroll_margin - WINDOW_HEADER_LINE_HEIGHT (w); } if (charpos == PT && !partial_p |