aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii2016-08-14 21:25:52 +0300
committerEli Zaretskii2016-08-14 21:25:52 +0300
commit7aaeb86f8ceea761abc6e693a0d25bea29241a10 (patch)
tree2d58fda12a2fbd95d90993edc4b6094d55b4ec23 /src
parent59720dc1379bb0e0c4a78930fac7f48740780c80 (diff)
downloademacs-7aaeb86f8ceea761abc6e693a0d25bea29241a10.tar.gz
emacs-7aaeb86f8ceea761abc6e693a0d25bea29241a10.zip
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)
Diffstat (limited to 'src')
-rw-r--r--src/xdisp.c5
1 files changed, 3 insertions, 2 deletions
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)
16957 try_window (window, it.current.pos, 0); 16957 try_window (window, it.current.pos, 0);
16958 } 16958 }
16959 else if (scroll_conservatively > SCROLL_LIMIT 16959 else if (scroll_conservatively > SCROLL_LIMIT
16960 && it.method == GET_FROM_STRING 16960 && (it.method == GET_FROM_STRING
16961 || overlay_touches_p (IT_CHARPOS (it)))
16961 && IT_CHARPOS (it) < ZV) 16962 && IT_CHARPOS (it) < ZV)
16962 { 16963 {
16963 /* If the window starts with a before-string that spans more 16964 /* 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)
16973 clear_glyph_matrix (w->desired_matrix); 16974 clear_glyph_matrix (w->desired_matrix);
16974 do { 16975 do {
16975 move_it_by_lines (&it, 1); 16976 move_it_by_lines (&it, 1);
16976 } while (IT_CHARPOS (it) == pos0 && it.method == GET_FROM_STRING); 16977 } while (IT_CHARPOS (it) == pos0);
16977 try_window (window, it.current.pos, 0); 16978 try_window (window, it.current.pos, 0);
16978 } 16979 }
16979 else 16980 else