diff src/ChangeLog @ 108759:0bb727f1d547

Fix bidi-composition interaction in backward scanning..
author Kenichi Handa <handa@etlken>
date Tue, 25 May 2010 09:32:24 +0900
parents 2e8869e152ed
children f528b6459bdd
line wrap: on
line diff
--- a/src/ChangeLog	Wed May 19 10:16:01 2010 +0900
+++ b/src/ChangeLog	Tue May 25 09:32:24 2010 +0900
@@ -1,3 +1,26 @@
+2010-05-25  Kenichi Handa  <handa@m17n.org>
+
+	* dispextern.h (struct composition_it): New members rule_idx and
+	charpos.
+
+	* xdisp.c (set_iterator_to_next): While scanning backward, assume
+	that the character positions of IT point the last character of the
+	current grapheme cluster.
+	(next_element_from_composition): Don't change character positions
+	of IT.
+	(append_composite_glyph): Set glyph->charpos to
+	it->cmp_it.charpos.
+
+	* composite.c (autocmp_chars): Change the first argument to RULE,
+	and try composition with RULE only.
+	(composition_compute_stop_pos): Record the index number of the
+	composition rule in CMP_IT->rule_idx.
+	(composition_reseat_it): Call autocmp_chars repeatedly until the
+	correct rule of the composition is found.
+	(composition_update_it): Set CMP_IT->charpos.  Assume the CHARPOS
+	is at the last character of the current grapheme cluster when
+	CMP_IT->reversed_p is nonzero.
+
 2010-05-18  Chong Yidong  <cyd@stupidchicken.com>
 
 	* character.c (Fstring, Funibyte_string): Use SAFE_ALLOCA to