changeset 102424:d4c02fdc3efa

*** empty log message ***
author Kenichi Handa <handa@m17n.org>
date Fri, 06 Mar 2009 07:52:40 +0000
parents f23ca4ed51bd
children 5b3e677bf111
files src/ChangeLog
diffstat 1 files changed, 51 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Fri Mar 06 07:52:06 2009 +0000
+++ b/src/ChangeLog	Fri Mar 06 07:52:40 2009 +0000
@@ -1,3 +1,54 @@
+2009-03-06  Kenichi Handa  <handa@m17n.org>
+
+	These changes are to detect incorrect composition sequence without
+	looking ahead the source.
+
+	* coding.h: Include "composite.h".
+	(enum compisition_state): New enum.
+	(struct compisition_status): New struct.
+	(struct iso_2022_spec): New member cmp_status.
+	(struct emacs_mule_spec): New struct.
+	(struct coding_system): New members ctext_extended_segment_len and
+	embedded_utf_8.  Change the union member
+	spec.emacs_mule_full_support to spec.emacs_mule.
+
+	* coding.c (CODING_ISO_CMP_STATUS): New macro.
+	(CODING_ISO_EXTSEGMENT_LEN, CODING_ISO_EMBEDDED_UTF_8): New macros.
+	(MAX_ANNOTATION_LENGTH): Defined to 5.
+	(ADD_COMPOSITION_DATA): New arg nbytes.
+	(emacs_mule_char): New arg cmp_status.
+	(DECODE_EMACS_MULE_COMPOSITION_CHAR): Delete it.
+	(DECODE_EMACS_MULE_COMPOSITION_RULE_20): New arg c.
+	(DECODE_EMACS_MULE_COMPOSITION_RULE_21): New arg c.
+	(DECODE_EMACS_MULE_21_COMPOSITION): Delete the arg c.
+	(DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Likewise.
+	(DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Likewise.
+	(DECODE_EMACS_MULE_COMPOSITION_START): New macro.
+	(EMACS_MULE_COMPOSITION_END): New macro.
+	(emacs_mule_finish_composition): New function.
+	(EMACS_MULE_MAYBE_FINISH_COMPOSITION): New macro.
+	(decode_coding_emacs_mule): Avoid long looking ahead while
+	handling composition.
+	(DECODE_COMPOSITION_RULE): Argument changed to rule and nbytes.
+	(ENCODE_COMPOSITION_RULE): New macro.
+	(finish_composition): New function.
+	(MAYBE_FINISH_COMPOSITION): Call finish_composition.
+	(DECODE_COMPOSITION_START): New implementation.
+	(DECODE_COMPOSITION_END): Likewise.
+	(STORE_COMPOSITION_RULE): New macro.
+	(decode_coding_iso_2022): Avoid long looking ahead while handling
+	composition, CTEXT extended segment, and embedded UTF-8.
+	(setup_coding_system): For a coding of type iso-2022, reset
+	CODING_ISO_EXTSEGMENT_LEN (coding) and
+	CODING_ISO_EMBEDDED_UTF_8 (coding).
+	(get_translation): Delete arguments last_block, from_nchars,
+	to_nchars.  Callers changed.
+	(produce_chars): Don't modify charbuf.  Adjusted for the change of
+	get_translation.
+	(produce_composition): Adjusted for the new annotation sequence.
+	(handle_composition_annotation): Likewise.
+	(consume_chars): Adjusted for the change of get_translation.
+
 2009-03-05  Adrian Robert  <Adrian.B.Robert@gmail.com>
 
 	* nsterm.m (ns_select): Shortcircuit if reentrant call.