aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenichi Handa2010-08-26 09:47:34 +0900
committerKenichi Handa2010-08-26 09:47:34 +0900
commitfe50eb41eac9d38909937f7da3bf394b96fb44af (patch)
tree6bf37e61bf5c20737c954024ff8ec9aaf3936e2e
parent41a5c5c417bf605499fdfa16d96cd93fa4fca6a5 (diff)
downloademacs-fe50eb41eac9d38909937f7da3bf394b96fb44af.tar.gz
emacs-fe50eb41eac9d38909937f7da3bf394b96fb44af.zip
xdisp.c (compute_stop_pos): Pay attention to bidi scan direction on calling composition_compute_stop_pos.
-rw-r--r--src/ChangeLog5
-rw-r--r--src/xdisp.c8
2 files changed, 11 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 39f168dc8a4..8a3714bcf0d 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
12010-08-26 Kenichi Handa <handa@m17n.org>
2
3 * xdisp.c (compute_stop_pos): Pay attention to bidi scan direction
4 on calling composition_compute_stop_pos.
5
12010-08-25 Kenichi Handa <handa@m17n.org> 62010-08-25 Kenichi Handa <handa@m17n.org>
2 7
3 * fontset.c (reorder_font_vector): Prefer a font-spec specifying 8 * fontset.c (reorder_font_vector): Prefer a font-spec specifying
diff --git a/src/xdisp.c b/src/xdisp.c
index 93fdb68eeac..07078a199a3 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -3177,7 +3177,7 @@ compute_stop_pos (struct it *it)
3177{ 3177{
3178 register INTERVAL iv, next_iv; 3178 register INTERVAL iv, next_iv;
3179 Lisp_Object object, limit, position; 3179 Lisp_Object object, limit, position;
3180 EMACS_INT charpos, bytepos; 3180 EMACS_INT charpos, bytepos, stoppos;
3181 3181
3182 /* If nowhere else, stop at the end. */ 3182 /* If nowhere else, stop at the end. */
3183 it->stop_charpos = it->end_charpos; 3183 it->stop_charpos = it->end_charpos;
@@ -3267,8 +3267,12 @@ compute_stop_pos (struct it *it)
3267 } 3267 }
3268 } 3268 }
3269 3269
3270 if (it->bidi_p && it->bidi_it.scan_dir < 0)
3271 stoppos = -1;
3272 else
3273 stoppos = it->stop_charpos;
3270 composition_compute_stop_pos (&it->cmp_it, charpos, bytepos, 3274 composition_compute_stop_pos (&it->cmp_it, charpos, bytepos,
3271 it->stop_charpos, it->string); 3275 stoppos, it->string);
3272 3276
3273 xassert (STRINGP (it->string) 3277 xassert (STRINGP (it->string)
3274 || (it->stop_charpos >= BEGV 3278 || (it->stop_charpos >= BEGV