From: Eli Zaretskii Date: Sun, 14 Aug 2016 18:25:52 +0000 (+0300) Subject: Another fix for scroll-conservatively and overlay strings X-Git-Tag: emacs-26.0.90~1741 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=7aaeb86f8ceea761abc6e693a0d25bea29241a10;p=emacs.git Another fix for scroll-conservatively and overlay strings * src/xdisp.c (redisplay_window): Handle also the case where the calculated window-start point has an overlay string touching it. (Bug#24179) --- diff --git a/src/xdisp.c b/src/xdisp.c index a8376af978f..5eaa80905a8 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -16957,7 +16957,8 @@ redisplay_window (Lisp_Object window, bool just_this_one_p) try_window (window, it.current.pos, 0); } else if (scroll_conservatively > SCROLL_LIMIT - && it.method == GET_FROM_STRING + && (it.method == GET_FROM_STRING + || overlay_touches_p (IT_CHARPOS (it))) && IT_CHARPOS (it) < ZV) { /* If the window starts with a before-string that spans more @@ -16973,7 +16974,7 @@ redisplay_window (Lisp_Object window, bool just_this_one_p) clear_glyph_matrix (w->desired_matrix); do { move_it_by_lines (&it, 1); - } while (IT_CHARPOS (it) == pos0 && it.method == GET_FROM_STRING); + } while (IT_CHARPOS (it) == pos0); try_window (window, it.current.pos, 0); } else