summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenichi Handa <handa@m17n.org>2010-02-25 11:29:35 +0900
committerKenichi Handa <handa@m17n.org>2010-02-25 11:29:35 +0900
commitcc6c7c75bbd87892ff3f956c75f5494d58f3fc33 (patch)
treee2a714e1ed6cb8ef6ab80d793c6a492858135408
parent0ca10bb75f679d96560cd7909d47882a08d14cb5 (diff)
downloademacs-cc6c7c75bbd87892ff3f956c75f5494d58f3fc33.tar.gz
xdisp.c (reseat_to_string): Fix previous change (bug#5609).
-rw-r--r--src/ChangeLog4
-rw-r--r--src/xdisp.c9
2 files changed, 11 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 542a0781783..0b67340c1fd 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,7 @@
+2010-02-25 Kenichi Handa <handa@m17n.org>
+
+ * xdisp.c (reseat_to_string): Fix previous change (bug#5609).
+
2010-02-24 Jan Djärv <jan.h.d@swipnet.se>
* xterm.c (XTflash): Move declarations before statements.
diff --git a/src/xdisp.c b/src/xdisp.c
index 8e356224c8a..1a078edd074 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -5610,8 +5610,13 @@ reseat_to_string (it, s, string, charpos, precision, field_width, multibyte)
it->stop_charpos = charpos;
if (s == NULL && it->multibyte_p)
- composition_compute_stop_pos (&it->cmp_it, charpos, -1, it->end_charpos,
- it->string);
+ {
+ EMACS_INT endpos = charpos + SCHARS (it->string);
+ if (endpos > it->end_charpos)
+ endpos = it->end_charpos;
+ composition_compute_stop_pos (&it->cmp_it, charpos, -1, endpos,
+ it->string);
+ }
CHECK_IT (it);
}