emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 7aaeb86: Another fix for scroll-conservatively and


From: Eli Zaretskii
Subject: [Emacs-diffs] master 7aaeb86: Another fix for scroll-conservatively and overlay strings
Date: Sun, 14 Aug 2016 18:26:58 +0000 (UTC)

branch: master
commit 7aaeb86f8ceea761abc6e693a0d25bea29241a10
Author: Eli Zaretskii <address@hidden>
Commit: Eli Zaretskii <address@hidden>

    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)
---
 src/xdisp.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/xdisp.c b/src/xdisp.c
index a8376af..5eaa809 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]