diff options
| author | Eli Zaretskii | 2015-12-30 19:00:19 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2015-12-30 19:00:19 +0200 |
| commit | 4c8f8db24e790c13b240b1303044d38210a1eef7 (patch) | |
| tree | fb962d8ed10fd16d53027db3e5b66340375ab0cb /src | |
| parent | a8d37ca628b755907c3a6683111cf4189c2f4095 (diff) | |
| download | emacs-4c8f8db24e790c13b240b1303044d38210a1eef7.tar.gz emacs-4c8f8db24e790c13b240b1303044d38210a1eef7.zip | |
Fix rendering of HTML pages that use character composition
* src/indent.c (Fvertical_motion): Fix the case when point starts
in the middle of a composition, as in shr-vertical-motion.
(Bug#22250)
Diffstat (limited to 'src')
| -rw-r--r-- | src/indent.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/indent.c b/src/indent.c index 33bf424b344..ec38ea798c7 100644 --- a/src/indent.c +++ b/src/indent.c | |||
| @@ -2130,6 +2130,15 @@ whether or not it is currently displayed in some window. */) | |||
| 2130 | && it.method == GET_FROM_BUFFER | 2130 | && it.method == GET_FROM_BUFFER |
| 2131 | && it.c == '\n') | 2131 | && it.c == '\n') |
| 2132 | it_overshoot_count = 1; | 2132 | it_overshoot_count = 1; |
| 2133 | else if (it_overshoot_count == 1 && it.vpos == 0 | ||
| 2134 | && it.current_x < it.last_visible_x) | ||
| 2135 | { | ||
| 2136 | /* If we came to the same screen line as the one where | ||
| 2137 | we started, we didn't overshoot the line, and won't | ||
| 2138 | need to backtrack after all. This happens, for | ||
| 2139 | example, when PT is in the middle of a composition. */ | ||
| 2140 | it_overshoot_count = 0; | ||
| 2141 | } | ||
| 2133 | else if (disp_string_at_start_p && it.vpos > 0) | 2142 | else if (disp_string_at_start_p && it.vpos > 0) |
| 2134 | { | 2143 | { |
| 2135 | /* This is the case of a display string that spans | 2144 | /* This is the case of a display string that spans |