Commit 0c78822c authored by Eli Zaretskii's avatar Eli Zaretskii

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.
parent acd289c5
...@@ -5397,12 +5397,13 @@ window_scroll_pixel_based (Lisp_Object window, int n, bool whole, bool noerror) ...@@ -5397,12 +5397,13 @@ window_scroll_pixel_based (Lisp_Object window, int n, bool whole, bool noerror)
if (it.what == IT_EOB) if (it.what == IT_EOB)
partial_p = partial_p =
it.current_y + it.ascent + it.descent 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 else
{ {
move_it_by_lines (&it, 1); move_it_by_lines (&it, 1);
partial_p = 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 if (charpos == PT && !partial_p
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment