diff options
| author | Eli Zaretskii | 2016-08-14 21:25:52 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2016-08-14 21:25:52 +0300 |
| commit | 7aaeb86f8ceea761abc6e693a0d25bea29241a10 (patch) | |
| tree | 2d58fda12a2fbd95d90993edc4b6094d55b4ec23 /src | |
| parent | 59720dc1379bb0e0c4a78930fac7f48740780c80 (diff) | |
| download | emacs-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.c | 5 |
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 |