update.
[chise/xemacs-chise.git-] / src / ChangeLog
index cb61c20..d61fa19 100644 (file)
+2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
+       (dfc_convert_to_internal_format): Likewise.
+       
+       * text-coding.c (Fcoding_system_canonical_name_p): New function.
+       * text-coding.c (Fcoding_system_alias_p): New function.
+       * text-coding.c (Fcoding_system_aliasee): New function.
+       * text-coding.c (append_suffix_to_symbol): New function.
+       * text-coding.c (dangling_coding_system_alias_p): New function.
+       * text-coding.c (Ffind_coding_system):
+       * text-coding.c (Fcopy_coding_system):
+       * text-coding.c (encode_coding_no_conversion):
+       * text-coding.c (syms_of_file_coding):
+       * text-coding.c (vars_of_file_coding):
+       Rewrite coding system alias code.
+       Allow nested aliases, like symbolic links.
+       Allow redefinition of coding system aliases.
+       Prevent existence of dangling coding system aliases.
+       Eliminate convert_to_external_format.
+       Eliminate convert_to_internal_format.
+       
+       * text-coding.c: Change enum eol_type to eol_type_t.
+
+2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
+       of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
+
+       * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
+       MIN_CHAR_MOJIKYO + 94 * 60 * 22.
+
+2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
+       `ideograph-daikanwa'.
+
+       * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
+       (Vcharset_ucs_bmp): Likewise.
+       (Vcharset_mojikyo): Add new extern variable definition.
+       (Vcharset_latin_iso8859_2): Deleted because it is not used.
+       (Vcharset_latin_iso8859_3): Likewise.
+       (Vcharset_latin_iso8859_4): Likewise.
+       (Vcharset_latin_iso8859_9): Likewise.
+       (Vcharset_latin_viscii_lower): Likewise.
+       (Vcharset_latin_viscii_upper): Likewise.
+       (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
+       `mojikyo' code-point is used to decode.
+       (encode_char_2): New function [to convert `mojikyo' code-point to
+       Mojikyo font encoding].
+       (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
+       (breakup_char_1): Likewise.
+       (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
+
+2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (Fmake_coding_system): Add document about
+       `disable-composition' property.
+
+2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (Qdisable_composition): New variable; delete
+       `Qcomposite'.
+       (Fmake_coding_system): Add new property `disable-composite';
+       delete property `composite'.
+       (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
+       instead of `!CODING_SYSTEM_COMPOSITE'.
+       (syms_of_file_coding): Add new symbol `disable-composition';
+       delete symbol `composite'.
+
+       * file-coding.h (struct Lisp_Coding_System): Add
+       `disable_composition'; delete `enable_composition'.
+       (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
+       `CODING_SYSTEM_COMPOSITE'.
+       (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
+       `XCODING_SYSTEM_COMPOSITE'.
+
+2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
+       to 0.15.
+
+2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (Qcomposite): New variable.
+       (Fmake_coding_system): Add new property `composite'.
+       (struct decoding_stream): Add `combined_char_count',
+       `combined_chars' and `combining_table' in UTF-2000.
+       (COMPOSE_FLUSH_CHARS): New macro.
+       (COMPOSE_ADD_CHAR): New macro.
+       (reset_decoding_stream): Reset `str->combined_char_count' and
+       `str->combining_table' in UTF-2000.
+       (decode_coding_iso2022): Modify for character-decomposition.
+       (syms_of_file_coding): Add new symbol `composite'.
+
+2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
+       (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
+       of `Vcharacter_composition_table' if `->decomposition' property
+       has only 1 element.
+       (Qlatin_tcvn5712): New variable.
+       (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
+       (complex_vars_of_mule_charset): Add new coded-charset
+       `latin-tcvn5712'.
+
+       * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
+
+2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * file-coding.h (struct Lisp_Coding_System): Add
+       `enable_composition'.
+       (CODING_SYSTEM_COMPOSITE): New macro.
+       (XCODING_SYSTEM_COMPOSITE): New macro.
+
+2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
+
+       * mule-canna.c (c2mu): Fix problem with UTF-2000.
+
+2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
+
+       * mule-charset.c (Fput_char_attribute): Don't make mapping-table
+       if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
+
+2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
+
+       * mule-charset.c (Vcharset_mojikyo): New variable.
+       (Fdefine_char): Don't use coded-charset which does not have
+       non-builtin character range to allocate character-id.
+       (Qmojikyo): New variable.
+       (syms_of_mule_charset): Add new symbol `mojikyo'.
+       (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
+
+       * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
+       (LEADING_BYTE_MOJIKYO): New macro.
+       (MIN_CHAR_MOJIKYO): New macro.
+       (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
+       (MAX_CHAR_MOJIKYO): New macro.
+
+2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
+
+       * mule-charset.c (remove_char_attribute): Fixed.
+
+2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
+
+       * mule-charset.c (remove_char_attribute): New function.
+       (Fremove_char_attribute): New function.
+       (encode_builtin_char_1): Comment out builtin-support for
+       greek-iso8859-7 and cyrillic-iso8859-5.
+       (Fdecode_char): Check `code' is an integer.
+       (syms_of_mule_charset): Add `remove-char-attribute'.
+       (MIN_CHAR_GREEK): Deleted.
+       (MAX_CHAR_GREEK): Likewise.
+       (MIN_CHAR_CYRILLIC): Likewise.
+       (MAX_CHAR_CYRILLIC): Likewise.
+       (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
+       MAX_CHAR_GREEK for `greek-iso8859-7'.
+
+       * char-ucs.h (MIN_CHAR_GREEK): Comment out.
+       (MAX_CHAR_GREEK): Likewise.
+       (MIN_CHAR_CYRILLIC): Likewise.
+       (MAX_CHAR_CYRILLIC): Likewise.
+
+2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
+
+       * mule-charset.c (Fdefine_char): Fix problem when new code-point
+       format is used without `ucs' property.
+       (Fdecode_char): Fix problem with GR representation.
+       (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
+       `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
+
+2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (make_builtin_char): New function.
+       (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
+       (Fset_charset_mapping_table): Modify for new representation of
+       code-point.
+       (Fdecode_char): New function.
+       (syms_of_mule_charset): Add new builtin function `decode-char' in
+       UTF-2000.
+
+       * char-ucs.h (make_builtin_char): New prototype.
+       (DECODE_CHAR): New inline function.
+       (MAKE_CHAR): Use `DECODE_CHAR'.
+
+2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
+
+       * text-coding.c (parse_charset_conversion_specs): Use
+       `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
+       `XCHARSET_TYPE'.
+       (iso2022_designate): Likewise.
+
+       * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
+       `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
+
+       * mule-charset.c (Vcharset_ucs): New variable.
+       (print_charset): Change design; use `CHARSET_CHARS' and
+       `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
+       (make_charset): Change signature to specify `chars' and
+       `dimension' instead of `type'.
+       (range_charset_code_point): Modify for 256^n-set.
+       (encode_builtin_char_1): Encode as `ucs' in default.
+       (Fmake_charset): Modify for `make_charset'.
+       (Fmake_reverse_direction_charset): Likewise.
+       (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
+       UTF-2000.
+       (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
+       for `make_charset'.
+
+       * char-ucs.h (Vcharset_ucs): New variable.
+       (LEADING_BYTE_UCS): New macro.
+       (struct Lisp_Charset): Delete `type'; change type of `dimension'
+       and `chars' to `unsigned short' from `unsigned int'.
+       (CHARSET_TYPE): Deleted.
+       (XCHARSET_TYPE): Deleted.
+
+2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
+
+       * mule-charset.c (charset_code_point): Moved to char-ucs.h.
+
+       * char-ucs.h (charset_code_point): Moved from mule-charset.c.
+       (ENCODE_CHAR): New macro.
+
+2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
+       to 0.14 (Kawachi-Katakami).
+
+2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * text-coding.c (char_encode_shift_jis): Modify for
+       `charset_code_point'.
+       (char_encode_iso2022): Likewise.
+
+       * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
+       (integer) instead of list of <Lisp_Object>s (integers) as the
+       format of code-point of a coded-charset.
+       (range_charset_code_point): Return <int> instead of <Lisp_Object>.
+       (encode_builtin_char_1): New function; delete
+       `split_builtin_char'.
+       (charset_code_point): Return <int> instead of <Lisp_Object>.
+       (Fsplit_char): Don't use `SPLIT_CHAR'.
+
+       * char-ucs.h (encode_builtin_char_1): New prototype; delete
+       prototype for `split_builtin_char'.
+       (range_charset_code_point): Return <int> instead of <Lisp_Object>.
+       (charset_code_point): Likewise.
+       (encode_char_1): New inline function; delete `SPLIT_CHAR'.
+       (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
+
+2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
+
+       * mule-charset.c (complex_vars_of_mule_charset): Don't define
+       `japanese-jisx0208-1990' in non-UTF-2000 Mule.
+
+2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
+
+       * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
+       (MAX_CHAR_OBS_94x94): Deleted.
+
+2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
+
+       * char-ucs.h (MAX_CHAR_BMP): New macro.
+
+2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * text-coding.c: Sync with r21-2-24.
+
+2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * file-coding.c: Modify for UTF-2000.
+
+2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
+       to 0.13 (Takaida).
+
+2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (split_builtin_char): Delete builtin support for
+       `katakana-jisx0201'.
+       (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
+       BMP area in builtin representation.
+
+       * char-ucs.h (MAKE_CHAR): Delete builtin support for
+       `Vcharset_katakana_jisx0201'.
+
+1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
+       (Qisolated): New variable.
+       (Qinitial): New variable.
+       (Qmedial): New variable.
+       (Qfinal): New variable.
+       (Qvertical): New variable.
+       (Qsmall): New variable.
+       (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
+       `Qvertical' and `Qsmall'.
+       (Qmojikyo_pj_[1 .. 21]): New variable.
+       (syms_of_mule_charset): Add new symbols `isolated', `initial',
+       `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
+       (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
+       .. 21]'.
+
+1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
+       (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
+       (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
+
+1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
+       (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
+       BMP.
+       (Qjapanese_jisx0208_1990): New variable.
+       (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
+       (complex_vars_of_mule_charset): Add new coded-charset
+       `japanese-jisx0208-1990'.
+
+       * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
+       (MIN_CHAR_JIS_X0208_1990): New macro.
+       (MAX_CHAR_JIS_X0208_1990): New macro.
+
+1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
+       coded-charset is not found.
+
+1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
+       (Fdefine_char): Use `Fmake_char'.
+
+1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
+       (Vcharset_hiragana_jisx0208): Deleted.
+       (Vcharset_katakana_jisx0208): Deleted.
+       (Qideograph_daikanwa): New variable.
+       (Qhiragana_jisx0208): Deleted.
+       (Qkatakana_jisx0208): Deleted.
+       (split_builtin_char): Split `ideograph-daikanwa'.
+       (Fsplit_char): New implementation for UTF-2000.
+       (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
+       delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
+       (complex_vars_of_mule_charset): Add new coded-charset
+       `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
+       `katakana-jisx0208'.
+
+       * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
+       (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
+       (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
+       (MIN_CHAR_DAIKANWA): New macro.
+       (MAX_CHAR_DAIKANWA): New macro.
+
+1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * data.c (Fstring_to_number): Don't recognize floating point if
+       base is not 10.
+
+1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
+
+1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (Qsquare): New variable.
+       (to_char_code): Add `Qsquare'.
+       (syms_of_mule_charset): Add new symbol `square'.
+
+1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (Qcircle): New variable.
+       (to_char_code): Add `Qcircle'.
+       (syms_of_mule_charset): Add new symbol `circle'.
+
+1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (Qfont): New variable.
+       (to_char_code): Add `Qfont'.
+       (syms_of_mule_charset): Add new symbol `font'.
+
+1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (Qsub): New variable.
+       (to_char_code): Add `Qsub'.
+       (syms_of_mule_charset): Add new symbol `sub'.
+
+1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (Fput_char_attribute): Convert each element of
+       VALUE to GL position if ATTRIBUTE is a GR-set,
+
+1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
+       coded-charset is a GR-set.
+
+1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (Fput_char_attribute): Check each element of
+       VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
+
+1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
+       UTF-2000.
+       (Qethiopic_ucs): New variable in UTF-2000.
+       (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
+       (complex_vars_of_mule_charset): Add new coded-charset
+       `ethiopic-ucs' in UTF-2000.
+
+       * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
+       (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
+       9)'.
+       (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
+       10)'.
+       (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
+
+1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (Fset_charset_mapping_table): Fix problem with
+       `ascii'.
+
+1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (Vcharacter_variant_table): New variable.
+       (Q_ucs): New variable.
+       (Fchar_variants): New function.
+       (Fput_char_attribute): Register `->ucs' value to
+       `Vcharacter_variant_table'.
+       (syms_of_mule_charset): Add new function `char-variants' and new
+       symbol `->ucs'.
+       (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
+
+1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (get_char_code_table): Allow negative character
+       code.
+       (put_char_code_table): Likewise.
+       (Vcharacter_composition_table): New variable.
+       (Q_decomposition): New variable.
+       (Qwide): New variable.
+       (Qnarrow): New variable.
+       (Qcompat): New variable.
+       (QnoBreak): New variable.
+       (Qsuper): New variable.
+       (Qfraction): New variable.
+       (to_char_code): New function.
+       (Fget_composite_char): New function.
+       (Fput_char_attribute): Register `->decomposition' value to
+       `Vcharacter_composition_table'.
+       (syms_of_mule_charset): Add new function `get-composite-char', new
+       symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
+       `super' and `fraction'.
+       (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
+
+1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (Fchar_attribute_alist): Check the argument is a
+       character; copy the return value.
+
+1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
+
+       * mule-charset.c (range_charset_code_point): Must use make_int.
+       (split_builtin_char): New function.
+
+1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (char_byte_table): Change name from
+       "char-code-table" to "char-byte-table".
+       (mark_char_code_table): New function.
+       (char_code_table_equal): New function.
+       (char_code_table_hash): New function.
+       (char_code_table_description): New constant.
+       (char_code_table): New type.
+       (make_char_code_table): New function.
+       (copy_char_code_table): New function.
+       (get_char_code_table): Modify for `char_code_table' type.
+       (put_char_code_table): Likewise.
+       (vars_of_mule_charset): Update `utf-2000-version' to 0.12
+       (Kashiwara).
+
+       * char-ucs.h (char_code_table): New type.
+       (XCHAR_CODE_TABLE): New macro.
+       (XSETCHAR_CODE_TABLE): New macro.
+       (CHAR_CODE_TABLE_P): New macro.
+       (GC_CHAR_CODE_TABLE_P): New macro.
+       (struct Lisp_Char_Code_Table): New structure.
+
+1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (Fmake_charset): Setup byte_offset for
+       {94|96}^n-set.
+
+1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (Fdefine_char): Fix problem with non-UCS
+       character.
+
+1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
+       is found.
+
+1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
+       charset, it is regarded as a charset.
+       (put_char_attribute): New function in UTF-2000.
+       (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
+       charset, mapping-table of the charset is modified.
+       (Fdefine_char): New function in UTF-2000.
+       (Fset_charset_mapping_table): Use `put_char_attribute' instead of
+       `Fput_char_attribute'.
+       (syms_of_mule_charset): Add new function `define-char' and new
+       symbol `ucs' in UTF-2000.
+       (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
+
+1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (Fcharset_name): Define `byte_offset' in
+       non-UTF-2000 configuration.
+
+1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
+       not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
+
+       * mule-charset.c (mark_charset): `cs->encoding_table' has been
+       deleted.
+       (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
+       (Fset_charset_mapping_table): Likewise.
+
+       * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
+       (CHARSET_ENCODING_TABLE): Delete.
+       (XCHARSET_ENCODING_TABLE): Delete.
+       (charset_code_point): New interface.
+
+1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * text-coding.c (char_encode_iso2022): Use `charset_code_point'
+       instead of `charset_get_byte1' and `charset_get_byte2'.
+
+       * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
+       (charset_get_byte2): Deleted.
+
+1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * char-ucs.h (SPLIT_CHAR): New inline function.
+       (breakup_char_1): Use `SPLIT_CHAR'.
+
+       * mule-charset.c (range_charset_code_point): New function.
+       (charset_code_point): New function.
+
+       * char-ucs.h (range_charset_code_point): New interface.
+       (breakup_char_1): Use `range_charset_code_point'.
+
+1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (Fmake_charset): Delete unused local variable
+       `code_offset'.
+
+       * char-ucs.h (Vcharacter_attribute_table): New extern variable.
+       (breakup_char_1): Find a charset and code-point in
+       `Vcharacter_attribute_table'.
+
+1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
+       to 0.10 (Yao).
+
+1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (Vcharacter_attribute_table): New variable.
+       (Fchar_attribute_alist): New function.
+       (Fget_char_attribute): New function.
+       (Fput_char_attribute): New function.
+       (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
+       too.
+       (syms_of_mule_charset): Add new function `char-attribute-alist',
+       `get-char-attribute' and `put-char-attribute'.
+       (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
+
+1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (Fmake_charset): Just use
+       `get_unallocated_leading_byte'.
+
+       * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
+       sets; don't use final-byte based number for private sets.
+
+1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
+       integer.
+
+1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
+       to 0.9.
+
+1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
+       of `CHAR_LEADING_BYTE' in UTF-2000.
+
+       * insdel.c (find_charsets_in_bufbyte_string): Use
+       `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
+       (find_charsets_in_emchar_string): Likewise.
+
+       * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
+       `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
+
+       * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
+       (CHAR_CHARSET_ID): New macro.
+
+1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * chartab.c (get_char_table): Don't use type `Charset_ID' for
+       charset-id - MIN_LEADING_BYTE.
+       (put_char_table): Likewise.
+
+1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
+       (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
+       (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
+       (CHARSET_ID_OFFSET): New macro.
+       (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
+       (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
+       (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
+       (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
+       4).
+       (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
+       5).
+       (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
+       (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
+       (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
+       (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
+       (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
+
+1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (next_allocated_leading_byte): New variable in
+       UTF-2000.
+       (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
+       (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
+       (get_unallocated_leading_byte): Simply use
+       `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
+       (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
+       UTF-2000.
+
+       * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
+       (MAX_LEADING_BYTE_PRIVATE): New macro.
+       (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
+       (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
+
+1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (Fmake_charset): Allocate final-byte based
+       charset-id for 94-set, 96-set and 94x94-set.
+
+1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (char_byte_table_equal): Fill braces to avoid
+       ambiguous `else'.
+       (Fmake_charset): Likewise.
+       (complex_vars_of_mule_charset): Modify the font registry of
+       `ucs-bmp' not to match `Ethiopic-Unicode'.
+
+1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (complex_vars_of_mule_charset): Add font
+       registory of `ucs-bmp'.
+
+1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
+       coded-charsets in `default-coded-charset-priority-list' when
+       breaking up a character.
+
+       * mule-charset.c (Vcharset_latin_viscii): New variable.
+       (Qlatin_viscii): New variable.
+       (make_charset): Don't use `decoding_table'.
+       (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
+       byte_offset.
+       (Fset_charset_mapping_table): New implementation.
+       (syms_of_mule_charset): Add new symbol `latin-viscii'.
+       (complex_vars_of_mule_charset): Set `graphic' attribute of charset
+       `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
+       `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
+       of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
+       charset `latin_viscii'.
+
+       * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
+       (CHARSET_TYPE_94X94): Change to 1 from 2.
+       (CHARSET_TYPE_96): Change to 2 from 1.
+       (CHARSET_TYPE_128): New macro.
+       (CHARSET_TYPE_128X128): Change to 5 from 4.
+       (CHARSET_TYPE_256): New macro.
+       (CHARSET_TYPE_256X256): Change to 7 from 5.
+       (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
+
+1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * text-coding.c (char_encode_shift_jis): Refer
+       `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
+       `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
+
+       * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
+       (char_byte_table_equal): New function in UTF-2000.
+       (char_byte_table_hash): New function in UTF-2000.
+       (char_byte_table_description): New constant in UTF-2000.
+       (char_byte_table): New type in UTF-2000.
+       (make_char_byte_table): New function in UTF-2000.
+       (copy_char_byte_table): New function in UTF-2000.
+       (make_char_code_table): New macro in UTF-2000.
+       (get_char_code_table): New function in UTF-2000.
+       (put_char_code_table): New function in UTF-2000.
+       (mark_charset): Mark `cs->encoding_table' in UTF-2000.
+       (charset_description): Add setting in UTF-2000.
+       (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
+       `CHARSET_TO_BYTE1_TABLE(cs)'.
+       (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
+       instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
+       (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
+       instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
+       (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
+       instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
+       `CHARSET_TO_BYTE2_TABLE(cs)'.
+
+       * char-ucs.h (char_byte_table): New type.
+       (XCHAR_BYTE_TABLE): New macro.
+       (XSETCHAR_BYTE_TABLE): New macro.
+       (CHAR_BYTE_TABLE_P): New macro.
+       (GC_CHAR_BYTE_TABLE_P): New macro.
+       (struct Lisp_Char_Byte_Table): New structure.
+       (get_char_code_table): New interface.
+       (Emchar_to_byte_table): Deleted.
+       (get_byte_from_character_table): Deleted.
+       (struct Lisp_Charset): Add `encoding_table'; delete
+       `to_byte1_table' and `to_byte2_table'.
+       (CHARSET_ENCODING_TABLE): New macro.
+       (CHARSET_TO_BYTE1_TABLE): Deleted.
+       (CHARSET_TO_BYTE2_TABLE): Deleted.
+       (XCHARSET_ENCODING_TABLE): New macro.
+       (XCHARSET_TO_BYTE1_TABLE): Deleted.
+       (XCHARSET_TO_BYTE2_TABLE): Deleted.
+
+1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (syms_of_mule_charset): Delete charset alias
+       `vietnamese-viscii-*'.
+
+1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (Qvietnamese_viscii_lower): New variable.
+       (Qvietnamese_viscii_upper): New variable.
+       (Fdefine_charset_alias): New function.
+       (syms_of_mule_charset): Add new function `define-charset-alias'.
+       (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
+       `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
+       `latin-viscii-*'.
+
+1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
+       (MAX_CHAR_OBS_94x94): New macro.
+       (breakup_char_1): Support obsolete XEmacs-UCS private code space
+       for 94x94 sets.
+
+       * mule-charset.c (put_byte_from_character_table): Change unit size
+       from 128 to 256.
+       (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
+       not defined.
+       (Fmake_reverse_direction_charset): Modify dummy argument of
+       `make_charset' for non-UTF-2000 environment.
+
+1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
+
+       * mule-charset.c (destroy_byte_from_character_table): New macro.
+       (latin_jisx0201_to_ucs): Deleted.
+       (latin_iso8859_2_to_ucs): Deleted.
+       (latin_iso8859_3_to_ucs): Deleted.
+       (latin_iso8859_4_to_ucs): Deleted.
+       (latin_iso8859_9_to_ucs): Deleted.
+       (latin_viscii_lower_to_ucs): Deleted.
+       (latin_viscii_upper_to_ucs): Deleted.
+       (mark_charset): Mark `cs->decoding_table'.
+       (Fcharset_mapping_table): Fix DOC-string.
+       (Fset_charset_mapping_table): New function.
+       (syms_of_mule_charset): Add nwe function
+       `set-charset-mapping-table'.
+       (complex_vars_of_mule_charset): Don't setup and use
+       `latin_*_to_ucs'.
+
+1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * char-ucs.h (MAKE_CHAR): Check the result for range-represented
+       charset.
+
+1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
+       (Vcharset_katakana_jisx0208): New variable.
+       (Qhiragana_jisx0208): New variable.
+       (Qkatakana_jisx0208): New variable.
+       (make_charset): Add new argument `byte_offset'.
+       (charset_get_byte1): Modify for new coded-charset definition; use
+       `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
+       `XCHARSET_BYTE_OFFSET'.
+       (Fmake_charset): Modify for `make_charset'.
+       (Fmake_reverse_direction_charset): Likewise.
+       (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
+       `katakana-jisx0208'.
+       (complex_vars_of_mule_charset): Modify for `make_charset'; quote
+       `.'  in font registry of charset `katakana-jisx0201',
+       `latin-jisx0201', `vietnamese-viscii-lower' and
+       `vietnamese-viscii-upper'; modify DOC-string of charset
+       `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
+       registry of charset `japanese-jisx0208' not to use font for JIS
+       X0208:1990; add new charset `hiragana-jisx0208' and
+       `katakana-jisx0208'.
+
+       * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
+       (LEADING_BYTE_KATAKANA_JISX0208): New macro.
+       (struct Lisp_Charset): Add `byte_offset'.
+       (CHARSET_BYTE_OFFSET): New macro.
+       (XCHARSET_UCS_MIN): New macro.
+       (XCHARSET_UCS_MAX): New macro.
+       (XCHARSET_CODE_OFFSET): New macro.
+       (XCHARSET_BYTE_OFFSET): New macro.
+       (MIN_CHAR_HIRAGANA): New macro.
+       (MAX_CHAR_HIRAGANA): New macro.
+       (MIN_CHAR_KATAKANA): New macro.
+       (MAX_CHAR_KATAKANA): New macro.
+       (MAKE_CHAR): Modify for new coded-charset definition; use
+       `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
+       `XCHARSET_BYTE_OFFSET'.
+
+1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (CHAR96): Deleted.
+       (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
+       <Lisp_Object>.
+       (latin_iso8859_2_to_ucs): Likewise.
+       (latin_iso8859_3_to_ucs): Likewise.
+       (latin_iso8859_4_to_ucs): Likewise.
+       (latin_iso8859_9_to_ucs): Likewise.
+       (latin_viscii_lower_to_ucs): Likewise.
+       (latin_viscii_upper_to_ucs): Likewise.
+       (latin_tcvn5712_to_ucs): Commented out.
+       (make_charset): Change type of argument `decoding_table' from
+       <Emchar*> to <Lisp_Object> [vector of characters].
+       (Fmake_charset): Modify for `make_charset'.
+       (Fmake_reverse_direction_charset): Likewise.
+       (Fcharset_mapping_table): New function in UTF-2000.
+       (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
+       UTF-2000.
+       (complex_vars_of_mule_charset): Modify for type change of
+       `*_to_ucs'; modify for `make_charset'.
+
+       * char-ucs.h (struct Lisp_Charset): Change type of
+       `decoding_table' from <Emchar*> to <Lisp_Object>.
+       (MAKE_CHAR): Modify for new specification of `decoding_table'.
+
+1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
+       error with non-UTF-2000-Mule.
+
+1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
+       in lisp again].
+       (Vcharset_chinese_cns11643_4): Likewise.
+       (Vcharset_chinese_cns11643_5): Likewise.
+       (Vcharset_chinese_cns11643_6): Likewise.
+       (Vcharset_chinese_cns11643_7): Likewise.
+       (Qchinese_cns11643_3): Likewise.
+       (Qchinese_cns11643_4): Likewise.
+       (Qchinese_cns11643_5): Likewise.
+       (Qchinese_cns11643_6): Likewise.
+       (Qchinese_cns11643_7): Likewise.
+       (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
+       `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
+       and `chinese-cns11643-7' to lisp/mule/chinese.el.
+       (complex_vars_of_mule_charset): Likewise.
+
+1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (charset_get_byte1): Fix bug about 94- and
+       96-set.
+       (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
+       CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
+
+1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
+       0xFF60.
+       (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
+       (breakup_char_1): Likewise.
+
+       * text-coding.c (char_encode_iso2022): Keep designated charsets if
+       one of them includes the specified character.
+
+1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
+
+1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
+
+1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
+       definition for non-UTF-2000 Mule.
+       (latin_iso8859_3_to_ucs): Likewise.
+       (latin_iso8859_4_to_ucs): Likewise.
+       (latin_iso8859_9_to_ucs): Likewise.
+       (latin_jisx0201_to_ucs): Likewise.
+       (MIN_CHAR_THAI): Likewise.
+       (MAX_CHAR_THAI): Likewise.
+       (MIN_CHAR_GREEK): Likewise.
+       (MAX_CHAR_GREEK): Likewise.
+       (MIN_CHAR_HEBREW): Likewise.
+       (MAX_CHAR_HEBREW): Likewise.
+       (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
+       (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
+       (MIN_CHAR_CYRILLIC): Likewise.
+       (MAX_CHAR_CYRILLIC): Likewise.
+
+1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * char-ucs.h (breakup_char_1): Use
+       `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
+       thai-tis620 and katakana-jisx0201 area.
+
+1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * char-ucs.h (breakup_char_1): Use
+       `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
+       area.
+
+       * text-coding.c (reset_encoding_stream): Fixed.
+       (char_encode_ucs4): Delete `& 255'.
+
+       * char-ucs.h (breakup_char_1): Use
+       `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
+
+1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * file-coding.c (Fmake_coding_system): Don't set up
+       `codesys->fixed.size'.
+       (encode_coding_no_conversion): Don't refer
+       `str->codesys->fixed.size'.
+
+1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
+       (latin_a_char_to_byte1): Deleted.
+       (latin_a_char_to_byte2): Deleted.
+
+1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (make_charset): Add new argument `ucs_min',
+       `ucs_max' and `code_offset'.
+       (charset_get_byte1): New implementation [delete specific charset
+       depended implementations].
+       (Fmake_charset): Modify for `make_charset'.
+       (Fmake_reverse_direction_charset): Likewise.
+       (complex_vars_of_mule_charset): Likewise.
+
+       * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
+       `code_offset'.
+       (CHARSET_UCS_MIN): New macro.
+       (CHARSET_UCS_MAX): New macro.
+       (CHARSET_CODE_OFFSET): New macro.
+       (MAKE_CHAR): Delete charset depended definitions [except
+       katakana-jisx0201].
+
+1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * char-ucs.h (breakup_char_1): Use
+       `Vdefault_coded_charset_priority_list' for C0-Controls,
+       Basic-Latin, C1-Controls and Latin-1-Supplement area.
+
+1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * char-ucs.h (charset_get_byte1): New function.
+       (XCHARSET_GET_BYTE1): Deleted.
+       (charset_get_byte2): New function.
+       (XCHARSET_GET_BYTE2): Deleted.
+       (Vdefault_coded_charset_priority_list): New external variable.
+       (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
+       `Vdefault_preferred_coded_charset_list'.
+
+       * mule-charset.c (charset_get_byte1): New function.
+       (charset_get_byte2): New function.
+       (Vdefault_coded_charset_priority_list): New variable.
+       (vars_of_mule_charset): Add new variable
+       `default-coded-charset-priority-list'.
+
+1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
+       (XCHARSET_GET_BYTE2): New inline function.
+       (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
+       `XCHARSET_GET_BYTE2'.
+
+1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (make_charset): Initialize
+       `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
+       NULL if table is not defined.
+
+1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * text-coding.c (char_encode_shift_jis): Use
+       `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
+       `ucs_to_latin_jisx0201'.
+
+       * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
+       (ucs_to_latin_iso8859_2): Deleted.
+       (ucs_to_latin_iso8859_3): Deleted.
+       (ucs_to_latin_iso8859_4): Deleted.
+       (ucs_to_latin_iso8859_9): Deleted.
+       (ucs_to_latin_viscii_lower): Deleted.
+       (ucs_to_latin_viscii_upper): Deleted.
+       (ucs_to_latin_tcvn5712): Deleted.
+       (make_charset): Add new argument `decoding_table'; set up
+       `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
+       `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
+       `decoding_table' is defined in UTF-2000.
+       (Fmake_charset): Modify for `make_charset'.
+       (Fmake_reverse_direction_charset): Likewise.
+       (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
+       and `GENERATE_96_SET'.
+
+       * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
+       (ucs_to_latin_jisx0201): Deleted.
+       (latin_iso8859_2_to_ucs): Deleted.
+       (ucs_to_latin_iso8859_2): Deleted.
+       (latin_iso8859_3_to_ucs): Deleted.
+       (ucs_to_latin_iso8859_3): Deleted.
+       (latin_iso8859_4_to_ucs): Deleted.
+       (ucs_to_latin_iso8859_4): Deleted.
+       (latin_iso8859_9_to_ucs): Deleted.
+       (ucs_to_latin_iso8859_9): Deleted.
+       (latin_viscii_lower_to_ucs): Deleted.
+       (ucs_to_latin_viscii_lower): Deleted.
+       (latin_viscii_upper_to_ucs): Deleted.
+       (ucs_to_latin_viscii_upper): Deleted.
+       (struct Lisp_Charset): Renamed `encoding_table' to
+       `to_byte1_table'; add `to_byte2_table'.
+       (CHARSET_DECODING_TABLE): New macro.
+       (CHARSET_TO_BYTE1_TABLE): New macro.
+       (CHARSET_TO_BYTE2_TABLE): New macro.
+       (XCHARSET_DECODING_TABLE): New macro.
+       (XCHARSET_TO_BYTE1_TABLE): New macro.
+       (XCHARSET_TO_BYTE2_TABLE): New macro.
+       (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
+       tables.
+       (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
+       don't use `ucs_to_*' tables.
+
+1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * text-coding.c (Fmake_coding_system): Don't set up
+       `codesys->fixed.size'.
+       (encode_coding_no_conversion): Use `if' instead of `switch'.
+
+       * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
+
+1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (make_charset): Delete argument `rep_bytes'.
+       (Fmake_charset): Modify for `make_charset'.
+       (Fmake_reverse_direction_charset): Likewise.
+       (complex_vars_of_mule_charset): Likewise.
+
+1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * text-coding.c (char_encode_shift_jis): Use table
+       `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
+
+1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * text-coding.c (text_encode_generic): Use `if' instead of
+       `switch'.
+       (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
+       decode JIS-Latin.
+
+1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * text-coding.c (encode_coding_sjis): Deleted.
+       (char_encode_shift_jis): New function.
+       (char_finish_shift_jis): New function.
+       (reset_encoding_stream): Set up `encode_char' and `finish' for
+       `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
+       (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
+       (char_encode_utf8): Treat `eol_type'.
+
+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.
+
+2000-02-07  Martin Buchholz <martin@xemacs.org>
+
+       * XEmacs 21.2.28 is released.
+
+2000-02-06  Martin Buchholz  <martin@xemacs.org>
+
+       * event-Xt.c (x_keysym_to_character): New.
+       (maybe_define_x_key_as_self_inserting_character): New.
+       (x_has_keysym): New.
+       Auto-define all keys on the keyboard as self-insert-key.
+
+2000-02-02  Martin Buchholz  <martin@xemacs.org>
+
+       * menubar.c (vars_of_menubar): A small code simplification.
+
+       * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
+
+       * ExternalShell.c: 
+       * ExternalClient.c: 
+       * EmacsShell-sub.c: 
+       * EmacsManager.c: 
+       * EmacsFrame.c: 
+       Use consistent style for specifying X resources.
+
+       * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
+       This makes (dontusethis-set-symbol-value-handler) actually usable.
+
+       * lrecord.h (lrecord_decription_type):
+       * alloc.c (pdump_register_sub): 
+       (pdump_dump_data): 
+       (pdump_reloc_one): 
+       Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
+       Comply with XEmacs coding style.
+       All lrecord descriptions updated to use XD_LISP_OBJECT with 2
+       args, and XD_LISP_OBJECT_ARRAY with 3 args.
+
+       * keymap.c (Faccessible_keymaps): 
+       Make (accessible-keymaps map "\C-h") do the Right Thing.
+       Make (accessible-keymaps map []) do the Right Thing.
+       Make (accessible-keymaps map "") do the Right Thing.
+       (check_keymap_definition_loop): New function.
+       (keymap_store_internal): Keep luser from shooting self in foot,
+         via (define-key ctl-x-4-map "p" global-map).
+       Remove fullness slot from struct Lisp_Keymap, since hash tables
+       are now reliable.
+       (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
+
+2000-01-30  Martin Buchholz  <martin@xemacs.org>
+
+       * redisplay.c (init_redisplay): Fix small memory leak.
+       * elhash.h: 
+       * elhash.c (pdump_reorganize_hash_table): 
+       Rename from reorganize_hash_table. Change prototype.
+       Reuse the original memory for hentries.  Save 100k.
+       * alloc.c (PDUMP_READ): new macro.
+       * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
+       * alloc.c: No need to #ifndef before #undef.
+
+       * print.c: Allow debug_print() to print readably by modifying
+       debug_print_readably.  Use consistent variable names.
+
+       * .dbxrc: Try to get things to work even if stopped in a function
+       without source available by explicitly specifying source files.
+2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
+
+       * unexnt.c (_start): Removed bogus code which caused loading heap
+       from differrent executable file.
+       Removed bogus assignment to _fmode, which caused inconsistencies.
+
+2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
+
+       * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
+       Have spawnve encapsulation regard DONT_ENCAPSULATE.
+       Do not preliminary `#define signal sigset'.
+
+       * systime.h: Do not prototype environ on windows nt and cygwin,
+       this conflicts with system header.
+
+       * syssignal.h: Use correct define for WINDOWSNT
+
+       * sysdep.h: Do not prototype environ on windows nt, this conflicts
+       with system header.
+
+       * sysdep.c (near start of file): Fixed commentary and rearranged
+       ifdefs in readable order.
+       (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
+       (start_of_text):
+       (end_of_text): 
+       (end_of_data): Do not compile in if using PDUMP.
+
+       * symsinit.h: Protptyped vars_of_nt().
+
+       * ntproc.c (windows9x_p): Added, instead of os_subtype.
+       (find_child_console): Use it.
+       (sys_kill): Use it.
+
+       * ntheap.h: Do not extern os_subtype.
+
+       * ntheap.c (cache_system_info): Do not cache unneeded:
+       nt_major_version, nt_minor_version and os_subtype.
+       (recreate_heap): Do not compile in when PDUMPing.
+
+       * nt.c (geteuid and friends): Use the new varibale
+       nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
+       (init_user_info): Removed the above mentioned hackery.
+       (fstat, stat): Do not compile in if using MSVC 5.0 and above -
+       stat has been fixed in the C runtime.
+       (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
+       
+       * file-coding.c (struct file_coding_dump): Do not define
+       ucs_to_mule_table in the struct if not MULE.
+       (struct struct lrecord_description fcd_description_1): Do not dump
+       the above.
+
+       * emacs.c (main_1): Call vars_of_nt().
+       (right before Fdump_emacs_data): Don't need lastfile if using both
+       portabe dumper and system malloc.
+
+       * alloc.c (Fmemory_limit): Conditionalized out.
+       (pdump): Use OPEN_BINARY for the portable dump file.
+       (pdump_load): Ditto.
+
+2000-02-02  Mike Alexander  <mta@arbortext.com>
+
+       * nt.c (convert_time): Set tm_isdst before calling mktime and
+       avoid calling it at all if the compiler supports 64 bit integers.
+       Also initialize utc_base_ft before using it.
+
+2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
+
+       * frame.c (change_frame_size_1): Take f->internal_border_width
+       into consideration when calculating the width of the frame.
+
+2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
+
+       * window.c (frame_min_height):
+       (frame_size_valid_p):
+       (frame_pixsize_valid_p): Added.
+       (check_frame_size): Generalized.
+
+       * window.h: Prototyped the above.
+
+       * lisp.h:
+       * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
+       Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
+       Deleted Vwin32_* and Vbinary_process_* unused variables.
+
+       * device-msw.c (msprinter_init_device): Do not get printer font
+       list; Added DEVMODE functions.
+
+       * frame-msw.c: Added lots of printer code.
+
+       * faces.c: Moved 'left-margin and 'right-margin defsymbols to
+       general.c.
+
+       * console-msw.h: Added more msprinter device private slots.     
+
+2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
+
+       * event-msw.c (key_needs_default_processing_p): Added.
+       (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
+
+2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
+
+       * glyphs.c (image_instance_layout): Mark image instance as clean
+       after layout.
+       (glyph_dirty_p): Removed redundant function.
+       (invalidate_glyph_geometry_maybe): Added.
+       (update_glyph_cachel_data): Call it.
+
+       * glyphs.h: Prototyped it.
+
+       * redisplay.c (add_glyph_rune): Call it.
+       (redisplay_window): Reset glyphs cachels when frame faces has
+       changed, thus forcing recomputation of built-in border glyphs.
+
+2000-01-30  Martin Buchholz  <martin@xemacs.org>
+
+       * Makefile.in.in: Make portable dumper and purify play well together.
+       Add imperfect, but better than nothing, support for pdump.
+       Remove xemacs.dmp when temacs is re-generated.
+       Don't ignore errors when dumping xemacs.
+
+       * symbols.c (maybe_call_magic_handler): Remove one magic number.
+
+2000-01-28  Andy Piper  <andy@xemacs.org>
+
+       * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
+       (setup_normal_frame): ditto.
+       (setup_frame_without_minibuffer): ditto.
+       (setup_minibuffer_frame): ditto.
+       (delete_frame_internal): ditto.
+       (Fmake_frame_invisible): ditto.
+       (Ficonify_frame): ditto.
+
+       * window.h: change Fset_window_buffer signature.
+
+       * window.c (Fsplit_window): Use new Fset_window_buffer signature.
+       (Fset_window_buffer): allow recording of buffer if the window is
+       the selected window.
+       (window_loop): Use new Fset_window signature.
+
+2000-01-23  Daniel Pittman  <daniel@danann.net>
+
+       * config.h.in: Added template for `HAVE_ATHENA_3D'
+
+2000-01-29  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
+
+       * gutter.c (output_gutter): Don't output if the window isn't live.
+
+2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
+
+       * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
+       of 01/12/00: Moved SetFocus back here where it belongs.
+
+2000-01-23  Andy Piper  <andy@xemacs.org>
+
+       * s/cygwin32.h: declare printer things.
+
+2000-01-26  Andy Piper  <andy@xemacs.org>
+
+       * select.c (Fown_selection_internal): GCPRO bug fix from Mike
+       Alexander.
+
+2000-01-24  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
+       (mswindows_button_instantiate): Make sure glyph is a pixmap.
+
+       * glyphs-widget.c (widget_instantiate): Avoid shadows.
+
+       * frame-msw.c (msprinter_init_frame_3): Nuke warning.
+
+       * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
+
+       * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
+       (mswindows_output_display_block): Avoid local shadows.
+
+       * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
+       (mswindows_enqueue_mouse_button_event): ditto.
+       (mswindows_handle_gui_wm_command): remove declaration.
+
+       * console-msw.c (mswindows_canonicalize_console_connection): Avoid
+       warnings.
+
+       * console-msw.h: Avoid shadows.
+       (mswindows_get_toolbar_button_text):
+       (emacs_mswindows_create_stream_pair):
+       (emacs_mswindows_delete_stream_pair):
+       (mswindows_handle_toolbar_wm_command): declare.
+
+       * device-msw.c (build_syscolor_string): Avoid shadows.
+
+2000-01-23  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-widget.c (widget_instantiate): reverse the items for
+       layouts so that children are in the expected order.
+
+2000-01-28  Martin Buchholz  <martin@xemacs.org>
+
+       * ralloc.c: safe_bcopy ==> memmove
+       * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
+       * s/msdos.h: Remove BCOPY macros.
+       * insdel.c (gap_right): Remove BCOPY conditional code.
+       * insdel.c (gap_left): Remove BCOPY conditional code.
+       XEmacs demands a working ANSI C compiler - hence memmove.
+
+       * regex.c (regex_compile): Remove accidental use of trigraphs.
+
+2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
+
+       * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
+       event timestamp.
+
+2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
+
+       * event-msw.c (mswindows_drain_windows_queue): Added the
+       parameter.
+       (mswindows_need_event): Commented the call to
+       mswindows_drain_windows_queue().
+       (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
+       only.
+
+       * console-msw.h: Moved a few function prototypes here from
+       event-msw.c. 
+
+       * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
+       parameter from unsigned short to unsigned long.
+       (Fmswindows_shell_execute): Added return value.
+
+2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
+
+       * sysdep.c (init_system_name): 
+         process-unix.c (unix_canonicalized_host_name): 
+       Don't call freeaddrinfo() if getaddrinfo() fails.
+
+       * process-unix.c (unix_open_unix_network_stream):
+       Moved the code to get a port # into address loop.
+
+2000-01-27  Martin Buchholz  <martin@xemacs.org>
+
+       * buffer.c (reinit_vars_of_buffer): 
+       The right place to initialize conversion_in_dynarr and
+       conversion_out_dynarr.
+
+       * alloc.c (pdump): Use the real open() till sys_open() is functional.
+
+       * process-unix.c (unix_canonicalize_host_name): Muleize.
+       (unix_open_network_stream): Muleize.
+
+       * buffer.h: Fix up prototypes for ralloc.c functions.
+
+2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
+       * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
+       * sysdep.c: In init_system_name(), add code to use getaddrinfo()
+               instead of gethostbyname()
+       * process-unix.c: In unix_canonicalize_host_name() and
+               unix_open_network_stream(), add code to use getaddrinfo()
+               instead of gethostbyname().
+
+2000-01-27  Daniel Pittman <daniel@danann.net>
+
+       * device-x.c (x_init_device): Warn at run-time if using Athena 3d
+       libs when built with flat Athena.
+
+2000-01-27  Martin Buchholz  <martin@xemacs.org>
+
+       * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
+       Use coding standards for function prototypes.
+
+2000-01-25  Martin Buchholz  <martin@xemacs.org>
+
+       * dialog-msw.c (push_lisp_string_as_unicode):
+       * doc.c (unparesseuxify_doc_string):
+       * dired.c (Fuser_name_completion_1):
+       * dired.c (Fuser_name_all_completions):
+       * dired.c (free_user_cache):
+       * dired.c (user_name_completion):
+       * console-x.c (get_display_arg_connection):
+       * minibuf.c (clear_echo_area_internal):
+       * minibuf.c (echo_area_append):
+       * eldap.c (Fldap_open):
+       * eldap.c (Fldap_search_internal):
+       * frame-x.c (x_set_frame_text_value):
+       * frame-x.c (x_set_frame_properties):
+       * frame-x.c (x_create_widgets):
+       * redisplay-tty.c (term_get_fkeys_1):
+       * objects-x.c (x_parse_nearest_color):
+       * objects-x.c (x_valid_color_name_p):
+       * objects-x.c (x_initialize_font_instance):
+       * objects-x.c (x_list_fonts):
+       * objects-x.c (x_find_charset_font):
+       * tooltalk.c (Fadd_tooltalk_message_arg):
+       * tooltalk.c (Fadd_tooltalk_pattern_attribute):
+       * tooltalk.c (Fadd_tooltalk_pattern_arg):
+       * process-unix.c (unix_create_process):
+       * ntproc.c (sys_spawnve):
+       * sound.c (Fplay_sound_file):
+       * sound.c (Fplay_sound):
+       * buffer.c (init_initial_directory):
+       * buffer.c (init_buffer):
+       * editfns.c (init_editfns):
+       * editfns.c (Ftemp_directory):
+       * editfns.c (Fuser_full_name):
+       * editfns.c (uncache_home_directory):
+       * editfns.c (get_home_directory):
+       * editfns.c (Fuser_home_directory):
+       * editfns.c (Fformat_time_string):
+       * editfns.c (Fcurrent_time_string):
+       * gui-x.c (button_item_to_widget_value):
+       * database.c (Fopen_database):
+       * event-Xt.c (x_to_emacs_keysym):
+       * event-Xt.c (x_event_to_emacs_event):
+       * event-Xt.c (describe_event_window):
+       * event-msw.c (mswindows_wnd_proc):
+       * glyphs-eimage.c (jpeg_instantiate):
+       * glyphs-eimage.c (gif_instantiate):
+       * glyphs-eimage.c (png_instantiate):
+       * glyphs-eimage.c (tiff_instantiate):
+       * glyphs-x.c (xbm_instantiate_1):
+       * glyphs-x.c (x_xbm_instantiate):
+       * glyphs-x.c (x_xface_instantiate):
+       * glyphs-x.c (autodetect_instantiate):
+       * glyphs-x.c (cursor_font_instantiate):
+       * glyphs-x.c (x_widget_instantiate):
+       * glyphs-x.c (x_widget_set_property):
+       * glyphs-x.c (x_widget_property):
+       * glyphs-x.c (BUILD_GLYPH_INST):
+       * print.c (write_string_to_stdio_stream):
+       * print.c (output_string):
+       * print.c (Falternate_debugging_output):
+       * print.c (Fexternal_debugging_output):
+       * glyphs-msw.c (extract_xpm_color_names):
+       * glyphs-msw.c (mswindows_xpm_instantiate):
+       * glyphs-msw.c (bmp_instantiate):
+       * glyphs-msw.c (resource_name_to_resource):
+       * glyphs-msw.c (mswindows_resource_instantiate):
+       * glyphs-msw.c (xbm_instantiate_1):
+       * glyphs-msw.c (mswindows_xbm_instantiate):
+       * glyphs-msw.c (mswindows_xface_instantiate):
+       * glyphs-msw.c (mswindows_widget_instantiate):
+       * glyphs-msw.c (add_tree_item):
+       * glyphs-msw.c (add_tab_item):
+       * glyphs-msw.c (mswindows_combo_box_instantiate):
+       * glyphs-msw.c (mswindows_widget_property):
+       * glyphs-msw.c (mswindows_combo_box_property):
+       * glyphs-msw.c (mswindows_widget_set_property):
+       * console.c (stuff_buffered_input):
+       * objects-msw.c (mswindows_initialize_color_instance):
+       * objects-msw.c (mswindows_valid_color_name_p):
+       * objects-msw.c (mswindows_list_fonts):
+       * objects-msw.c (mswindows_font_instance_truename):
+       * bytecode.c (optimize_compiled_function):
+       * select-x.c (symbol_to_x_atom):
+       * select-x.c (x_atom_to_symbol):
+       * select-x.c (hack_motif_clipboard_selection):
+       * select-x.c (selection_data_to_lisp_data):
+       * select-x.c (lisp_data_to_selection_data):
+       * select-x.c (Fx_get_cutbuffer_internal):
+       * select-x.c (Fx_store_cutbuffer_internal):
+       * buffer.h (TO_EXTERNAL_FORMAT): New function.
+       * buffer.h (TO_INTERNAL_FORMAT): New function.
+       * emacs.c (make_arg_list_1):
+       * emacs.c (make_argc_argv):
+       * emacs.c (main_1):
+       * emacs.c (Fdump_emacs):
+       * emacs.c (split_string_by_emchar_1):
+       * file-coding.h:
+       * lisp.h:
+       * lstream.h:
+       * symsinit.h:
+       * device-x.c (x_init_device):
+       * device-x.c (Fx_valid_keysym_name_p):
+       * device-x.c (Fx_get_font_path):
+       * device-x.c (Fx_set_font_path):
+       * glyphs.c (bitmap_to_lisp_data):
+       * glyphs.c (pixmap_to_lisp_data):
+       * alloc.c (make_ext_string): Use coding system arguments.  Update
+       all callers.
+       * alloc.c (build_string):
+       * callproc.c (child_setup):
+       * callproc.c (init_callproc):
+       * fileio.c (lisp_strerror):
+       * fileio.c (directory_file_name):
+       * fileio.c (Fexpand_file_name):
+       * fileio.c (Ffile_truename):
+       * fileio.c (Fsysnetunam):
+       * fileio.c (Fdo_auto_save):
+       * sysdep.c (sys_readdir):
+       * tests.c: New file.  Allow adding C tests.
+       Replace GET_* macros with a more comprehensible and flexible
+       interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
+       Modify all calls.
+       Any coding system can be used to do format conversion.
+       Eliminate enum external_data_format.
+       Eliminate convert_to_external_format.
+       Eliminate convert_to_internal_format.
+       Make sure file-name, keyboard, terminal, and ctext are always
+       defined as coding systems or aliases.  Make
+       file-name-coding-system, terminal-coding-system, and
+       keyboard-coding-system magical variables that are equivalent to
+       defining the corresponding coding system aliases.
+       
+       * file-coding.c (Fcoding_system_canonical_name_p): New function.
+       * file-coding.c (Fcoding_system_alias_p): New function.
+       * file-coding.c (Fcoding_system_aliasee): New function.
+       * file-coding.c (append_suffix_to_symbol): New function.
+       * file-coding.c (dangling_coding_system_alias_p): New function.
+       * file-coding.c (Ffind_coding_system):
+       * file-coding.c (Fcopy_coding_system):
+       * file-coding.c (encode_coding_no_conversion):
+       * file-coding.c (syms_of_file_coding):
+       * file-coding.c (vars_of_file_coding):
+       Rewrite coding system alias code.
+       Allow nested aliases, like symbolic links.
+       Allow redefinition of coding system aliases.
+       Prevent existence of dangling coding system aliases.
+
+       * dired.c (Fuser_name_completion_1):
+       * dired.c (Fuser_name_all_completions):
+       A crash would happen if user did QUIT in the middle of building
+       user_name_cache.  Remove redundant code in mainline and unwind_protect.
+
+       * lisp.h:
+       * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
+
+       * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
+       an unsigned char *.  Update all callers.
+
+2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
+
+       * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
+
+2000-01-25  Martin Buchholz  <martin@xemacs.org>
+
+       * elhash.c (hentry_description): Use more portable definition.
+       (resize_hash_table): Initialize new hentries using
+       xnew_array_and_zero, thereby simplifying the code.
+
+       * mule-charset.c (make_charset): Make sure entire object is
+       intialized, to avoid Purify warnings.
+
+       * alloc.c (resize_string): Fix unlikely crash with big strings.
+
+2000-01-24  Martin Buchholz  <martin@xemacs.org>
+
+       * realpath.c (xrealpath): 
+       Don't call getwd().
+
+2000-01-25  Martin Buchholz  <martin@xemacs.org>
+
+       * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
+
+1999-12-28  Max Matveev  <max@melbourne.sgi.com>
+
+       * unexelfsgi.c (unexec): Change the way we decide which segment
+       should be extended.
+
+       Assumption that .bss section should be outside the PT_LOADable
+       segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
+       it's present) is inside the 'data' segment. This would fail the
+       test which was used to find a segment to grow and cover new
+       heap. Instead of this assumption, I created another one - on IRIX
+       the segment to grow should start below .bss and it's address
+       should extent above the end of .bss. Once this segment is
+       identified, it's grown to accommodate the new heap and new
+       zero-length .bss section is added at the end of .data2.
+
+2000-01-25  Martin Buchholz  <martin@xemacs.org>
+
+       * eval.c (Feval): Wrong number of arguments should use original
+       function, not the indirect_function version of it.
+
+2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * glyphs-x.c (x_button_instantiate): Don't add image if
+       it is not a pixmap.
+       (x_locate_pixmap_file): Call Fexpand_file_name when file name
+       is relative.
+
+2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
+       declaration.
+       (DEFVAR_INT_MAGIC): Ditto.
+       (DEFVAR_BOOL_MAGIC): Ditto.
+       * glyphs.h: Reindent backslash.
+
+2000-01-24  Martin Buchholz  <martin@xemacs.org>
+
+       * glyphs-widget.c (layout_query_geometry): 
+       (layout_layout): Use correct types for gheight, gwidth.
+
+2000-01-24  Martin Buchholz  <martin@xemacs.org>
+
+       * EmacsManager.c (QueryGeometry): Purified.
+
+2000-01-23  Martin Buchholz  <martin@xemacs.org>
+
+       * alloc.c (make_float): Make sure entire object is intialized, to
+       avoid Purify warnings.
+       (pdump_register_sub): Remove useless assignment.
+       (pdump): Use xmalloc, not malloc.
+       (pdump_load): Use xmalloc, not malloc.
+
+2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
+
+       * callproc.c: 
+       * dired-msw.c: 
+       * fileio.c: 
+       * process-nt.c: 
+       * redisplay-msw.c: 
+       * sysdep.c: Removed redundant #include <windows.h>
+
+2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
+
+       * frame.c (delete_frame_internal): Do not delete device when its
+       implementation so declares.
+       (delete_frame_internal): Set device selected frame to nil when
+       last frame goes away. 
+
+       * device-msw.c (msprinter_device_system_metrics): Implemented.
+       (mswindows_device_system_metrics): Added 'device-dpi property.
+
+       * device.c: (Fdevice_printer_p): Added.
+       Added 'offset-workspace device metric.
+
+       * console.h (device_metrics): Declared DM_offset_workspace.
+
+2000-01-23  Martin Buchholz  <martin@xemacs.org>
+
+       * fileio.c (Ffile_truename): Remove pointless and confusing
+       initialization of elen.
+
+       * glyphs-widget.c: Compiler warning fixes.
+
+2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
+
+       * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
+       instead of a Lisp_Object as argument to make it consistent with
+       the other LIVE_P macros.
+       (CHECK_LIVE_PROCESS): New macro.
+
+       * process.c: Declare Qprocess_live_p.
+       (Fprocess_live_p): New function.
+       (create_process): Use PROCESS_LIVE_P.
+       (read_process_output): Ditto.
+       (set_process_filter): Ditto.
+       (Fdelete_process): Ditto.
+       (kill_buffer_processes): Ditto
+       (process_send_signal): Use CHECK_LIVE_PROCESS.
+       (Fprocess_input_coding_system): Check whether process is still
+       alive (fix PR#1061).
+       (Fprocess_output_coding_system): Ditto.
+       (Fprocess_coding_system): Ditto.
+       (Fset_process_input_coding_system): Ditto.
+       (Fset_process_output_coding_system): Ditto.
+
+2000-01-23  Andy Piper  <andy@xemacs.org>
+
+       * glyphs.h (struct Lisp_Image_Instance): change format by unifying
+       layout and widget.
+
+       * glyphs.c (mark_image_instance): take into account changed
+       image_instance format.
+       (image_instance_equal): ditto.
+       (image_instance_hash): ditto.
+
+       * glyphs-widget.c (widget_instantiate): Incorporate layout
+       instantiation here. Delay layout of the layout until later.
+       (layout_instantiate): deleted.
+       (layout_query_geometry): new function. get the geometry of a
+       layout.
+       (layout_layout): layout a layout dynamically.
+       (image_instantiator_widget): New function - splitting up
+       image_instantiator_format_create_glyphs_widget for netwinder
+       compilation.
+       (image_instantiator_buttons):
+       (image_instantiator_edit_fields):
+       (image_instantiator_combo_box):
+       (image_instantiator_scrollbar):
+       (image_instantiator_progress_guage):
+       (image_instantiator_tree_view):
+       (image_instantiator_tab_control):
+       (image_instantiator_labels):
+       (image_instantiator_layout): ditto.
+       (image_instantiator_format_create_glyphs_widget): Call preceeding
+       functions.
+
+2000-01-22  Martin Buchholz  <martin@xemacs.org>
+
+       * process.c (Fset_process_coding_system):
+       * device-x.c (Fx_keysym_hash_table): 
+       Docstring fixes.
+
+       * lstream.c (Lstream_write): Return documented value, not 0.
+
+       * fileio.c (directory_file_name): 
+       (Fsubstitute_in_file_name): 
+       (Fsubstitute_insert_file_contents_internal): 
+       (Fwrite_region_internal):
+       * emacs.c:
+       * sysdep.c:
+       * getloadavg.c: 
+       * systty.h:
+       Remove vestigial APOLLO-conditional code.
+
+2000-01-21  Martin Buchholz  <martin@xemacs.org>
+
+       * getpagesize.h: Add guard macros.
+       * libsst.h: Add guard macros.
+       * libst.h: Add guard macros.
+       * line-number.h: Add guard macros.
+       * ndir.h: Add guard macros.
+       * sysfloat.h: Add guard macros.
+       * sysfile.h: Add guard macros.
+       * sysproc.h: Add guard macros.
+       * syswait.h: Add guard macros.
+       * xintrinsic.h: Add guard macros.
+       * xintrinsicp.h: Add guard macros.
+       * xmmanager.h: Add guard macros.
+       * xmmanagerp.h: Add guard macros.
+       * xmprimitive.h: Add guard macros.
+       * xmu.h: Add guard macros.
+       * gpmevent.h: Add copyright statement. Add guard macros.
+       * miscplay.h: Add guard macros.
+       * *.h: Use consistent C-standards-approved guard macro names.
+
+       * opaque.c (make_opaque): Switch parameter order. 
+       * opaque.h (make_opaque): Switch parameter order.
+       Update all callers.
+       * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
+
+       * config.h.in (type_checking_assert): Added.
+       (bufpos_checking_assert): Added.
+
+2000-01-21  Martin Buchholz  <martin@xemacs.org>
+
+       * alloc.c: Harmless pdump changes.
+       - Use countof().
+       - spell alignment correctly.
+       * sysdep.c: Use countof()
+
+2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
+
+       * console.c (create_console): Use CONMETH_OR_GIVEN when calling
+       initially_selected_for_input() console method, default to 0.
+       (semi_canonicalize_console_connection): Try to delegate to
+       canonicalize_console_connection if no such console method.
+       (canonicalize_console_connection): Vice versa.
+       (print_console): Do not print nil connection.
+
+       * console.h (XDEVIMPF_IS_A_PRINTER): Added.
+       (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
+       (XDEVIMPF_FRAMELESS_OK): Added.
+       (CONSOLE_INHERITS_METHOD): Added.
+
+       * console-msw.c (mswindows_canonicalize_console_connection):
+       Added.
+       (mswindows_canonicalize_device_connection): Added.
+
+       * console-msw.h (struct msprinter_device): Added this struct and
+       accessor macros.
+       (mswindows_device): Made fontlist a lisp object.
+
+       * device.c (semi_canonicalize_device_connection):  Try to delegate
+       to canonicalize_device_connection if no such console method.
+       (canonicalize_device_connection): Vice versa.
+       (print_device): Do not print nil connection.
+
+       * device-msw.c (mswindows_init_device): Call InitCommonControls
+       when have widgets.
+       (mswindows_delete_device): Removed fontlist deallocation.
+       (mswindows_mark_device): Added.
+
+       * events.c (event_equal): Added abort() at unreached code.
+       (event_hash): Ditto.
+
+       * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
+       fallback tags of Windows devices.
+
+       * general.c (syms_of_general): Initialized Qmsprinter.
+
+       * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
+       of fallback tags of Windows devices.
+
+       * lisp.h: Declared Qmsprinter.
+
+       * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
+       of strings.
+       (mswindows_list_fonts): Ditto.
+       (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
+       that it can be used by both mswindows and msprinter devices.
+       (initialize_font_instance): Added.
+       (mswindows_initialize_font_instance): Use it.
+       (msprinter_initialize_font_instance): Added.
+
+       * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
+       and implementation flags check.
+       (redisplay_without_hooks): Changed the call to the above.
+       (Fredraw_device): Ditto.
+       (Fredisplay_device): Ditto.
+
+       * redisplay-msw.c (get_frame_dc): Implemented.
+       (get_frame_compdc): Implemented.
+       (many functions): Use the two functions above to get device
+       contexts, ether for a window or a printer.
+
+2000-01-21  Olivier Galibert  <galibert@pobox.com>
+
+       * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
+       initialization here.
+       (init_symbols_once_early): Call it.
+       * emacs.c (main_1): Call it.
+       * symsinit.h: Declare it.
+
+2000-01-19  Olivier Galibert  <galibert@pobox.com>
+
+       * alloc.c: Use a lrecord_header * in the backtrace instead of a
+       Lisp_Object.
+       (pdump_backtrace): Ditto.
+       (pdump_register_object): Ditto.  Cleanup use of the pointers.
+       (pdump_get_entry): Abort if trying to register a null pointer.
+       (pdump_dump_data): Cleanup types when relocating.
+       (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
+       (pdump_dump_rtables): Remove bad casts.
+       (pdump_load): Cleanup relocation w.r.t union type.  Use a
+       Lisp_Object instead of a EMACS_INT for the hashtable
+       reorganization.
+
+2000-01-20  Martin Buchholz  <martin@xemacs.org>
+
+       * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
+
+       * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
+
+       * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
+
+       * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
+
+2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
+
+       * faces.h (FACE_STRIKETHRU_P): Added.
+
+       * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
+       of font variants.
+
+       * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
+       (mswindows_set_dc_font): New function, aware of font variants,
+       separated from mswindows_update_dc.
+
+       * objects-msw.h (struct mswindows_font_instance_data): Added
+       definition.
+
+       * objects-msw.c (mswindows_finalize_font_instance): Delete all
+       cached fonts and the data structure.
+       (mswindows_initialize_font_instance): Added creation of font data
+       structure.
+       (mswindows_print_font_instance): Print at least something.
+       (mswindows_create_font_variant): Implemented.
+       (mswindows_get_hfont): Implemented.
+
+2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
+
+       * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
+       prototyping problem with msvc.
+
+       * emacs.c (main_1): added syms_of_gui_mswindows() call
+
+       * gui-msw.c: added "mswindows-shell-execute" lisp subr and
+       syms_of_gui_mswindows() function
+
+       * symsinit.h: added the prototype for syms_of_gui_mswindows()
+
 2000-01-18  Martin Buchholz <martin@xemacs.org>
 
        * XEmacs 21.2.27 is released.