+1999-09-10 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * file-coding.c (decode_coding_iso2022): Use
+ `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
+
+1999-09-10 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
+ to 0.7 (Hirano).
+
+1999-09-10 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * char-lb.h (CHAR_COLUMNS): New macro.
+
+1999-09-09 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * text-coding.c (char_encode_ucs4): New function.
+ (char_finish_ucs4): New function.
+ (encode_coding_ucs4): Deleted.
+ (mule_encode): Use generic encoder for `CODESYS_UCS4'.
+ (text_encode_generic): Delete local variable `charset' and `half'.
+ (ucs_to_mule_table): Deleted.
+ (mule_to_ucs_table): Deleted.
+ (Fset_ucs_char): Deleted.
+ (ucs_to_char): Deleted.
+ (Fucs_char): Deleted.
+ (Fset_char_ucs): Deleted.
+ (Fchar_ucs): Deleted.
+ (decode_ucs4): Deleted.
+ (mule_char_to_ucs4): Deleted.
+ (encode_ucs4): Deleted.
+ (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
+ (decode_coding_utf8): Likewise.
+ (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
+ (char_encode_iso2022): Fixed.
+ (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
+ `Fset_char_ucs' and `Fchar_ucs'.
+ (complex_vars_of_file_coding): Don't initialize
+ `ucs_to_mule_table'.
+
+ * objects-tty.c (tty_initialize_font_instance): Don't use
+ `XCHARSET_COLUMNS'.
+
+ * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
+ UTF-2000.
+
+ * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
+ instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
+
+ * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
+ instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
+ (emchar_string_displayed_columns): Likewise.
+
+ * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
+ `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
+ (string_column_at_point): Likewise.
+ (Fmove_to_column): Likewise.
+
+ * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
+ `encoding_table' and `decoding_table'.
+ (CHARSET_REP_BYTES): Deleted.
+ (XCHARSET_REP_BYTES): Deleted.
+ (XCHARSET_COLUMNS): Deleted.
+ (CHAR_COLUMNS): New macro.
+ (lookup_composite_char): Deleted unconditionally.
+ (composite_char_string): Likewise.
+
+1999-09-09 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * char-ucs.h (Emchar_to_byte_table): New type.
+ (get_byte_from_character_table): New function interface.
+ (Vcharset_latin_jisx0201): New variable.
+ (latin_jisx0201_to_ucs): New variable.
+ (ucs_to_latin_jisx0201): New variable.
+ (Vcharset_latin_iso8859_2): New variable.
+ (latin_iso8859_2_to_ucs): New variable.
+ (ucs_to_latin_iso8859_2): New variable.
+ (Vcharset_latin_iso8859_3): New variable.
+ (latin_iso8859_3_to_ucs): New variable.
+ (ucs_to_latin_iso8859_3): New variable.
+ (Vcharset_latin_iso8859_4): New variable.
+ (latin_iso8859_4_to_ucs): New variable.
+ (ucs_to_latin_iso8859_4): New variable.
+ (Vcharset_latin_iso8859_9): New variable.
+ (latin_iso8859_9_to_ucs): New variable.
+ (ucs_to_latin_iso8859_9): New variable.
+ (Vcharset_latin_viscii_lower): New variable.
+ (latin_viscii_lower_to_ucs): New variable.
+ (ucs_to_latin_viscii_lower): New variable.
+ (Vcharset_latin_viscii_upper): New variable.
+ (latin_viscii_upper_to_ucs): New variable.
+ (ucs_to_latin_viscii_upper): New variable.
+ (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
+ (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
+ (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
+ (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
+ `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
+ `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
+ (breakup_char_1): Use `ucs_to_latin_iso8859_2',
+ `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
+ `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
+ `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
+
+ * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
+ (Vcharset_latin_viscii_upper): New variable.
+ (make_byte_from_character_table): New function.
+ (put_byte_from_character_table): New function.
+ (get_byte_from_character_table): New function.
+ (CHAR96): New macro.
+ (ucs_to_latin_jisx0201): New variable.
+ (latin_jisx0201_to_ucs): New variable.
+ (ucs_to_latin_iso8859_2): New variable.
+ (latin_iso8859_2_to_ucs): New variable.
+ (ucs_to_latin_iso8859_3): New variable.
+ (latin_iso8859_3_to_ucs): New variable.
+ (ucs_to_latin_iso8859_4): New variable.
+ (latin_iso8859_4_to_ucs): New variable.
+ (ucs_to_latin_iso8859_9): New variable.
+ (latin_iso8859_9_to_ucs): New variable.
+ (ucs_to_latin_viscii_lower): New variable.
+ (latin_viscii_lower_to_ucs): New variable.
+ (ucs_to_latin_viscii_upper): New variable.
+ (latin_viscii_upper_to_ucs): New variable.
+ (ucs_to_latin_tcvn5712): New variable.
+ (latin_tcvn5712_to_ucs): New variable.
+ (Qlatin_viscii_lower): New variable.
+ (Qlatin_viscii_upper): New variable.
+ (syms_of_mule_charset): Set up new symbol
+ `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
+ (complex_vars_of_mule_charset): Set up new charset
+ `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
+ `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
+ `ucs_to_<CHARSET>' tables.
+
+1999-09-08 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * text-coding.c: New file.
+
+1999-09-07 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * mule-charset.c (Fmake_char): Fix problem of 256-set.
+
+ * char-ucs.h (Vcharset_ucs_bmp): New variable.
+ (MAKE_CHAR): Modify for `ucs-bmp'.
+ (breakup_char_1): Return `ucs-bmp' and code point of BMP for
+ non-MULE characters of BMP.
+
+1999-09-06 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * mule-charset.c (vars_of_mule_charset):
+ Update `utf-2000-version' to 0.6.
+
+1999-09-05 MORIOKA Tomohiko <tomo@urania.m17n.org>
+
+ * lstream.h:
+ - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
+ - Include character.h for `CHAR_ASCII_P'.
+
+ * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
+
+ * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
+ (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
+
+ * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
+ (BYTE_C0_P): Likewise.
+ (BYTE_C1_P): Likewise.
+ (Lstream_get_emchar_1): Likewise.
+ (Lstream_fput_emchar): Likewise.
+ (Lstream_funget_emchar): Likewise.
+ (copy_internal_to_external): Likewise.
+ (copy_external_to_internal): Likewise.
+
+ * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
+ (BYTE_C0_P): Likewise.
+ (BYTE_C1_P): Likewise.
+ (Lstream_get_emchar_1): Likewise.
+ (Lstream_fput_emchar): Likewise.
+ (Lstream_funget_emchar): Likewise.
+ (copy_internal_to_external): Likewise.
+ (copy_external_to_internal): Likewise.
+
+ * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
+ (REP_BYTES_BY_FIRST_BYTE): Likewise.
+
+ * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
+ (BYTE_ASCII_P): Moved to mb-1byte.h.
+
+1999-09-04 MORIOKA Tomohiko <tomo@urania.m17n.org>
+
+ * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
+
+ * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
+ (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
+ (VALID_CHARPTR_P): Moved to mb-*byte.h.
+ (VALIDATE_CHARPTR_BACKWARD): Likewise.
+ (VALIDATE_CHARPTR_FORWARD): Likewise.
+ (simple_charptr_emchar): Moved to mb-multibyte.h.
+ (simple_set_charptr_emchar): Likewise.
+ (simple_charptr_copy_char): Likewise.
+ (non_ascii_charptr_emchar): Likewise.
+ (non_ascii_set_charptr_emchar): Likewise.
+ (non_ascii_charptr_copy_char): Likewise.
+ (charptr_emchar): Moved to mb-*byte.h.
+ (set_charptr_emchar): Likewise.
+ (charptr_copy_char): Likewise.
+
+ * mb-1byte.h, mb-multibyte.h: New files.
+
+1999-09-03 MORIOKA Tomohiko <tomo@urania.m17n.org>
+
+ * mb-utf-8.h (MULTIBYTE): New macro.
+ (MAX_EMCHAR_LEN): Moved from buffer.h.
+ (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
+
+ * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
+
+ * mb-lb.h, multibyte.h: New files.
+
+ * char-1byte.h (Charset_ID): Moved from buffer.h.
+ (MIN_LEADING_BYTE): Likewise.
+ (LEADING_BYTE_ASCII): Likewise.
+ (NUM_LEADING_BYTES): Likewise.
+ (CHARSETP): Likewise.
+ (CHARSET_BY_LEADING_BYTE): Likewise.
+ (XCHARSET_LEADING_BYTE): Likewise.
+ (XCHARSET_GRAPHIC): Likewise.
+ (XCHARSET_COLUMNS): Likewise.
+ (XCHARSET_DIMENSION): Likewise.
+ (CHAR_CHARSET): Likewise.
+ (CHAR_LEADING_BYTE): Likewise.
+ (BREAKUP_CHAR): Likewise.
+ (Vcharset_ascii): Likewise.
+
+ * buffer.h: Include multibyte.h unconditionally.
+ (VALID_CHARPTR_P): Moved to multibyte.h.
+ (ASSERT_VALID_CHARPTR): Likewise.
+ (REAL_INC_CHARPTR): Likewise.
+ (REAL_INC_CHARBYTIND): Likewise.
+ (REAL_DEC_CHARPTR): Likewise.
+ (INC_CHARPTR): Likewise.
+ (INC_CHARBYTIND): Likewise.
+ (DEC_CHARPTR): Likewise.
+ (VALIDATE_CHARPTR_BACKWARD): Likewise.
+ (VALIDATE_CHARPTR_FORWARD): Likewise.
+ (charptr_n_addr): Likewise.
+ (MAX_EMCHAR_LEN): Moved to mb-*.h.
+ (simple_charptr_emchar): Moved to multibyte.h.
+ (simple_set_charptr_emchar): Likewise.
+ (simple_charptr_copy_char): Likewise.
+ (non_ascii_charptr_emchar): Likewise.
+ (non_ascii_set_charptr_emchar): Likewise.
+ (non_ascii_charptr_copy_char): Likewise.
+ (charptr_emchar): Likewise.
+ (set_charptr_emchar): Likewise.
+ (charptr_copy_char): Likewise.
+ (charptr_emchar_n): Likewise.
+ (Charset_ID): Moved to char-1byte.h.
+ (Vcharset_ascii): Likewise.
+ (CHAR_CHARSET): Likewise.
+ (CHAR_LEADING_BYTE): Likewise.
+ (LEADING_BYTE_ASCII): Likewise.
+ (NUM_LEADING_BYTES): Likewise.
+ (MIN_LEADING_BYTE): Likewise.
+ (CHARSETP): Likewise.
+ (CHARSET_BY_LEADING_BYTE): Likewise.
+ (XCHARSET_LEADING_BYTE): Likewise.
+ (XCHARSET_GRAPHIC): Likewise.
+ (XCHARSET_COLUMNS): Likewise.
+ (XCHARSET_DIMENSION): Likewise.
+ (BREAKUP_CHAR): Likewise.
+
+1999-09-02 MORIOKA Tomohiko <tomo@urania.m17n.org>
+
+ * character.h: Add document about interface for characters.
+
+ * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
+ (MAKE_CHAR): Delete comment about
+ `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
+ `FIELD2_TO_PRIVATE_LEADING_BYTE'.
+ (BREAKUP_CHAR): Modify name of arguments.
+ (CHAR_CHARSET): Modify name of argument.
+
+ * buffer.h: Delete document about Emchar accessors.
+
+1999-09-02 MORIOKA Tomohiko <tomo@urania.m17n.org>
+
+ * character.h (CHAR_INTP): Moved from buffer.h
+ (CHAR_OR_CHAR_INTP): Likewise.
+ (XCHAR_OR_CHAR_INT): Likewise.
+ (CHECK_CHAR_COERCE_INT): Likewise.
+
+ * buffer.h (CHAR_INTP): Moved to character.h
+ (CHAR_OR_CHAR_INTP): Likewise.
+ (XCHAR_OR_CHAR_INT): Likewise.
+ (CHECK_CHAR_COERCE_INT): Likewise.
+
+1999-09-02 MORIOKA Tomohiko <tomo@urania.m17n.org>
+
+ * character.h:
+ - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
+ - Include char-1byte.h, char-lb.h or char-ucs.h.
+
+ * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
+
+ * buffer.h: Include character unconditionally.
+ (valid_char_p): Moved to char-*.h.
+ (non_ascii_valid_char_p): Moved to char-lb.h.
+
+ * char-1byte.h, char-lb.h, char-ucs.h: New files.
+
+1999-09-02 MORIOKA Tomohiko <tomo@urania.m17n.org>
+
+ * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
+ in UTF-2000 because it is not ported yet and not to use
+ `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
+ `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
+ `FIELD1_TO_PRIVATE_LEADING_BYTE'.
+
+ * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
+ (CHAR_ASCII_P): Moved from character.h.
+
+ * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
+ (CHAR_ASCII_P): Likewise.
+ (CHAR_FIELD1_MASK): Deleted.
+ (CHAR_FIELD2_MASK): Deleted.
+ (CHAR_FIELD3_MASK): Deleted.
+ (MAX_CHAR_BASIC_LATIN): New macro.
+ (CHAR_FIELD1): Deleted.
+ (CHAR_FIELD2_INTERNAL): Deleted.
+ (CHAR_FIELD3_INTERNAL): Deleted.
+ (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
+ (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
+ (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
+ (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
+ (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
+ (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
+ (MIN_CHAR_FIELD2_PRIVATE): Deleted.
+ (MAX_CHAR_FIELD2_PRIVATE): Deleted.
+ (MIN_CHAR_FIELD1_PRIVATE): Deleted.
+ (MAX_CHAR_FIELD1_PRIVATE): Deleted.
+ (MULE_CHAR_PRIVATE_OFFSET): Deleted.
+ (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
+ (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
+ (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
+ (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
+ (MIN_CHAR_COMPOSITION): Deleted.
+ (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
+ `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
+
+1999-09-02 MORIOKA Tomohiko <tomo@m17n.org>
+
+ * buffer.h: Include mb-utf-8.h in UTF-2000.
+
+ * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
+
+ * mb-utf-8.h: New file.
+
+1999-09-02 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
+ instead of `int'.
+
+ * mule-charset.h, buffer.h (Charset_ID): New type.
+
+1999-09-01 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * mule-canna.c (c2mu): Use `MAKE_CHAR',
+ `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
+ instead of `MULE_CHAR_PRIVATE_OFFSET',
+ `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
+ and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
+ (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
+
+ * character.h (Vcharset_japanese_jisx0212): New variable
+ definition.
+
+1999-09-01 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
+ (charset_by_attributes): Delete array about direction.
+ (latin_a_char_to_charset): New variable in UTF-2000.
+ (latin_a_char_to_byte1): New variable in UTF-2000.
+ (latin_a_char_to_byte2): New variable in UTF-2000.
+ (Qucs_bmp): New variable.
+ (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
+ `Bufbyte'.
+ (next_allocated_2_byte_leading_byte): Likewise.
+ (non_ascii_set_charptr_emchar): Likewise.
+ (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
+ `CHARSET_TYPE_256X256' in UTF-2000; modify for
+ `charset_by_attributes'.
+ (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
+ (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
+ and `CHARSET_BY_LEADING_BYTE'.
+ (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
+ `utf-2000-version' to `vars_of_mule_charset'.
+ (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
+ define `leading-code-private-11' in UTF-2000; move setting of
+ `utf-2000-version' from `syms_of_mule_charset'.
+ (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
+ UTF-2000.
+
+ * character.h (Charset_ID): New type.
+ (LEADING_BYTE_UCS_BMP): New macro.
+ (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
+ (CHARSET_ID_OFFSET_94): New macro.
+ (MIN_CHARSET_ID_PRIVATE_94): New macro.
+ (MAX_CHARSET_ID_PRIVATE_94): New macro.
+ (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
+ final-byte.
+ (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
+ (LEADING_BYTE_LATIN_JISX0201): Likewise.
+ (CHARSET_ID_OFFSET_96): New macro.
+ (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
+ CHARSET_ID_OFFSET_96 and final-byte.
+ (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
+ (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
+ (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
+ (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
+ (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
+ (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
+ (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
+ (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
+ (LEADING_BYTE_THAI_TIS620): Likewise.
+ (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
+ (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
+ (CHARSET_ID_OFFSET_94x94): New macro.
+ (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
+ CHARSET_ID_OFFSET_94x94 and final-byte.
+ (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
+ (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
+ (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
+ (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
+ (LEADING_BYTE_CHINESE_GB2312): Likewise.
+ (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
+ (LEADING_BYTE_KOREAN_KSC5601): Likewise.
+ (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
+ (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
+ (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
+ (LEADING_BYTE_KOREAN_KPS9566): Likewise.
+ (CHARSET_TYPE_128X128): New macro.
+ (CHARSET_TYPE_256X256): New macro.
+ (XCHARSET_PRIVATE_P): Delete unconditionally.
+ (charset_by_attributes): Delete array about direction.
+ (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
+ (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
+ (MIN_CHAR_94): New macro.
+ (MAX_CHAR_94): New macro.
+ (MIN_CHAR_96): New macro.
+ (MAX_CHAR_96): New macro.
+ (MIN_CHAR_94x94): New macro.
+ (MAX_CHAR_94x94): New macro.
+ (MIN_CHAR_96x96): New macro.
+ (MAX_CHAR_96x96): New macro.
+ (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
+ (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
+ (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
+ - 32)'.
+ (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
+ (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
+ (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
+ (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
+ (MAX_CHAR_PRIVATE_TYPE9N): Changed.
+ (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
+ `XCHARSET_LEADING_BYTE' to make code-point.
+ (latin_a_char_to_charset): New variable.
+ (latin_a_char_to_byte1): New variable.
+ (latin_a_char_to_byte2): New variable.
+ (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
+ Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
+ `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
+
+ * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
+ instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
+ (find_charsets_in_emchar_string): Likewise.
+ (vars_of_insdel): Don't define local variable `i' in UTF-2000.
+
+ * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
+ `int'.
+ (decode_coding_iso2022): Likewise.
+
+ * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
+ of `unsigned char'.
+
+ * redisplay.c (redisplay_text_width_emchar_string): Use
+ `Charset_ID' instead of `unsigned char'.
+ (redisplay_frame_text_width_string): Likewise.
+
+ * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
+ `unsigned char'.
+
+ * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
+ instead of `unsigned char'.
+ (face_cachel_charset_font_metric_info): Likewise.
+
+ * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
+ (get_non_ascii_char_table_value): Likewise.
+ (get_char_table): Likewise.
+ (put_char_table): Likewise.
+ (map_over_other_charset): Likewise.
+ (map_char_table): Likewise.
+
+ * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
+ instead of `unsigned char'.
+
+1999-08-31 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
+ (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
+
+ * mule-charset.c (leading_code_private_11): Don't define in
+ UTF-2000.
+
+ * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
+ in UTF-2000 because it is not ported yet and not to use
+ `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
+
+1999-08-30 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * character.h (LEADING_BYTE_COMPOSITE): Deleted.
+
+1999-08-29 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
+ in UTF-2000.
+
+ * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
+ of unsigned char to store leading-byte.
+
+ * chartab.c (get_non_ascii_char_table_value): Don't use
+ `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
+
+ * file-coding.c (encode_coding_big5): Delete bogus implementation
+ in UTF2000.
+
+ * character.h (LEADING_BYTE_*): Delete definition for
+ non-UTF-2000.
+ (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
+ (LEADING_BYTE_PREFIX_P): Deleted.
+ (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
+ (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
+ (BUFBYTE_LEADING_BYTE_P): Deleted.
+ (CHARSET_PRIVATE_P): Deleted unconditionally.
+ (rep_bytes_by_first_byte): Deleted unconditionally.
+ (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
+ (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
+ (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
+ (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
+ (CHAR_FIELD2): Deleted.
+ (CHAR_FIELD3): Deleted.
+ (MAKE_CHAR): Delete definition for non-UTF-2000.
+ (BREAKUP_CHAR_1_UNSAFE): Deleted.
+ (breakup_char_1): New implementation.
+ (CHAR_CHARSET): Use `BREAKUP_CHAR'.
+ (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
+
+1999-08-29 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
+ condition.
+
+1999-08-28 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
+ (CHARSET_PRIVATE_P): Likewise.
+ (XCHARSET_PRIVATE_P): Likewise.
+ (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
+
+ * file-coding.c (encode_coding_ucs4): Delete bogus implement in
+ UTF2000.
+ (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
+
+1999-08-28 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * character.h (LEADING_BYTE_*): Changed in UTF2000.
+ (NUM_LEADING_BYTES): Changed from 128 to 256.
+ (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
+ (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
+ UTF2000.
+ (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
+
+ * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
+ UTF2000.
+ (Vcharset_chinese_cns11643_4): New variable in UTF2000.
+ (Vcharset_chinese_cns11643_5): New variable in UTF2000.
+ (Vcharset_chinese_cns11643_6): New variable in UTF2000.
+ (Vcharset_chinese_cns11643_7): New variable in UTF2000.
+ (Qchinese_cns11643_3): New variable in UTF2000.
+ (Qchinese_cns11643_4): New variable in UTF2000.
+ (Qchinese_cns11643_5): New variable in UTF2000.
+ (Qchinese_cns11643_6): New variable in UTF2000.
+ (Qchinese_cns11643_7): New variable in UTF2000.
+ (syms_of_mule_charset): Define `chinese-cns11643-3',
+ `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
+ and `chinese-cns11643-7' in UTF2000.
+ (vars_of_mule_charset): Initialize
+ next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
+ + 1 in UTF2000.
+ (complex_vars_of_mule_charset): Setup charset
+ `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
+ `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
+
+1999-08-27 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * mule-charset.c: Move setting for `leading-code-private-11' from
+ `syms_of_mule_charset' to `vars_of_mule_charset'.
+
+1999-08-27 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
+ and `NUM_LEADING_BYTES' in assert.
+
+1999-08-27 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
+ instead of 128.
+ (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
+ `NUM_LEADING_BYTES' instead of 128.
+
+1999-08-26 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * mule-charset.h (charset_by_leading_byte): Use
+ `NUM_LEADING_BYTES' instead of 128.
+ (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
+
+ * mule-charset.c (charset_by_leading_byte): Use
+ `NUM_LEADING_BYTES' instead of 128.
+ (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
+
+ * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
+ 128.
+
+1999-08-25 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * mule-charset.c (syms_of_mule_charset): Update to
+ 0.4 (Shin-Imamiya).
+
+1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
+
+ * file-coding.c (encode_coding_sjis): New implementation for
+ UTF2000. (decode_coding_sjis): Ditto.
+
+1999-06-17 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
+ Don't define in UTF2000.
+
+ * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
+ defined.
+
+ * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
+ mule-ccl.c, lstream.h, buffer.h: Include character.h in every
+ MULE.
+
+1999-06-17 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * config.h.in (CHAR_IS_UCS4): New macro.
+
+ * mule-charset.c (rep_bytes_by_first_byte): Modify for
+ conventional MULE representation.
+ (syms_of_mule_charset): Update to 0.3 (Imamiya).
+
+ * mule-charset.h: Reverted to original.
+
+ * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
+ mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
+ "mule-charset.h" if CHAR_IS_UCS4 is defined.
+
+ * character.h: New file.
+
+ * file-coding.c (Fmake_coding_system): Set 1 to
+ `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
+ defined.
+ (encode_coding_no_conversion): New implementation for UTF2000.
+
+ * file-coding.h (struct Lisp_Coding_System): Add new member
+ `fixed.size'.
+
+1999-06-16 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * file-coding.c (decode_coding_iso2022): Code-point arguments of
+ `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
+ (encode_coding_iso2022): New implementation for UTF2000.
+
+1999-06-15 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * mule-canna.c (c2mu): New implementation for UTF2000.
+ (m2c): Likewise.
+
+1999-06-15 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
+
+1999-06-15 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * file-coding.c (reset_encoding_stream): Set 0 to
+ `str->iso2022.current_char_boundary' in UTF2000.
+ (encode_utf8): Don't define in UTF2000.
+ (encode_coding_utf8): New implementation for UTF-8 representation
+ of UTF2000.
+ (complex_vars_of_file_coding): Define coding-system `utf-8'.
+
+1999-06-15 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
+
+ * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
+ UTF2000.
+ (REP_BYTES_BY_FIRST_BYTE): Likewise.
+
+ * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
+
+ * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
+ local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
+ as UTF-8 in UTF2000.
+ (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
+ (non_ascii_valid_char_p): Don't define in UTF2000.
+ (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
+ (Lstream_get_emchar_1): Likewise.
+ (utf-2000-version): New variable in UTF2000.
+
+ * lread.c (read_escape): Add new reader `u'.
+
+ * insdel.c (three_to_one_table): Don't define in UTF2000.
+ (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
+ `buf->text->mule_shifter' and `buf->text->mule_three_p' in
+ UTF2000.
+ (bytind_to_bufpos_func): Likewise.
+ (buffer_mule_signal_inserted_region): Likewise.
+ (vars_of_insdel): Don't initialize `three_to_one_table'.
+ (init_buffer_text): Use `buf->text->mule_size' instead of
+ `buf->text->mule_shifter' and `buf->text->mule_three_p' in
+ UTF2000.
+
+ * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
+ UTF-8 representation in UTF2000.
+ (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
+ (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
+ (decode_coding_iso2022): Don't define local variable `lb' in
+ UTF2000; don't use LEADING_BYTE in UTF2000; use
+ `DECODE_ADD_UCS_CHAR' in UTF2000.
+ (convert_to_external_format): Decode as UTF-8 in UTF2000.
+
+ * config.h.in (UTF2000): New macro.
+
+ * buffer.h (struct buffer_text): Add new member `mule_size' and
+ don't add `mule_shifter' and `mule_three_p' in UTF2000.
+ (valid_char_p): Return always 1 in UTF2000.
+ (MAX_EMCHAR_LEN): 6 in UTF2000.
+ (three_to_one_table): Don't define in UTF2000.
+ (real_bufpos_to_bytind): Modify for UTF-8 representation in
+ UTF2000.
+ (real_bytind_to_bufpos): Likewise.
+
+ * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
+
+1999-06-10 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * mule-charset.c (rep_bytes_by_first_byte): Modified for character
+ representation change.
+ (Vutf_2000_version): New variable.
+ (leading_code_private_11): New variable.
+ (syms_of_mule_charset): Add new variables `utf-2000-version' and
+ `leading-code-private-11'.
+
+ * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
+ (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
+ (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
+ (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
+ (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
+ (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
+ (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
+ (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
+ (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
+ (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
+ (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
+ (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
+ (MIN_CHAR_GREEK): New macro.
+ (MAX_CHAR_GREEK): New macro.
+ (MIN_CHAR_CYRILLIC): New macro.
+ (MAX_CHAR_CYRILLIC): New macro.
+ (MIN_CHAR_HEBREW): New macro.
+ (MAX_CHAR_HEBREW): New macro.
+ (MIN_CHAR_THAI): New macro.
+ (MAX_CHAR_THAI): New macro.
+ (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
+ (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
+ (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
+ (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
+ (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
+ (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
+ (CHAR_FIELD2): New inline function.
+ (CHAR_FIELD3): New inline function.
+ (MULE_CHAR_PRIVATE_OFFSET): New macro.
+ (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
+ (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
+ (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
+ (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
+ (MIN_CHAR_COMPOSITION): Likewise.
+ (CHAR_LEADING_BYTE): Modified for character representation change.
+ (MAKE_CHAR): Likewise.
+
+ * lisp.h (Vcharset_latin_iso8859_1): New variable.
+ (Vcharset_greek_iso8859_7): Likewise.
+ (Vcharset_cyrillic_iso8859_5): Likewise.
+ (Vcharset_hebrew_iso8859_8): Likewise.
+ (Vcharset_thai_tis620): Likewise.
+ (Vcharset_katakana_jisx0201): Likewise.
+
+1999-08-17 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * file-coding.c (determine_real_coding_system): Treat `coding:'
+ cookie.
+
+1999-08-16 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * file-coding.c (struct decoding_stream): New member `counter'.
+ (reset_decoding_stream): Initialize `counter'.
+ (decode_coding_ucs4): Use `counter'.
+ (decode_coding_utf8): Likewise.
+
+1999-07-30 XEmacs Build Bot <builds@cvs.xemacs.org>
+
+ * XEmacs 21.2.19 is released
+
+1999-07-27 Jeff Miller <jmiller@smart.net>
+
+ * add a "#ifdef HAVE_MENUBARS" wrapper to gui.c around
+ menubar_show_keybindings.
+
+1999-07-23 SL Baur <steve@miho>
+
+ * mule-charset.c (syms_of_mule_charset): Delete duplicated
+ definition of Qccl_program.
+
+ * mule-ccl.h: Make a global declaration of it here.
+
+1999-07-20 Bob Weiner <weiner@beopen.com>
+
+ * s/sco7.h: Added from rr@sco.com.
+
+1999-06-25 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * mule-ccl.c (ccl_driver): Fix `CCL_WriteMultibyteChar2'.
+
+1999-06-24 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * file-coding.c (mule_decode): Setup `str->ccl.last_block'.
+ (mule_encode): Likewise.
+
+ * mule-ccl.c (Qccl_program): New variable.
+ (CCL_SUSPEND): New macro.
+ (CCL_INVALID_CMD): New macro.
+ (CCL_READ_CHAR): Don't regard as invalid command while processing
+ the last block even if input is empty; use
+ `CCL_STAT_SUSPEND_BY_SRC' instead of `CCL_STAT_SUSPEND'.
+ (vars_of_mule_ccl): Setup `Qccl_program' and `Qccl_program_idx'.
+
+ * mule-ccl.h (CCL_STAT_SUCCESS): Moved from mule-ccl.c.
+ (CCL_STAT_SUSPEND_BY_SRC): Imported from Emacs 20.3.10.
+ (CCL_STAT_SUSPEND_BY_DST): Likewise.
+ (CCL_STAT_INVALID_CMD): Moved from mule-ccl.c; change value from 2.
+ (CCL_STAT_QUIT): Moved from mule-ccl.c; change value from 3.
+
+1999-05-04 Ken'ichi Handa <handa@gnu.org>
+
+ * mule-ccl.h (struct ccl_program): New member stack_idx.
+
+ * mule-ccl.c (ccl_prog_stack_struct): Declare it as static.
+ (ccl_driver): Setup stack_idx and ccl_prog correctly. Update them
+ before returing.
+ (setup_ccl_program): Initialize ccl->stack_idx to 0.
+
+1998-10-12 Kenichi Handa <handa@etl.go.jp>
+
+ * mule-ccl.c (CCL_DECODE_SJIS, CCL_ENCODE_SJIS): Swap the
+ definitions.
+
+1998-08-18 Kenichi Handa <handa@etl.go.jp>
+
+ * mule-ccl.c (CCL_READ_CHAR): If eof is encounterd while
+ processing the last block, don't just finish but processes eol
+ block of the current CCL program.
+ (ccl_driver): Add a new jump label ccl_repeat for the above
+ change.
+
+1998-04-15 Kenichi Handa <handa@etl.go.jp>
+
+ * mule-ccl.c: Typo in comments fixed.
+ (Qccl_program_idx): New variables.
+ (CCL_ReadMultibyteChar2): Macro name changed from
+ CCL_ReadMultibyteCharacter.
+ (CCL_WriteMultibyteChar2): Macro name changed from
+ CCL_WriteMultibyteChar2.
+ (ccl_driver): Adjusted for the above changes.
+ (resolve_symbol_ccl_program): New function.
+ (Fccl_execute): The arg CCL-PROGRAM can be a symbol of CCL
+ program. If CCL-PRGRAM is a vector, convert symbols in it to ID
+ numbers by resolve_symbol_ccl_program.
+ (Fccl_execute_on_string): Likewise.
+ (Fregister_ccl_program): If the arg CCL-PRGRAM is a vector,
+ convert symbols in it to ID numbers by resolve_symbol_ccl_program.
+
+1998-01-21 Kenichi Handa <handa@etl.go.jp>
+
+ * mule-ccl.h: (struct ccl_program): New member private_state.
+
+ * mule-ccl.c
+ (CCL_Call): Fix the comment.
+ (CCL_ReadMultibyteCharacter, CCL_WriteMultibyteCharacter): New
+ macros for CCL Commands.
+ (EXCMD): New macro.
+ (ccl_driver): New case lable `CCL_Extention'.
+ (setup_ccl_program): Initialize the member `private_state' of CCL.
+
+1999-07-08 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * keymap.c (copy_keymap_internal): Inherit the default binding.
+
+1999-07-14 Kazuyuki IENAGA <kazz@imasy.or.jp>
+
+ * event-Xt.c (handle_focus_event_1): Re-enable Motif/XIM to get
+ focus the event (XIM_focus_event).
+ (emacs_Xt_handle_magic_event): No side effect on Motif/XIM because
+ XIM_SetGeometry does nothing in input_method_motif.c, but re-unify
+ the interface for future use (XIM_SetGeometry).
+ * redisplay-x.c (x_output_string): Re-enable Motif/XIM to set spot
+ location (XIM_SetSpotLocation).
+ (x_output_eol_cursor): Ditto.
+
+1999-07-17 Gunnar Evermann <ge204@eng.cam.ac.uk>
+
+ * gdbinit (pobj): change lrecord_foo to &lrecord_foo to match
+ Olivier's change to lrecord.h of 1999-04-22
+
+1999-07-20 Robert Pluim <rpluim@bigfoot.com>
+
+ * gutter.c (redraw_exposed_gutter): Change type of pos from
+ enum toolbar_pos -> enum gutter_pos, since former is only defined
+ if toolbar support is.
+
+1999-07-19 Andy Piper <andy@xemacs.org>
+
+ * glyphs-x.c (x_resize_subwindow): cope with widgets as well as
+ subwindows.
+
+ * gutter.c (gutter_validate): new function for the gutter specifier.
+ (specifier_type_create_gutter): declare specifier validator.
+
+ * buffer.h (INC_CHARBYTIND): add for no error checking version.
+
+1999-07-18 Andy Piper <andy@xemacs.org>
+
+ * redisplay.c (add_emchar_rune): use XSTRING_DATA not string_data.
+
+ * glyphs-msw.c (console_type_create_glyphs_mswindows): add
+ resize_subwindow.
+ (mswindows_resize_subwindow): new function.
+
+ * gutter.c (redraw_exposed_gutter): only reset the
+ current_display_lines if non-zero.
+ (Fgutter_pixel_height): new function.
+ (Fgutter_pixel_width): new function.
+
+ * event-msw.c (mswindows_wnd_proc): set the mask of the parameter
+ we want to retrive from the tab control.
+
+1999-07-17 Andy Piper <andy@xemacs.org>
+
+ * window.c (change_window_height): mark gutters changed when we're
+ done.
+
+ * gutter.c (specifier_vars_of_gutter): make defaults more
+ sensible.
+
+ * gutter.h (WINDOW_REAL_GUTTER_BORDER_WIDTH): adjust to be 0 for 0
+ height gutter.
+ (DEFAULT_GUTTER_WIDTH): change.
+ (DEFAULT_GUTTER_BORDER_WIDTH): change.
+
+1999-07-18 Andy Piper <andy@xemacs.org>
+
+ * redisplay.c (add_emchar_rune): use XSTRING_DATA not string_data.
+
+1999-07-16 Andy Piper <andy@xemacs.org>
+
+ * frame.c (Fmake_frame): call init_frame_gutters().
+
+ * redisplay.c (add_emchar_rune): use string functions if we are
+ working with a string.
+ (position_redisplay_data_type): add string element.
+
+1999-07-15 Andy Piper <andy@xemacs.org>
+
+ * winslots.h: add real_gutter_size slots to hold the actual gutter
+ size. This is important for autodetected sizes.
+
+ * gutter.c (calculate_gutter_size): calculate size for gutters
+ that have 'autodetect size.
+
+ * redisplay-msw.c (mswindows_output_vertical_divider): adjust
+ extent of divider for gutters.
+
+ * redisplay-x.c (x_output_vertical_divider): adjust extent of
+ divider for gutters.
+
+ * scrollbar.c (update_scrollbar_instance): adjust scrollbar
+ position to take into account the gutters.
+
+ * redisplay.c (generate_modeline): adjust modeline position to
+ take into account the gutters.
+
+1999-07-14 Andy Piper <andy@xemacs.org>
+
+ * gutter.c (frame_topmost_window): new function.
+ (frame_bottommost_window): ditto.
+ (frame_leftmost_window): ditto.
+ (frame_rightmost_window): ditto.
+
+1999-07-13 Andy Piper <andy@xemacs.org>
+
+ * redisplay.c (calculate_display_line_boundaries): use text
+ boundaries so that gutters get handled properly.
+
+1999-07-12 Andy Piper <andy@xemacs.org>
+
+ * glyphs-x.c (x_widget_instantiate): set the font Motif-style if
+ we're using Motif.
+
+ * redisplay-output.c (redisplay_clear_to_window_end): generalised
+ from redisplay-x.c
+
+ * redisplay-x.c (redisplay_clear_to_window_end): moved to
+ redisplay.c
+
+ * redisplay-msw.c (redisplay_clear_to_window_end): deleted.
+
+ * gutter.c: new file - implements gutters. All new functions are
+ semantically equivalent to the toolbar functions.
+ (gutter_was_visible): new function.
+ (get_gutter_coords): ditto.
+ (output_gutter): ditto.
+ (clear_gutter): ditto.
+ (update_frame_gutters): ditto.
+ (redraw_exposed_gutter): ditto.
+ (redraw_exposed_gutters): ditto.
+ (free_frame_gutters): ditto.
+ (init_frame_gutters): ditto.
+ (decode_gutter_position): ditto.
+ (Fset_default_gutter_position): ditto.
+ (Fset_default_gutter_position): ditto.
+ (Fdefault_gutter_position): ditto.
+ (gutter_after_change): ditto.
+ (Fgutter_specifier_p): ditto.
+ (recompute_overlaying_specifier): ditto.
+ (gutter_specs_changed): ditto.
+ (default_gutter_specs_changed): ditto.
+ (gutter_geometry_changed_in_window): ditto.
+ (default_gutter_size_changed_in_window): ditto.
+ (default_gutter_border_width_changed_in_window): ditto.
+ (default_gutter_visible_p_changed_in_window): ditto.
+ (syms_of_gutter): ditto.
+ (vars_of_gutter): ditto.
+ (specifier_type_create_gutter): ditto.
+ (specifier_vars_of_gutter): ditto.
+
+ * gutter.h: new file. Contains gutter constants and sizing macros
+ similar to those for the toolbar.
+
+ * winslots.h: add gutter variables.
+
+ * window.h: declare window_is_* functions.
+
+ * window.c (window_is_lowest): make non-static.
+ (window_is_highest): ditto.
+ (window_top_toolbar_height): deleted.
+ (window_bottom_toolbar_height): deleted.
+ (window_left_toolbar_width): deleted.
+ (window_right_toolbar_width): deleted.
+ (window_top_gutter_height): add gutter sizing.
+ (window_bottom_gutter_height): ditto.
+ (window_left_gutter_width): ditto.
+ (window_right_gutter_width): ditto.
+
+ * symsinit.h: declarations for gutters vars etc.
+
+ * search.c (bi_find_next_emchar_in_string): new function.
+
+ * scrollbar.c (update_scrollbar_instance): remove reference to
+ window_bottom_toolbar_height which did nothing.
+
+ * redisplay.h (struct display_line): add face indices for
+ overriding defaults in output_display_line.
+ Add gutter_changed flags and declarations.
+
+ * redisplay.c (create_string_text_block): new function, similar to
+ create_text_block but for strings. Display tables etc are used
+ from the currently selected window.
+ (generate_string_display_line): ditto. Similar to
+ generate_display_line.
+ (generate_displayable_area): generate display lines for a given
+ area on a frame. Input is the string, with associated extents, to
+ display.
+ (redisplay_frame): add gutter_changed check.
+ (redisplay_device): ditto.
+ (redisplay_without_hooks): ditto.
+
+ * redisplay-x.c (bevel_modeline): moved to redisplay.c.
+ (x_redraw_exposed_area): redraw exposed gutters.
+ (x_bevel_area): new redisplay device method.
+ (x_type_create_redisplay_mswindows): add bevel_area device method.
+ (x_output_display_block): fiddly Martin-style cleanup.
+ (x_output_vertical_divider): use bevel_area.
+
+ * redisplay-output.c (output_display_line): check display_lines
+ for face information before using defaults.
+ (bevel_modeline): new function, calls bevel_area with appropriate
+ values.
+
+ * redisplay-msw.c (bevel_modeline): moved to redisplay.c.
+ (mswindows_redraw_exposed_area): redraw exposed gutters.
+ (mswindows_bevel_area): new redisplay device method.
+ (console_type_create_redisplay_mswindows): add bevel_area device
+ method.
+
+ * indent.c (string_column_at_point): add column_at_point but for
+ strings.
+
+ * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
+ instantiate widgets that we have a toolkit for.
+
+ * general.c: add Qgutter.
+
+ * frame.h (struct frame): add display lines for gutters and
+ visibility flags.
+
+ * frame.c (set_frame_selected_window): mark gutters changed.
+
+ * emacs.c (main_1): add gutter initialisation.
+
+ * device.h (struct device): add gutter_changed flag and macros to
+ manipulate it.
+
+ * console.h (struct console_methods): new bevel area redisplay
+ method.
+
+ * buffer.h (REAL_INC_CHARBYTIND): new macro for strings as
+ REAL_INC_BYTIND is for buffers.
+ (INC_CHARPTR): ditto.
+
+ * Makefile.in.in (objs): add gutter.o
+
1999-07-13 XEmacs Build Bot <builds@cvs.xemacs.org>
* XEmacs 21.2.18 is released