From 0c78822c701533a94b010a043bcb049dd594bb93 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 29 Dec 2017 23:41:20 +0200 Subject: [PATCH] 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 in http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00894.html. --- src/window.c | 5 +++-- 1 file 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 -- 2.39.5