]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix subtle problem with scroll-down when scroll-margin is nonzero
authorEli Zaretskii <eliz@gnu.org>
Fri, 29 Dec 2017 21:41:20 +0000 (23:41 +0200)
committerEli Zaretskii <eliz@gnu.org>
Fri, 29 Dec 2017 21:41:20 +0000 (23:41 +0200)
* 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.

src/window.c

index 504dcd383570e552ee673123c9348ea913d89866..20a6020a3b7b448d887e7c8df10f7c4976dc9765 100644 (file)
@@ -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