update.
[chise/xemacs-chise.git-] / src / ChangeLog
index e48b7af..5f44316 100644 (file)
+2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * char-ucs.h (DECODE_CHAR): Delete special code for
+       `chinese-big5-1' and `chinese-big5-2'.
+
+       * mule-charset.c (Qbig5_1): New variable in UTF-2000.
+       (Qbig5_2): Likewise.
+       (decode_defined_char): Support CONVERSION_BIG5_1 and
+       CONVERSION_BIG5_2.
+       (decode_builtin_char): Likewise.
+       (charset_code_point): Likewise.
+       (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
+       'conversion in UTF-2000.
+       (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
+       (complex_vars_of_mule_charset): Define `chinese-big5-1' and
+       `chinese-big5-2' as children of `chinese-big5'.
+
+       * char-ucs.h (CONVERSION_BIG5_1): New macro.
+       (CONVERSION_BIG5_2): New macro.
+
+2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * text-coding.c (char_encode_big5): Support entity-reference.
+
+2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * text-coding.c (char_encode_as_entity_reference): New function.
+       (char_encode_utf8): Use `char_encode_as_entity_reference'.
+
+2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * text-coding.c (decode_coding_big5): Support entity-reference
+       decoding feature.
+
+2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (allocate_coding_system): Initialize initial
+       charsets for CODESYS_UTF8.
+       (Fmake_coding_system): Accept charset-g0, charset-g1 and
+       charset-g2 for CODESYS_UTF8.
+       (decode_coding_utf8): Use charset-g0.
+       (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
+       to force variants to map to UCS.
+
+2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (Qutf_8_mcs): New variable.
+       (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
+       (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
+       instead of `utf-8' in UTF-2000.
+
+2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
+       CONVERSION_IDENTICAL, identical conversion is used even if a CCS
+       is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
+       CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
+       CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
+       CONVERSION_96x96x96x96 are introduced.
+       (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
+       CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
+       instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
+
+       * char-ucs.h (CONVERSION_94): New macro.
+       (CONVERSION_96): New macro.
+       (CONVERSION_94x94): New macro.
+       (CONVERSION_96x96): New macro.
+       (CONVERSION_94x94x94): New macro.
+       (CONVERSION_96x96x96): New macro.
+       (CONVERSION_94x94x94x60): New macro.
+       (CONVERSION_94x94x94x94): New macro.
+       (CONVERSION_96x96x96x96): New macro.
+
+2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (Vcharacter_variant_table): Deleted.
+       (Fchar_variants): Use character-attribute `->ucs-variants' instead
+       of `Vcharacter_variant_table'.
+       (Fput_char_attribute): Likewise.
+       (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
+       (complex_vars_of_chartab): Likewise.
+
+2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * lisp.h: Add an EXFUN for `Fchar_ref_p'.
+
+       * fns.c (Qideographic_structure): New variable.
+       (Qkeyword_char): New variable.
+       (ids_format_unit): New function.
+       (Fideographic_structure_to_ids): New function.
+       (syms_of_fns): Add new symbols `ideographic-structure' and
+       `:char'; add new builtin function `ideographic-structure-to-ids'.
+
+       * data.c (Fchar_ref_p): New function.
+       (syms_of_data): Add new builtin function `char-ref-p'.
+
+       * chartab.h: Add an EXFUN for `Ffind_char'.
+
+2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (Vcharacter_composition_table): Deleted.
+       (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
+       in every UTF-2000.
+
+       * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
+       UTF-2000.
+       (Vcharacter_composition_table): Deleted.
+       (Fget_composite_char): Use the implementation for external-DB
+       support in every UTF-2000.
+       (Fput_char_attribute): Likewise.
+       (char_attribute_system_db_file): Don't define if external-DB
+       feature is not available.
+       (Fsave_char_attribute_table): Likewise.
+       (Fmount_char_attribute_table): Likewise.
+       (Fclose_char_attribute_table): Likewise.
+       (Freset_char_attribute_table): Likewise.
+       (Fload_char_attribute_table): Likewise.
+       (syms_of_chartab): Don't define `save-char-attribute-table',
+       `mount-char-attribute-table', `reset-char-attribute-table',
+       `close-char-attribute-table' and `load-char-attribute-table' if
+       external-DB feature is not available.
+       (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
+
+2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * text-coding.c (Qcomposition): Add extern if external-DB feature
+       is supported.
+       (Vcharacter_composition_table): Don't add extern if external-DB
+       feature is supported.
+       (COMPOSE_ADD_CHAR): Modify for new data-representation of
+       character composition rule if external-DB feature is supported.
+
+       * chartab.c (Vcharacter_composition_table): Don't define if
+       external-DB feature is supported.
+       (Qcomposition): New variable.
+       (Fget_composite_char): New implementation for external-DB support.
+       (Fput_char_attribute): Use `composition' property of each
+       character instead of `Vcharacter_composition_table' to store
+       character-composition rules if external-DB feature is supported.
+       (syms_of_chartab): Add new symbol `composition'.
+       (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
+       external-DB feature is supported.
+
+2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (Vchar_db_stingy_mode): New variable.
+       (load_char_attribute_maybe): Close database if
+       Vchar_db_stingy_mode is not NIL.
+       (Fload_char_attribute_table_map_function): Use
+       `get_char_id_table_0' instead of `get_char_id_table'.
+       (vars_of_chartab): Add new variable `char-db-stingy-mode'.
+
+       * chartab.h (get_char_id_table_0): New inline function.
+       (get_char_id_table): Use `get_char_id_table_0'.
+
+2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
+       and `COMPOSE_ADD_CHAR'.
+       (decode_coding_iso2022): Use `decode_flush_er_chars'.
+
+2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
+       instead of `DECODE_ADD_UCS_CHAR'.
+       (COMPOSE_ADD_CHAR): Likewise.
+
+2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * text-coding.c (decode_flush_er_chars): New inline function.
+       (decode_add_er_char): New function.
+       (decode_coding_utf8): Use `decode_flush_er_chars' and
+       `decode_add_er_char'.
+
+2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * text-coding.c (decode_coding_utf8): Flush for er_buf must be
+       done before `decode_output_utf8_partial_char'.
+
+       * mule-charset.c (complex_vars_of_mule_charset): Specify
+       `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
+       `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
+
+2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (decode_defined_char): New function; search
+       mother.
+       (decode_builtin_char): Don't search mother if
+       XCHARSET_MAX_CODE(charset) == 0.
+       (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
+       == 0 even if code >= XCHARSET_MAX_CODE(charset).
+       (Fdecode_char): Use `decode_defined_char' instead of
+       `DECODE_DEFINED_CHAR'.
+       (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
+       mother of `Vcharset_ucs_jis'.
+
+       * text-coding.c (decode_coding_big5): Use `decode_defined_char'
+       instead of `DECODE_DEFINED_CHAR'.
+
+       * char-ucs.h (decode_defined_char): Renamed from
+       `DECODE_DEFINED_CHAR'; changed to normal function.
+       (DECODE_CHAR): Use `decode_defined_char' instead of
+       `DECODE_DEFINED_CHAR'.
+
+       * lisp.h: Add `EXFUN' for `Fstring_to_number'.
+
+2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * char-ucs.h: Add `extern' for `Vcharset_ucs'.
+
+       * text-coding.c (Vcoded_charset_entity_reference_alist): New
+       variable.
+       (Quse_entity_reference): New variable.
+       (Qd): New variable.
+       (Qx): New variable.
+       (QX): New variable.
+       (coding_system_description): Add description for
+       `ccs_priority_list'.
+       (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
+       (allocate_coding_system): Initialize `ccs_priority_list' in
+       UTF-2000.
+       (Fmake_coding_system): Add description about
+       'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
+       (codesys).
+       (Fcoding_system_property): Accept `disable-composition' and
+       `use-entity-reference' in UTF-2000.
+       (struct decoding_stream): Add new member `er_counter' and `er_buf'
+       in UTF-2000.
+       (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
+       (decode_coding_utf8): Decode entity-reference if
+       CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
+       (char_encode_utf8): Encode non-Unicode characters as
+       entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
+       (str->codesys).
+       (syms_of_file_coding): Add new symbols `use-entity-reference',
+       `d', `x', `X'.
+       (vars_of_file_coding): Add new variable
+       `coded-charset-entity-reference-alist'.
+       (complex_vars_of_file_coding): Declare `disable-composition' and
+       `use-entity-reference' to be coding-system-properties in UTF-2000.
+
+       * file-coding.h (struct Lisp_Coding_System): Add new member
+       `use_entity_reference' and `ccs_priority_list'.
+       (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
+       (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
+       (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
+
+2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (save_uint8_byte_table): Don't clear the table.
+       (save_uint16_byte_table): Likewise.
+       (save_byte_table): Likewise.
+       (Fmount_char_attribute_table): New function.
+       (syms_of_chartab): Add new builtin function
+       `mount-char-attribute-table'.
+
+2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Fsave_charset_mapping_table): Open database as
+       "w+" mode.
+       (load_char_decoding_entry_maybe): Open database as read-only mode.
+
+       * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
+       open database as "w+" mode.
+       (load_char_attribute_maybe): Open database as read-only mode.
+       (Fload_char_attribute_table): Likewise.
+
+2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (mark_char_table): Don't refer `ct->db_file'.
+       (char_table_description): Delete member `db_file'.
+       (Fmake_char_table): Don't refer `ct->db_file'.
+       (Fcopy_char_table): Likewise.
+       (Fsave_char_attribute_table): Likewise.
+       (Fclose_char_attribute_table): Likewise.
+       (Freset_char_attribute_table): Likewise.
+       (load_char_attribute_maybe): Likewise.
+       (Fload_char_attribute_table): Likewise.
+
+       * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
+
+2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
+       (Fsave_char_attribute_table): Don't check `ct->db_file' if
+       `ct->db' is living.
+       (load_char_attribute_maybe): Likewise.
+       (Fload_char_attribute_table): Likewise.
+
+2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (Fclose_char_attribute_table): Set Qnil on
+       `ct->db_file' unconditionally.
+
+2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
+       UTF-2000.
+       (char_table_description): Add description for `db_file' and `db'
+       in UTF-2000.
+       (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
+       UTF-2000.
+       (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
+       (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
+       (Fclose_char_attribute_table): New function.
+       (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
+       (load_char_attribute_maybe): Change interface; use `cit->db_file'
+       and `cit->db'.
+       (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
+       (syms_of_chartab): Add new builtin function
+       `Fclose_char_attribute_table'.
+
+2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
+       `db' in UTF-2000.
+       (load_char_attribute_maybe): Change interface.
+       (get_char_id_table): Modify for `load_char_attribute_maybe'.
+
+2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * database.h: Add an EXFUN for `Fdatabase_live_p'.
+
+2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
+       instead of `DECODE_CHAR' for mother; don't use special code for
+       chinese-big5 to use code space of chinese-big5-1 and
+       chinese-big5-2.
+       (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
+       `MAX_CHAR_BIG5_CDP' for chinese-big5.
+
+       * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
+       (MAX_CHAR_BIG5_CDP): Revival.
+
+2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
+       the XLFD registry-encoding name of `chinese-big5'.
+
+2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
+       (Qchinese_big5_cdp): Deleted.
+       (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
+       (complex_vars_of_mule_charset): Delete coded-charset
+       `chinese-big5-cdp'.
+
+       * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
+       (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
+       `CHARSET_ID_OFFSET - n' for private CCS.
+       (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
+       (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
+       of `MIN_LEADING_BYTE'.
+       (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
+       `(CHARSET_ID_OFFSET - 97)'.
+       (MIN_CHAR_BIG5_CDP): Deleted.
+       (MAX_CHAR_BIG5_CDP): Deleted.
+
+2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
+
+2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
+       (vars_of_mule): Add new variable `utf-2000-version' [moved from
+       chartab.c].
+
+       * chartab.c (Vutf_2000_version): Moved to mule.c.
+       (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
+
+2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
+       when HAVE_CHISE_CLIENT is not defined.
+
+       * mule.c (vars_of_mule): Provide feature `chise' when
+       HAVE_CHISE_CLIENT is defined.
+
+2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * config.h.in (UTF2000): Add comment.
+       (HAVE_CHISE_CLIENT): New macro.
+
+2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
+       CONSP.
+       (Fput_char_attribute): Likewise.
+       (char_attribute_system_db_file): Encode file-name of attribute.
+       (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
+       the initial value.
+
+2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
+       (Fsave_charset_mapping_table): Use
+       `char_attribute_system_db_file'.
+       (load_char_decoding_entry_maybe): Likewise.
+
+       * chartab.h (Qsystem_char_id): New external variable.
+       (char_attribute_system_db_file): New prototype.
+
+       * chartab.c (Qsystem_char_id): New variable in UTF-2000.
+       (char_attribute_system_db_file): New function.
+       (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
+       (Freset_char_attribute_table): Likewise.
+       (load_char_attribute_maybe): Likewise.
+       (Fload_char_attribute_table): Likewise.
+       (syms_of_chartab): Add new symbol `system-char-id'.
+
+2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
+       `XCHARSET_GRAPHIC(ccs)'.
+
+2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Fsave_charset_mapping_table): Fixed.
+
+2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (Q_ucs_variants): New variable.
+       (syms_of_chartab): Add new symbol `->ucs-variants'.
+       (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
+       `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
+       `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
+
+       * mule-charset.c (load_char_decoding_entry_maybe): New function.
+
+       * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
+       `HAVE_DATABASE' is defined.
+       (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
+       `HAVE_DATABASE' is defined.
+
+2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (Fsave_char_attribute_table): Don't clear internal
+       attribute-table.
+       (Freset_char_attribute_table): New function.
+       (syms_of_chartab): Add new builtin function
+       `reset-char-attribute-table'.
+
+2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (load_char_attribute_maybe): Don't make directories.
+
+2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
+
+       * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
+       for decoding-table.
+
+2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (Fsave_charset_mapping_table): Use
+       `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
+
+       * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
+       instead of `XCHARSET_CHARS'.
+
+2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
+       (XCHARSET_BYTE_SIZE): Likewise.
+
+       * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
+       mule-charset.c].
+       (XCHARSET_BYTE_SIZE): Likewise.
+
+2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (Fput_char_attribute): Use exec-directory instead of
+       data-directory to store database.
+       (Fsave_char_attribute_table): Likewise.
+       (load_char_attribute_maybe): Likewise.
+       (Fload_char_attribute_table): Likewise.
+
+2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (Fsave_charset_mapping_table): New function.
+       (syms_of_mule_charset): Add new builtin function
+       `save-charset-mapping-table'.
+
+2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * char-ucs.h (decoding_table_check_elements): Delete prototype.
+       (get_ccs_octet_table): New inline function.
+       (put_ccs_octet_table): Likewise.
+       (decoding_table_put_char): Use `get_ccs_octet_table' and
+       `put_ccs_octet_table'.
+       (decoding_table_remove_char): Use `decoding_table_put_char'.
+       (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
+
+       * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
+       into encoding_table.
+       (make_charset): Use Qunbound instead Qnil as initial value of
+       decoding_table.
+
+2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
+       element is Qunloaded.
+       (map_over_uint16_byte_table): Likewise.
+       (map_over_byte_table): Likewise.
+       (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
+       CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
+       database support, load encoding-table of the specified
+       coded-charset if it is not loaded yet.
+       (save_uint8_byte_table): New function of UTF-2000 with external
+       database support.
+       (save_uint16_byte_table): Likewise.
+       (save_byte_table): Likewise.
+       (Fput_char_attribute): Don't store value into external database
+       even if the external database feature is supported in UTF-2000;
+       set `attribute' as name of char-table if the external database
+       feature is supported.
+       (Fsave_char_attribute_table): New function in UTF-2000.
+       (syms_of_chartab): Add new builtin function
+       `save-char-attribute-table' in UTF-2000.
+
+2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (char_attribute_table_to_put): New variable in
+       UTF-2000.
+       (Qput_char_table_map_function): Likewise.
+       (value_to_put): Likewise.
+       (Fput_char_table_map_function): New function in UTF-2000.
+       (put_char_table): Use `Fmap_char_attribute' for
+       CHARTAB_RANGE_CHARSET in UTF-2000.
+       (Fput_char_attribute): Store symbol instead of string in
+       `XCHAR_TABLE_NAME (table)'.
+       (load_char_attribute_maybe): Likewise.
+       (syms_of_chartab): Add new symbol/function
+       `put-char-table-map-function'.
+
+2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * database.h: Add new EXFUN for `Fmap_database'.
+
+       * database.c (Fmap_database): Renamed from `Fmapdatabase'.
+       (syms_of_database): Likewise.
+
+       * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
+       UTF-2000.
+       (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
+       (XCHAR_TABLE_UNLOADED): Likewise.
+
+       * chartab.c (fill_char_table): Initialize `ct->unloaded'.
+       (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
+       HAVE_DATABASE is defined.
+       (char_attribute_table_to_load): New variable of UTF-2000 with
+       external database support.
+       (Qload_char_attribute_table_map_function): Likewise.
+       (Fload_char_attribute_table_map_function): New function of
+       UTF-2000 with external database support.
+       (Fload_char_attribute_table): New function of UTF-2000.
+       (Fmap_char_attribute): Call Fload_char_attribute_table if
+       CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
+       (syms_of_chartab): Add new symbol and function
+       `load-char-attribute-table-map-function' in UTF-2000 with external
+       database support; add new function `load-char-attribute-table' in
+       UTF-2000.
+
+2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.h (load_char_attribute_maybe): New prototype for
+       UTF-2000 with DATABASE support.
+       (get_char_id_table): Use `load_char_attribute_maybe' if
+       HAVE_DATABASE is defined.
+
+       * chartab.c (load_char_attribute_maybe): New function in UTF-2000
+       with DATABASE support.
+
+2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (Fput_char_attribute): Use S-expression as key of
+       external database.
+
+       * chartab.h (get_char_id_table): Use S-expression as key of
+       external database.
+
+2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (map_over_uint8_byte_table): Add new argument `root';
+       if an element is not loaded, load the corresponding attributes
+       from an external database.
+       (map_over_uint16_byte_table): Likewise.
+       (map_over_byte_table): Likewise.
+       (map_char_table): Modify for `map_over_uint8_byte_table',
+       `map_over_uint16_byte_table' and `map_over_byte_table'; if an
+       element is not loaded, load the corresponding attributes from an
+       external database.
+       (Fput_char_attribute): Change initial values to Qunloaded.
+
+       * chartab.h (get_char_id_table): If a character attribute is not
+       loaded and the attribute value is not found in an external
+       database, store Qunbound as the attribute value.
+
+2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (BT_UINT8_unloaded): New macro.
+       (UINT8_VALUE_P): Accept Qunloaded.
+       (UINT8_ENCODE): Likewise.
+       (UINT8_DECODE): Likewise.
+       (BT_UINT16_unloaded): New macro.
+       (UINT16_VALUE_P): Accept Qunloaded.
+       (UINT16_ENCODE): Likewise.
+       (UINT16_DECODE): Likewise.
+       (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
+       BT_UINT16_unloaded.
+       (mark_char_table): Mark `ct->name' in UTF-2000.
+       (char_table_description): Add `name' in UTF-2000.
+       (Fmake_char_table): Initialize `ct->name'.
+       (Fcopy_char_table): Copy `ct->name'.
+       (Fput_char_attribute): Store value into an external database if
+       HAVE_DATABASE is defined.
+
+       * chartab.h (struct Lisp_Char_Table): Add new member `name' in
+       UTF-2000.
+       (CHAR_TABLE_NAME): New macro in UTF-2000.
+       (XCHAR_TABLE_NAME): New macro in UTF-2000.
+       (get_char_id_table): Try to read an external database if Qunloaded
+       is stored in a table.
+
+       * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
+       Qunloaded.
+
+2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * database.h: Add EXFUN definitions for Fopen_database,
+       Fput_database, Fget_database and Fclose_database.
+
+       * data.c (Qunloaded): New variable in UTF-2000.
+
+       * lisp.h (Qunloaded): New variable in UTF-2000.
+
+2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (put_char_ccs_code_point): Modify for
+       `decoding_table_remove_char' and `decoding_table_put_char'.
+       (remove_char_ccs): Modify for `decoding_table_remove_char'.
+
+       * char-ucs.h (decoding_table_remove_char): Change arguments to
+       hide decoding_table vector.
+       (decoding_table_put_char): Likewise.
+
+2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (decoding_table_remove_char): Moved to
+       char-ucs.h.
+       (decoding_table_put_char): Likewise.
+
+       * char-ucs.h (decoding_table_check_elements): New prototype [moved
+       from mule-charset.c].
+       (decoding_table_remove_char): New inline function [moved from
+       mule-charset.c].
+       (decoding_table_put_char): Likewise.
+
+2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
+       extension.
+
+2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (decode_builtin_char): Support mother charsets.
+
+2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (Q94x94x60): New variable.
+       (charset_code_point): Support conversion `94x94x60'.
+       (Fmake_charset): Likewise.
+       (syms_of_mule_charset): Add new symbol `94x94x60'.
+
+       * char-ucs.h (CONVERSION_94x94x60): New macro.
+
+2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (charset_code_point): Unify code about
+       `code-offset'.
+
+2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (charset_code_point): Merge code about builtin
+       characters into code about mother charsets; don't use
+       `range_charset_code_point'.
+       (range_charset_code_point): Deleted.
+
+2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Qcode_offset): New variable.
+       (Fmake_charset): Use `XUINT' to get value of `min-code' and
+       `max-code'; accept new property `code-offset'.
+       (syms_of_mule_charset): Add new symbol `code-offset'.
+
+2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (range_charset_code_point): Fixed.
+
+2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (decode_builtin_char): Change semantics of
+       code-offset of coded-charset.
+       (charset_code_point): Likewise.
+       (range_charset_code_point): Likewise.
+       (complex_vars_of_mule_charset): Modify for the change.
+
+2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Fencode_char): Reverse arguments.
+
+       * mule-charset.c (charset_code_point): Fixed.
+
+2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharset_mojikyo): Deleted.
+       (Vcharset_mojikyo_2022_1): Deleted.
+       (Vcharset_mojikyo_pj_{1..21}): Deleted.
+       (Qmin_code): New variable in UTF-2000.
+       (Qmax_code): Likewise.
+       (Qmother): Likewise.
+       (Qconversion): Likewise.
+       (Q94x60): Likewise.
+       (Qmojikyo): Deleted.
+       (Qmojikyo_2022_1): Deleted.
+       (Qmojikyo_pj_{1..22}): Deleted.
+       (mark_charset): Mark `cs->mother'.
+       (charset_description): Add description for `mother'.
+       (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
+       new arguments `mother' and `conversion'; use
+       `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
+       (charset_code_point): Moved from char-ucs.h; support `mother'
+       charset feature.
+       (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
+       of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
+       (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
+       UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
+       allow 2 as the value of `graphic' in UTF-2000; add new properties
+       `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
+       require `final' in UTF-2000; modify for `make_charset'.
+       (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
+       instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
+       (Fcharset_property): Support `mother', `min-code' and `max-code'.
+       (Fencode_char): New function.
+       (syms_of_mule_charset): Add new builtin function `encode-char' in
+       UTF-2000; add new symbols `min-code', `max-code', `mother',
+       `conversion' and `94x60'; delete symbols `mojikyo',
+       `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
+       (complex_vars_of_mule_charset): Modify for `make_charset' change;
+       delete coded-charsets `mojikyo', `mojikyo-2022-1' and
+       `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
+
+       * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
+       `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
+
+       * char-ucs.h (Vcharset_mojikyo): Deleted.
+       (Vcharset_mojikyo_2022_1): Deleted.
+       (LEADING_BYTE_MOJIKYO): Deleted.
+       (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
+       (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
+       (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
+       (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
+       add new member `mother'; add new member `conversion'.
+       (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
+       (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
+       (CHARSET_MOTHER): New macro.
+       (CHARSET_CONVERSION): New macro.
+       (CONVERSION_IDENTICAL): New macro.
+       (CONVERSION_94x60): New macro.
+       (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
+       (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
+       (XCHARSET_MOTHER): New macro.
+       (XCHARSET_CONVERSION): New macro.
+       (MIN_CHAR_MOJIKYO): Deleted.
+       (MAX_CHAR_MOJIKYO): Deleted.
+       (DECODE_MOJIKYO_2022): Deleted.
+       (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
+       (charset_code_point): Changed to non-inline function.
+       (encode_char_1): Use `charset_code_point'.
+       (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
+
+2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * lread.c (read_compiled_function): Fix prototype.
+       (read_vector): Likewise.
+
+2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * lrecord.h (struct lrecord_header): Delete `older'.
+       (set_lheader_implementation): Delete code for `older'.
+       (set_lheader_older_implementation): Deleted.
+       (enum lrecord_type): Delete `lrecord_type_char_id_table'.
+       (OLDER_RECORD_P): Deleted.
+       (OLDER_RECORD_HEADER_P): Deleted.
+       (alloc_older_lcrecord): Deleted.
+       (alloc_older_lcrecord_type): Deleted.
+
+       * alloc.c (all_older_lcrecords): Deleted.
+       (alloc_older_lcrecord): Deleted.
+       (disksave_object_finalization_1): Delete code for older objects.
+       (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
+       (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
+
+2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (decoding_table_put_char): Use `make_vector'
+       instead of `make_older_vector'.
+       (put_char_ccs_code_point): Likewise.
+       (mark_charset): Mark `cs->decoding_table'.
+       (Fset_charset_mapping_table): Don't use `make_vector_newer'.
+
+       * lisp.h (make_older_vector): Deleted.
+       (make_vector_newer): Deleted.
+
+       * config.h.in (HAVE_GGC): Deleted.
+
+       * alloc.c (make_older_vector): Deleted.
+       (make_vector_newer_1): Deleted.
+       (make_vector_newer): Deleted.
+
+2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
+       (Qideograph_daikanwa_2): New variable.
+       (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
+       (complex_vars_of_mule_charset): Add new coded-charset
+       `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
+       `LEADING_BYTE_DAIKANWA'.
+
+       * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
+       (LEADING_BYTE_DAIKANWA_1): New macro.
+       (LEADING_BYTE_DAIKANWA_2): New macro.
+       (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
+
+2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (complex_vars_of_mule_charset): Change
+       DOC-strings and registry of `ideograph-daikanwa'; now it indicates
+       the second revised version.
+
+2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharset_ucs_smp): New variable.
+       (Vcharset_ucs_sip): New variable.
+       (Qucs_smp): New variable.
+       (Qucs_sip): New variable.
+       (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
+       MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
+       (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
+       (complex_vars_of_mule_charset): Modify middle-DOC and registry of
+       `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
+       charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
+
+       * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
+       (LEADING_BYTE_UCS_SIP): New macro.
+       (MIN_CHAR_SMP): New macro.
+       (MAX_CHAR_SMP): New macro.
+       (MIN_CHAR_SIP): New macro.
+       (MAX_CHAR_SIP): New macro.
+
+2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
+       utf-2000.
+
+2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (put_char_ccs_code_point): Return canonicalized
+       value; don't store value into `encoding_table' of `Lisp_Charset'.
+       (mark_charset): `encoding_table' was deleted.
+       (charset_description): Likewise.
+       (make_charset): Likewise.
+       (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
+       `put_char_ccs_code_point'.
+
+       * chartab.h (Fput_char_attribute): New EXFUN.
+
+       * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
+       is unified with normal symbol space.
+       (Fget_char_attribute): Likewise.
+       (Fput_char_attribute): Likewise; behavior of
+       `put_char_ccs_code_point' is changed.
+
+       * char-ucs.h: Include "elhash.h".
+       (Vchar_attribute_hash_table): New external variable.
+       (struct Lisp_Charset): Delete `encoding_table'.
+       (CHARSET_ENCODING_TABLE): New implementation; refer
+       `Vchar_attribute_hash_table' instead of `encoding_table' of struct
+       `Lisp_Charset'.
+
+2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
+       (cs) == 0.
+
+2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (char_encode_big5): Prefer charset-g1 than
+       `chinese-big5'.
+
+2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (uint8_byte_table_description): New constant.
+       (uint8-byte-table): Use `uint8_byte_table_description'.
+       (uint16_byte_table_description): New constant.
+       (uint16-byte-table): Use `uint16_byte_table_description'.
+
+2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
+       range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
+
+2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharset_ucs_ks): New variable.
+       (Qucs_ks): New variable.
+       (syms_of_mule_charset): Add new symbol `ucs-ks'.
+       (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
+
+       * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
+
+2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
+       (Fdecode_char): Likewise.
+
+       * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
+       chartab.h.
+       (Fdefine_char): Modify for Fdecode_char.
+       (Ffind_char): Likewise.
+
+       * mule-charset.c (Fdecode_char): Add new optional argument
+       `defined-only'.
+       (Fdecode_builtin_char): Modify for `Fdecode_char'.
+
+2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
+       -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
+       (allocate_coding_system): Initialize initial-charsets of
+       CODESYS_BIG5 in XEmacs UTF-2000.
+       (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
+       CODESYS_BIG5 in XEmacs UTF-2000.
+       (decode_coding_big5): Use initial-charset-g0 and -g1 of
+       CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
+
+       * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
+       variables.
+       (Qideograph_hanziku_{1 .. 12}): Likewise.
+       (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
+       .. 12}'.
+       (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
+       `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
+       `ideograph-hanziku-{1 .. 12}'.
+
+       * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
+       (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
+       ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
+       ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
+       (DECODE_DEFINED_CHAR): New inline function.
+       (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
+
+2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharset_china3_jef): Renamed from
+       `Vcharset_japanese_jef_china3'.
+       (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
+       (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
+       `{MIN|MAX}_CHAR_JEF_CHINA3'..
+       (syms_of_mule_charset): Rename `china3-jef' from
+       `japanese-jef-china3'.
+       (complex_vars_of_mule_charset): Likewise; rename
+       `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
+
+       * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
+       `LEADING_BYTE_JEF_CHINA3'.
+       (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
+       (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
+
+2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (encode_builtin_char_1): Comment out special code
+       for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
+
+       * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
+       (MAX_CHAR_MOJIKYO_0): Comment out.
+       (MIN_CHAR_CBETA): Changed to 0x00E20000.
+       (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
+       (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
+       (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
+
+2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
+       (Qideograph_cbeta): New variable.
+       (encode_builtin_char_1): Comment out special code for
+       coded-charset `mojikyo' and `japanese-jef-china3'.
+       (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
+       (complex_vars_of_mule_charset): Add new coded-charset
+       `ideograph-cbeta'.
+
+       * char-ucs.h (LEADING_BYTE_CBETA): New macro.
+       (MIN_CHAR_CBETA): New macro.
+       (MAX_CHAR_CBETA): New macro.
+
+2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
+       (LEADING_BYTE_JEF_CHINA3): New macro.
+       (MIN_CHAR_JEF_CHINA3): New macro.
+       (MAX_CHAR_JEF_CHINA3): Likewise.
+       (DECODE_CHAR): Fixed.
+
+2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
+       (Qjapanese_jef_china3): New variable.
+       (encode_builtin_char_1): Support `japanese-jef-china3'.
+       (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
+       (complex_vars_of_mule_charset): Add new coded-charset
+       `japanese-jef-china3'.
+
+2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (XCHARSET_CELL_RANGE): New inline function.
+       (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
+       94^4, 96^3, 96^4, 128^n and 256^n set.
+       (put_char_table): Use `XCHARSET_CELL_RANGE'.
+       (map_char_table): Likewise.
+
+2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
+       UTF-2000.
+
+2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.h (get_char_id_table): New inline function.
+
+       * chartab.c (get_char_id_table): Moved to chartab.h as an inline
+       function.
+
+2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.h (decode_char_table_range): New prototype in XEmacs
+       UTF-2000.
+       (put_char_id_table): New inline function in XEmacs UTF-2000.
+
+       * chartab.c (put_char_id_table): Moved to chartab.h as an inline
+       function.
+       (decode_char_table_range): Delete static declaration in XEmacs
+       UTF-2000.
+
+2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (put_char_id_table): Use `put_char_table'.
+
+2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
+       (map_over_uint16_byte_table): Likewise.
+       (map_over_byte_table): Likewise.
+       (map_char_table): Modify for `map_over_uint8_byte_table',
+       `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
+       UTF-2000.
+
+2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (struct map_char_table_for_charset_arg): New
+       structure.
+       (map_char_table_for_charset_fun): New function.
+       (map_char_table): Use `map_char_table' for encoding_table of
+       `range->charset'.
+
+2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (map_char_table): Check a character is found in
+       range->charset instead of non default value is defined in
+       char-table when range is CHARTAB_RANGE_ROW.
+
+2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (map_char_id_table): Deleted.
+       (Fmap_char_attribute): Use `map_char_table' instead of
+       `map_char_id_table'.
+
+2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
+       UTF-2000.
+       (update_syntax_table): Deleted in XEmacs UTF-2000.
+
+       * syntax.c (find_defun_start): Use `syntax_table' instead of
+       `mirror_syntax_table' in XEmacs UTF-2000.
+       (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
+       UTF-2000.
+       (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
+       XEmacs UTF-2000.
+       (Fmatching_paren): Likewise.
+       (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
+       in XEmacs UTF-2000.
+       (find_start_of_comment): Likewise.
+       (find_end_of_comment): Likewise.
+       (Fforward_comment): Likewise.
+       (scan_lists): Likewise.
+       (char_quoted): Likewise.
+       (Fbackward_prefix_chars): Likewise.
+       (scan_sexps_forward): Likewise.
+       (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
+       (update_syntax_table): Likewise.
+
+       * search.c (skip_chars): Use `syntax_table' instead of
+       `mirror_syntax_table' in XEmacs UTF-2000.
+       (wordify): Likewise.
+       (Freplace_match): Likewise.
+
+       * regex.c (re_compile_fastmap): Use `syntax_table' instead of
+       `mirror_syntax_table' in XEmacs UTF-2000.
+       (WORDCHAR_P_UNSAFE): Likewise.
+       (re_match_2_internal): Likewise.
+
+       * font-lock.c (find_context): Use `buf->syntax_table' instead of
+       `buf->mirror_syntax_table' in XEmacs UTF-2000.
+
+       * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
+       of `buf->mirror_syntax_table' in XEmacs UTF-2000.
+
+       * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
+       XEmacs UTF-2000.
+
+       * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
+       UTF-2000.
+       (print_char_table): Print `default_value' in XEmacs UTF-2000.
+       (char_table_description): Delete `mirror_table' in XEmacs
+       UTF-2000.
+       (fill_char_table): Don't call `update_syntax_table' in XEmacs
+       UTF-2000.
+       (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
+       (Fcopy_char_table): Likewise.
+       (put_char_table): Don't call `update_syntax_table' in XEmacs
+       UTF-2000.
+
+       * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
+       `buf->mirror_syntax_table' in XEmacs UTF-2000.
+       (casify_region_internal): Likewise.
+
+       * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
+
+       * buffer.c (common_init_complex_vars_of_buffer): Don't use
+       `mirror_syntax_table' in XEmacs UTF-2000.
+
+       * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
+       `buf->mirror_syntax_table' in XEmacs UTF-2000.
+       (Fexpand_abbrev): Likewise.
+
+2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
+
+2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
+       (map_over_uint16_byte_table): Likewise.
+       (map_over_byte_table): Likewise.
+       (get_char_id_table): Refer `cit->default_value'.
+       (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
+       (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
+       of character-id ranges.
+       (mark_char_table): Mark `ct->default_value'.
+       (char_table_description): Add `default_value'.
+       (fill_char_table): Use `default_value'.
+       (decode_char_table_range): Decode `nil' as
+       `CHARTAB_RANGE_DEFAULT'.
+       (get_char_id_table): Refer `cit->default_value'.
+       (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
+       (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
+       temporary hack; check value of char-table is bound or not.
+       (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
+
+       * chartab.h (struct Lisp_Char_Table): Add new member
+       `default_value' in XEmacs UTF-2000.
+       (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
+       (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
+       UTF-2000.
+
+2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.h (Lisp_Char_ID_Table): Deleted.
+
+       * chartab.c (char_table_description): Fix typo.
+       (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
+       `Lisp_Char_ID_Table'.
+
+2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
+       `CHAR_ID_TABLE_P'.
+
+       * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
+       `CHAR_ID_TABLE_P'.
+
+       * chartab.h (XCHAR_ID_TABLE): Deleted.
+       (XSETCHAR_ID_TABLE): Deleted.
+       (CHAR_ID_TABLE_P): Deleted.
+
+       * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
+       `CHAR_ID_TABLE_P'.
+       (Fget_composite_char): Likewise.
+       (put_char_table): Likewise.
+       (add_char_attribute_alist_mapper): Fixed.
+       (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
+       `CHAR_ID_TABLE_P'.
+       (Fget_char_attribute): Likewise.
+       (Fget_char_attribute): Likewise.
+       (Fmap_char_attribute): Likewise.
+
+       * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
+       `CHAR_ID_TABLE_P'.
+       (encode_char_1): Likewise.
+
+2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
+       `XCHAR_ID_TABLE'.
+
+       * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
+       instead of `XCHAR_ID_TABLE'.
+       (remove_char_ccs): Likewise.
+
+       * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
+       `XCHAR_ID_TABLE'.
+       (Fget_composite_char): Likewise.
+       (Fchar_variants): Likewise.
+       (put_char_table): Likewise.
+       (add_char_attribute_alist_mapper): Likewise.
+       (Fchar_attribute_alist): Likewise.
+       (Fget_char_attribute): Likewise.
+       (Fput_char_attribute): Likewise.
+       (Fmap_char_attribute): Likewise.
+       (Fmap_char_attribute): Likewise.
+
+       * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
+       `XCHAR_ID_TABLE'.
+       (encode_char_1): Likewise.
+
+2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
+       `Lisp_Char_ID_Table'.
+       (mark_char_id_table): Deleted.
+       (print_char_id_table): Likewise.
+       (char_id_table_equal): Likewise.
+       (char_id_table_hash): Likewise.
+       (char_id_table_description): Likewise.
+       (char_id_table): Likewise.
+       (make_char_id_table): Use `Fmake_char_table' and
+       `fill_char_table'.
+       (get_char_id_table): Use `Lisp_Char_Table' instead of
+       `Lisp_Char_ID_Table'.
+       (put_char_id_table): Likewise.
+       (Fput_char_attribute): Use `XCHAR_TABLE' instead of
+       `XCHAR_ID_TABLE'.
+       (Fremove_char_attribute): Likewise.
+       (syms_of_chartab): Don't define type `char-id-table'.
+
+       * chartab.h (struct Lisp_Char_ID_Table): Deleted.
+       (char_id_table): Likewise.
+       (GC_CHAR_ID_TABLE_P): Likewise.
+       (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
+       (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
+       (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
+       (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
+       (get_char_id_table): Use `Lisp_Char_Table' instead of
+       `Lisp_Char_ID_Table'.
+       (put_char_id_table_0): Likewise.
+       (put_char_id_table): Likewise.
+
+2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
+
+       * chartab.h: Lisp_Byte_Table related codes are moved from
+       chartab.h.
+
+       * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
+
+2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
+
+       * chartab.h: Don't include "chartab.h".
+       (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
+       (Lisp_Char_ID_Table): Likewise.
+       (char_id_table): Likewise.
+       (XCHAR_ID_TABLE): Likewise.
+       (XSETCHAR_ID_TABLE): Likewise.
+       (CHAR_ID_TABLE_P): Likewise.
+       (GC_CHAR_ID_TABLE_P): Likewise.
+       (get_char_id_table): Likewise.
+
+       * char-ucs.h: Include "chartab.h".
+       (struct Lisp_Char_ID_Table): Moved to chartab.h.
+       (Lisp_Char_ID_Table): Likewise.
+       (char_id_table): Likewise.
+       (XCHAR_ID_TABLE): Likewise.
+       (XSETCHAR_ID_TABLE): Likewise.
+       (CHAR_ID_TABLE_P): Likewise.
+       (GC_CHAR_ID_TABLE_P): Likewise.
+       (get_char_id_table): Likewise.
+
+2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
+
+       * chartab.c (copy_uint8_byte_table): New function.
+       (copy_uint16_byte_table): New function.
+       (copy_byte_table): New function.
+       (map_over_uint8_byte_table): Modify to avoid huge numbers of
+       characters to call.
+       (map_over_uint16_byte_table): Likewise.
+       (map_over_byte_table): Likewise.
+       (get_byte_table): Move prototype to chartab.h.
+       (put_byte_table): Likewise.
+       (put_char_id_table_0): Moved to chartab.h.
+       (mark_char_table_entry): Don't define in XEmacs UTF-2000.
+       (char_table_entry_equal): Likewise.
+       (char_table_entry_hash): Likewise.
+       (char_table_entry_description): Likewise.
+       (char_table_entry): Likewise.
+       (make_char_table_entry): Likewise.
+       (copy_char_table_entry): Likewise.
+       (get_non_ascii_char_table_value): Likewise.
+       (map_over_charset_ascii): Likewise.
+       (map_over_charset_control_1): Likewise.
+       (map_over_charset_row): Likewise.
+       (map_over_other_charset): Likewise.
+       (mark_char_table): Modify for new structure in XEmacs UTF-2000.
+       (print_char_table): Likewise.
+       (char_table_equal): Likewise.
+       (char_table_hash): Likewise.
+       (char_table_description): Likewise.
+       (fill_char_table): Likewise.
+       (Fcopy_char_table): Likewise.
+       (get_char_table): Likewise.
+       (Fget_range_char_table): Likewise.
+       (put_char_table): Likewise.
+       (map_char_table): Likewise.
+       (syms_of_chartab): Don't define `char_table_entry' in XEmacs
+       UTF-2000.
+
+2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
+       `Vauto_fill_chars' in XEmacs UTF-2000.
+
+       * chartab.h (get_byte_table): New prototype [moved from
+       chartab.c].
+       (put_byte_table): Likewise [moved from chartab.c].
+       (put_char_id_table_0): New inline function [moved from chartab.c].
+       (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
+       (Lisp_Char_Table_Entry): Likewise.
+       (char_table_entry): Likewise.
+       (XCHAR_TABLE_ENTRY): Likewise.
+       (XSETCHAR_TABLE_ENTRY): Likewise.
+       (CHAR_TABLE_ENTRYP): Likewise.
+       (CHECK_CHAR_TABLE_ENTRY): Likewise.
+       (NUM_ASCII_CHARS): Likewise.
+       (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
+       (CHAR_TABLE_VALUE_UNSAFE): Likewise.
+
+2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (get_char_id_table): Change interface.
+       (put_char_id_table_0): New function.
+       (put_char_id_table): Change interface; new implementation.
+       (Fget_composite_char): Modify for interface change of
+       `get_char_id_table'.
+       (Fchar_variants): Likewise.
+       (add_char_attribute_alist_mapper): Likewise.
+       (Fchar_attribute_alist): Likewise.
+       (Fget_char_attribute): Likewise.
+       (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
+       as same as character as the first argument like `put-char-table';
+       modify for interface change of `put_char_id_table'.
+       (Fremove_char_attribute): Modify for interface change of
+       `put_char_id_table'.
+
+2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c: Sync up with XEmacs 21.2.41.
+       (COMPOSE_ADD_CHAR): Modify for interface change of
+       `get_char_id_table'.
+
+       * mule-charset.c (put_char_ccs_code_point): Modify for interface
+       change of `put_char_id_table'.
+       (remove_char_ccs): Likewise.
+
+       * chartab.h (put_char_id_table): Change interface.
+
+       * char-ucs.h (get_char_id_table): Change interface.
+       (charset_code_point): Modify for interface change of
+       `get_char_id_table'.
+       (encode_char_1): Likewise.
+
+2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (map_over_uint8_byte_table): Change arguments; add new
+       argument `ccs'.
+       (map_over_uint16_byte_table): Likewise.
+       (map_over_byte_table): Likewise.
+       (map_char_id_table): Add new argument `range' like
+       `map_char_table'.
+       (Fmap_char_attribute): Add new argument `range' like
+       `Fmap_char_table'.
+
+2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (map_over_uint8_byte_table): Change interface of
+       mapping function to use struct chartab_range instead of Emchar.
+       (map_over_uint16_byte_table): Likewise.
+       (map_over_byte_table): Likewise.
+       (map_char_id_table): Likewise.
+       (struct slow_map_char_id_table_arg): Deleted.
+       (slow_map_char_id_table_fun): Deleted.
+       (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
+       function `slow_map_char_table_fun' instead of struct
+       `slow_map_char_id_table_arg' and function
+       `slow_map_char_id_table_fun'.
+
+2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c: Move char-it-table related codes to chartab.c.
+       (Vutf_2000_version): Moved to chartab.c.
+       (Fdefine_char): Likewise.
+       (Ffind_char): Likewise.
+       (syms_of_mule_charset): Move types `uint8-byte-table',
+       `uint16-byte-table', `byte-table' and `char-id-table' to
+       chartab.c; move functions `char_attribute_list,
+       `find_char_attribute_table, `char_attribute_alist,
+       `get_char_attribute, `put_char_attribute, `remove_char_attribute,
+       `map_char_attribute, `define_char, `find_char, `char_variants and
+       `get_composite_char to chartab.c; move symbols `=>ucs',
+       `->decomposition', `compat', `isolated', `initial', `medial',
+       `final', `vertical', `noBreak', `fraction', `super', `sub',
+       `circle', `square', `wide', `narrow', `small' and `font' to
+       chartab.c.
+       (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
+       setting codes for `Vcharacter_composition_table' and
+       `Vcharacter_variant_table' to chartab.c.
+       (complex_vars_of_mule_charset): Move setting code for
+       `Vchar_attribute_hash_table' to chartab.c.
+
+       * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
+       (make_char_id_table): New prototype.
+       (put_char_id_table): Likewise.
+       (Fget_char_attribute): Likewise.
+
+       * chartab.c: Move char-id-table related code from mule-charset.c.
+       (Vutf_2000_version): Moved from mule-charset.c.
+
+       * char-ucs.h (Qucs): New external variable.
+       (put_char_ccs_code_point): New prototype.
+       (remove_char_ccs): Likewise.
+
+2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
+
+       * mule-charset.c (Vcharset_ucs_jis): New variable.
+       (Qucs_jis): Likewise.
+       (syms_of_mule_charset): Add new symbol `ucs-jis'.
+       (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
+
+       * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
+
+2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (map_over_uint8_byte_table): New function.
+       (map_over_uint16_byte_table): Likewise.
+       (map_over_byte_table): Likewise.
+       (map_char_id_table): Likewise.
+       (slow_map_char_id_table_fun): Likewise.
+       (Fmap_char_attribute): Likewise.
+       (syms_of_mule_charset): Add new function `map-char-attribute'.
+
+2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
+       (syms_of_mule_charset): Add new function `find-char'.
+
+2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
+       XEmacs UTF-2000.
+       (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
+       (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
+       XEmacs UTF-2000.
+       (complex_vars_of_mule_charset): Add new coded-charset
+       `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
+       `ideograph-gt-pj-*'.
+
+       * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
+
+2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (encode_builtin_char_1): Purge codes about
+       {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
+       {MIN|MAX}_CHAR_HEBREW.
+       (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
+       don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
+
+       * char-ucs.h (MIN_CHAR_GREEK): Purged.
+       (MAX_CHAR_GREEK): Purged.
+       (MIN_CHAR_CYRILLIC): Purged.
+       (MAX_CHAR_CYRILLIC): Purged.
+       (MIN_CHAR_HEBREW): Commented out.
+       (MAX_CHAR_HEBREW): Likewise.
+
+2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Qto_ucs): New variable.
+       (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
+       (Fdefine_char): Likewise.
+       (syms_of_mule_charset): Add new symbol `=>ucs'.
+
+2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Fdecode_char): Fixed.
+
+2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (complex_vars_of_mule_charset): Modify registry
+       of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
+       "tcvn5712-1".
+
+2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharset_ucs_big5): New variable.
+       (Qucs_big5): Likewise.
+       (syms_of_mule_charset): Add new symbol `ucs-big5'.
+       (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
+
+       * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
+
+2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (decode_builtin_char): Check Big5 code range
+       which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
+
+2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharset_chinese_gb12345): New variable.
+       (Qchinese_gb12345): Likewise.
+       (Fdecode_builtin_char): Fixed.
+       (syms_of_mule_charset): Add `chinese-gb12345'.
+       (complex_vars_of_mule_charset): Add coded-charset
+       `chinese-gb12345'.
+
+       * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
+       (LEADING_BYTE_CHINESE_GB12345): New macro.
+
+2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
+       and `latin-viscii-upper' for `latin-viscii'.
+
+2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Fdecode_builtin_char): Comment out
+       regularization code for ISO-IR GR representation.
+
 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
 
        * mule-charset.c (decode_builtin_char): New function; renamed from
        (Vcharset_thai_tis620): Likewise.
        (Vcharset_katakana_jisx0201): Likewise.
 
+2001-02-08  Martin Buchholz <martin@xemacs.org>
+
+       * XEmacs 21.2.44 "Thalia" is released.
+
+2001-02-06  Martin Buchholz  <martin@xemacs.org>
+
+       Fixes crashes in kill-emacs on some systems.
+       * process-unix.c (unix_kill_child_process):
+       It's OK for kill() to fail with ESRCH.
+
+2001-02-07  Martin Buchholz  <martin@xemacs.org>
+
+       Contortions to make .gdbinit tricks work on most systems.
+       * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
+       * alloc.c (dbg_valmask): Make non-const.
+       * alloc.c (dbg_typemask): Make non-const.
+       * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
+       * alloc.c (dbg_valbits): Make non-const.
+       * alloc.c (dbg_gctypebits): Make non-const.
+       * .gdbinit (decode_object): Make it work with AIX cc.
+
+2001-02-06  Martin Buchholz  <martin@xemacs.org>
+
+       * elhash.c (make_general_lisp_hash_table):
+       Use simpler and more efficient calloc to clear entries.
+
+2001-02-07  Martin Buchholz  <martin@xemacs.org>
+
+       * window.c (window_scroll): Work around an AIX C compiler bug.
+       Fixes 'scroll-up' does nothing problem with xlC.
+
+2001-02-05  Martin Buchholz  <martin@xemacs.org>
+
+       * .gdbinit: Remove obsolete comment.
+
+2001-01-31  Mike Alexander  <mta@arbortext.com>
+
+       * select.c (Fown_selection_internal): Set owned_p for device
+       method correctly.
+
+2001-02-01  Martin Buchholz  <martin@xemacs.org>
+
+       Port to g++ 2.97.
+       "not" cannot be used as a macro name as it is an operator in C++
+       * config.h.in: Stop #defining `not'.
+       * chartab.c (check_category_char): not ==> not_p
+       * chartab.h: Likewise.
+       * regex.c (re_match_2_internal): Likewise.
+
+2001-02-02  Martin Buchholz  <martin@xemacs.org>
+
+       * lisp-disunion.h: Fix up comments.
+
+2001-01-31  Martin Buchholz  <martin@xemacs.org>
+
+       * keymap.c (define_key_check_and_coerce_keysym):
+       (syms_of_keymap):
+       Support mouse-6 and mouse-7 bindings in the obvious way.
+
+2001-02-01  Martin Buchholz  <martin@xemacs.org>
+
+       * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
+
+2001-01-30  Martin Buchholz  <martin@xemacs.org>
+
+       Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
+       Previous patch missed DEFVAR_INT_MAGIC.
+       Make sure future DEFVAR_foo use correct types.
+       * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
+       * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
+       * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
+       * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
+       * (DEFVAR_INT): Likewise.
+       * redisplay.c (vertical_clip): Should be of type Fixnum.
+       * redisplay.c (horizontal_clip): Likewise.
+       * lisp.h (dump_add_opaque_int): New.
+       (dump_add_opaque_fixnum): New.
+
+2001-01-29  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-widget.c (check_valid_int_or_function): allow symbols
+       since they can be eval'ed
+
+2001-01-29  Martin Buchholz  <martin@xemacs.org>
+
+       * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
+       Oops, XEmacs redefines `class'.  Use `typename' instead.
+
+2001-01-28  Martin Buchholz  <martin@xemacs.org>
+
+       * dumper.c: Fix C++ compile errors.
+
+2001-01-29  Martin Buchholz  <martin@xemacs.org>
+
+       * tparam.c: Use correct prototypes.
+
+2001-01-28  Martin Buchholz  <martin@xemacs.org>
+
+       * sysproc.h: #include util.h for NetBSD's openpty.
+
+2001-01-27  Martin Buchholz  <martin@xemacs.org>
+
+       More 64-bit correctness.
+       The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
+       Use a typedef `fixnum' for the type used for DEFVAR_INT.
+       Fix up comments.
+       This finally finishes the 64-bit SGI port.
+       Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
+       * symbols.c: Fix up comments and type casts.
+       * symbols.c (do_symval_forwarding): s/int/Fixnum/g
+       * symbols.c (store_symval_forwarding): s/int/Fixnum/g
+       * symeval.h (Fixnum): New type.
+       * symeval.h (symbol_value_type): Fix up comment.
+
+       * commands.h:
+       * nt.c:
+       * emacs.c:
+       * data.c:
+       * redisplay.c:
+       * abbrev.c:
+       * dired-msw.c:
+       * event-Xt.c:
+       * eldap.c:
+       * window.c:
+       * sound.c:
+       * event-stream.c:
+       * eval.c:
+       * buffer.c:
+       * mule-canna.c: A million DEFVAR_INTs here...
+       * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
+       * extents.c:
+       * cmdloop.c:
+       * lisp.h:
+       * select-x.c:
+       * console-x.h:
+       * event-msw.c:
+       * mule-wnnfns.c:
+       * hpplay.c:
+       * ralloc.c:
+       * alloc.c:
+       * keymap.c:
+       * profile.c:
+       s/int/Fixnum/g in DEFVAR_INT declarations.
+
+2001-01-26  Martin Buchholz  <martin@xemacs.org>
+
+       Port pdump to SGI alignment-sensitive environment.
+       Lisp Object sizeof methods now return aligned sizes.  Rely on that.
+       Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
+       properly aligned.
+       Define and use aligned reading and writing macros.
+       Use buffered stdio instead of posix i/o for faster dumping.
+       Eliminate kludgy 256 byte space for header.
+       Read and write from dump file using structs for alignment safety.
+       * dumper.c (pdump_align_stream): New.
+       * dumper.c (PDUMP_ALIGN_OUTPUT): New.
+       * dumper.c (PDUMP_READ_ALIGNED): New.
+       * dumper.c (PDUMP_WRITE_ALIGNED): New.
+       * dumper.c (pdump_static_Lisp_Object): New struct.
+       * dumper.c (pdump_static_pointer): New struct.
+       * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
+       * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
+       * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
+       * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
+
+       * dumper.c (pdump_backtrace):
+       * dumper.c (pdump_get_indirect_count):
+       * dumper.c (pdump_register_object):
+       * dumper.c (pdump_register_struct):
+       * dumper.c (pdump_reloc_one):
+       * dumper.c (pdump_scan_by_alignment):
+       * dumper.c (pdump_dump_from_root_struct_ptrs):
+       * dumper.c (pdump_dump_opaques):
+       * dumper.c (pdump_dump_rtables):
+       * dumper.c (pdump_dump_from_root_objects):
+       * dumper.c (pdump):
+       * dumper.c (pdump_load_finish):
+       Use aligned reading and writing.
+
+       * dumper.c (pdump_free): Make static.
+       * dumper.c (pdump_hFile): Likewise.
+       * dumper.c (pdump_hMap): Likewise.
+
+2001-01-26  Martin Buchholz <martin@xemacs.org>
+
+       * XEmacs 21.2.43 "Terspichore" is released.
+
+2001-01-25  Martin Buchholz  <martin@xemacs.org>
+
+       Type fiddling for window_config.saved_windows_count
+       * window.c (struct window_config): 
+       Make saved_windows_count member unsigned.
+       * window.c (sizeof_window_config_for_n_windows): 
+       Make parameter unsigned.
+       * window.c (mark_window_config):
+       * window.c (window_config_equal):
+       * window.c (free_window_configuration):
+       * window.c (Fset_window_configuration):
+       * window.c (count_windows):
+       * window.c (Fcurrent_window_configuration):
+       * window.c (reinit_vars_of_window):
+       Update all callers and users.
+
+2001-01-25  Martin Buchholz  <martin@xemacs.org>
+
+       Alignment correctness for flexible arrays.
+       * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
+       Make alignment-correct. Add interesting comments.
+       * alloc.c (size_vector):
+       * alloc.c (make_vector_internal):
+       * alloc.c (make_bit_vector_internal):
+       * alloc.c (sweep_bit_vectors_1):
+       * fns.c (size_bit_vector):
+       Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
+       * window.c (sizeof_window_config_for_n_windows): 
+       Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
+
+2001-01-24  Martin Buchholz  <martin@xemacs.org>
+
+       * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
+
+2001-01-23  Andy Piper  <andy@xemacs.org>
+
+       * select.c (Fown_selection_internal): pass owned_p
+
+       * select-msw.c (mswindows_own_selection): New Signature.
+
+       * console.h (struct console_methods): add owned_p to
+       _own_selection.
+
+       * select-x.c (x_own_selection): pass owned_p
+       (hack_motif_clipboard_selection): use owned_p
+       (vars_of_select_x): new variable -
+       x_selection_strict_motif_ownership.
+
+2001-01-23  Martin Buchholz  <martin@xemacs.org>
+
+       * specifier.h (specifier_data_offset): Remove pointless parens.
+       * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
+
+2001-01-24  Martin Buchholz  <martin@xemacs.org>
+
+       Make Lisp_Object sizeof methods be alignment-correct.
+       pdump must restore objects to the same alignment as the C compiler
+       assumes.  It really matters on SGIs.
+       * lstream.c (aligned_sizeof_lstream): New.
+       (sizeof_lstream): Use aligned_sizeof_lstream.
+       (Lstream_new): Likewise.
+       * opaque.c (aligned_sizeof_opaque): New.
+       (sizeof_opaque): Use aligned_sizeof_opaque.
+       (make_opaque): Likewise.
+       * specifier.c (aligned_sizeof_specifier): New.
+       (sizeof_specifier): Use aligned_sizeof_specifier.
+       (make_specifier_internal): Likewise.
+
+2001-01-23  Martin Buchholz  <martin@xemacs.org>
+
+       * lstream.h (struct lstream): Use max_align_t for trailing data.
+       * specifier.h (struct Lisp_Specifier): Likewise.
+
+2001-01-22  Martin Buchholz  <martin@xemacs.org>
+
+       * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
+       (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
+       (CCL_SUSPEND): Likewise.
+       (CCL_INVALID_CMD): Likewise.
+       (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
+       (ccl_driver): Likewise.
+       (CCL_WRITE_CHAR): Macro hygiene.
+       (CCL_WRITE_STRING): Macro hygiene.
+
+2001-01-22  Martin Buchholz  <martin@xemacs.org>
+
+       Port "portable" dumper to SunOS 4 and HP-UX.
+       * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
+       * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
+       * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
+
+2001-01-22  Martin Buchholz  <martin@xemacs.org>
+
+       * lisp.h (ALIGNOF): A better definition for C++.
+
+2001-01-20  Martin Buchholz  <martin@xemacs.org>
+
+       Macro hygiene.
+       Fix printf warnings: int format, long int arg.
+       * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
+       (PUSH_FAILURE_POINT): Use correct printf formats.
+       (POP_FAILURE_POINT): Use correct printf formats.  
+       Use do {...} while (0)
+
+2001-01-20  Martin Buchholz <martin@xemacs.org>
+
+       * XEmacs 21.2.42 "Poseidon" is released.
+
+2001-01-20  Martin Buchholz  <martin@xemacs.org>
+
+       * console-x.h: typo fix du jour.  Remove #if 0'ed code.
+
+2001-01-19  Martin Buchholz  <martin@xemacs.org>
+
+       De-kludgify FIXED_TYPE free list frobbing.
+       Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
+       * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
+       * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
+       * alloc.c (Lisp_Free): New pseudo lisp object definition.
+       * alloc.c (LRECORD_FREE_P): New.
+       * alloc.c (MARK_LRECORD_AS_FREE): New.
+       * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
+       * alloc.c (STRUCT_FREE_P): Deleted.
+       * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
+       * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
+       * alloc.c (STRING_CHARS_FREE_P): New.
+       * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
+       * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
+       * alloc.c (FREE_FIXED_TYPE): Use new definitions.
+       * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
+       * alloc.c (resize_string): Use new definitions.
+       * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
+       * alloc.c (verify_string_chars_integrity): Use new definitions.
+       * alloc.c (compact_string_chars): Use new definitions.
+       * alloc.c: Update monster comments.
+       * lrecord.h (lrecord_type): Add some new lrecord types for
+       alloc.c's use.
+
+2001-01-18  Martin Buchholz  <martin@xemacs.org>
+
+       Improve alignment hackery.
+       * lisp.h (ALIGNOF): Better definition for the non-gcc case.
+       (max_align_t): Moved from opaque.h - general purpose.
+       (ALIGN_PTR): Use size_t, not long.
+       * opaque.h (max_align_t): Move to lisp.h.
+
+2001-01-18  Norbert Koch  <nk@LF.net>
+
+       * gui.h: Fix and add prototypes to fix build problems.
+
+2001-01-18  Martin Buchholz  <martin@xemacs.org>
+
+       temacs is going away, so `dump-temacs' is now a bad name.
+       * .dbxrc (dump-temacs): Rename to `dmp'.
+       * .gdbinit (dump-temacs): Rename to `dmp'.
+
+2001-01-17  Andy Piper  <andy@xemacs.org>
+
+       * glyphs.c (print_image_instance): comment to make martin happy.
+
+       * glyphs-x.c (x_redisplay_widget): update faces after a frame
+       change.
+
+       * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
+       activation.
+       (mswindows_tab_control_redisplay): warning suppression.
+
+       * glyphs-widget.c (widget_update): re-write to cope with updated
+       items.
+       (widget_instantiate): use new gui_item functions.
+       (tab_control_update): deleted.
+       (progress_gauge_update): deleted.
+       (image_instantiator_progress_guage): take out update reference.
+       (image_instantiator_tree_view): ditto.
+       (image_instantiator_tab_control): ditto.
+
+       * gui.c (widget_gui_parse_item_keywords): new function. Do things
+       Right the new way.
+       (gui_item_add_keyval_pair): re-write to cope with descriptors and
+       return whether anything was changed.
+       (update_gui_item_keywords): as it sounds.
+
+       * gui.h: declare widget_gui_parse_item_keywords.
+
+       * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
+       (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
+
+2001-01-17  Martin Buchholz <martin@xemacs.org>
+
+       * XEmacs 21.2.41 "Polyhymnia" is released.
+
+2001-01-16  Didier Verna  <didier@xemacs.org>
+
+       * glyphs.c (image_instantiate): don't use fallbacks when
+       instantiating a face's background pixmap by inheritance.
+
+2001-01-14  Mike Sperber <mike@xemacs.org>
+
+       * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
+       Conditionalize accordingly.
+
+2001-01-16  Martin Buchholz  <martin@xemacs.org>
+
+       * dumper.c (pdump_file_get): Fix a compiler warning.
+
+2001-01-15  Martin Buchholz  <martin@xemacs.org>
+
+       Make Purify happy when pdumping.
+       * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
+       iniitalizing all bits of new lisp object memory.
+       * symbols.c (Fmake_local_variable): Likewise.
+       * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
+       * symbols.c (Fdefvaralias): Likewise.
+       * mule-charset.c (vars_of_mule_charset): Likewise.
+
+2001-01-15  Martin Buchholz  <martin@xemacs.org>
+       Add the `-nd' flag when running pre-dump operations under the debugger.
+       * .dbxrc (run-temacs): Add `-nd'.
+       * .dbxrc (update-elc): Likewise.
+       * .dbxrc (dump-temacs): Likewise.
+       * .gdbinit (run-temacs): Likewise.
+       * .gdbinit (check-temacs): Likewise.
+       * .gdbinit (update-elc): Likewise.
+       * .gdbinit (dump-temacs): Likewise.
+
+2001-01-14  Martin Buchholz  <martin@xemacs.org>
+
+       Allow building 64-bit executables on AIX with GNU malloc, e.g.
+       export OBJECT_MODE=64
+       configure --pdump --use-union-type=no
+       * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
+       * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
+
+       * miscplay.c (sndcnv8U_2mono):
+       Avoid two uses of `++' in the same expression.
+       Suppresses a GCC warning.
+
+2001-01-13  Martin Buchholz  <martin@xemacs.org>
+
+       Make sure future compilers don't miscompile alloc.c.
+       * alloc.c:
+       (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
+       (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
+
+2001-01-12  Martin Buchholz  <martin@xemacs.org>
+
+       * dumper.c: A little post-pdump-rename comment fixup.
+
+2001-01-09  Jerry James  <james@eecs.ku.edu>
+
+       * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
+
+2001-01-13  Martin Buchholz  <martin@xemacs.org>
+
+       * *.[ch]: Globally rename symbols using the following `pdump-rename'
+       script:
+       #!/bin/sh
+       replace_symbol () {
+         (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
+       }
+
+       replace_symbol pdump_wire_lists pdump_weak_object_chains
+       replace_symbol pdump_wire_list dump_add_weak_object_chain
+
+       replace_symbol pdump_wires pdump_root_objects
+       replace_symbol pdump_wire dump_add_root_object
+
+       replace_symbol pdump_dump_wired pdump_dump_from_root_objects
+       replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
+
+       replace_symbol dumpstructinfos pdump_root_struct_ptrs
+       replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
+       replace_symbol dumpstructinfo pdump_root_struct_ptr
+       replace_symbol dumpstruct dump_add_root_struct_ptr
+
+       replace_symbol dumpopaque dump_add_opaque
+       replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
+       replace_symbol dumpopaqueinfos pdump_opaques
+       replace_symbol dumpopaqueinfo pdump_opaque
+
+       replace_symbol nb_structdump nb_root_struct_ptrs
+       replace_symbol nb_opaquedump nb_opaques
+
+       replace_symbol align_table pdump_align_table
+       replace_symbol dump_header pdump_header
+
+       replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
+       replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
+
+
+2001-01-12  Martin Buchholz  <martin@xemacs.org>
+
+       * s/aix4.h: Keep the C for AIX compiler from overaggressively
+       optimizing bytecount_to_charcount().
+
+2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
+
+       * config.h.in:
+       (HAVE_DLFCN_H): Removed.
+       * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
+
+2001-01-06  Martin Buchholz  <martin@xemacs.org>
+
+       Portable dumper maintainability improvements.
+       * alloc.c (staticpro):
+       * alloc.c (staticpro_nodump):
+       * alloc.c (garbage_collect_1):
+       * alloc.c (reinit_alloc_once_early):
+       * alloc.c (init_alloc_once_early):
+       * alloc.c: Move dumper functions to alloc.c.
+       * dumper.c (pdump_backtrace):
+       * dumper.c (pdump_dump_structs):
+       * dumper.c (pdump_dump_opaques):
+       * dumper.c (pdump_dump_rtables):
+       * dumper.c (pdump_dump_wired):
+       * dumper.c (pdump):
+       * dumper.c (pdump_load_check):
+       * dumper.c (pdump_load_finish):
+       * dumper.c (pdump_file_unmap):
+       * dumper.c (pdump_file_get):
+       * dumper.c (pdump_resource_free):
+       * dumper.c (pdump_resource_get):
+       * dumper.c (pdump_file_free):
+       * dumper.c (pdump_file_try):
+       * dumper.c (pdump_load):
+       Remove fixed size limits on staticpro(), staticpro_nodump(),
+       dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
+       Remove custom code for dumping lrecord_implementations_table - use
+       dumpopaque instead.
+       Remove (most of the) custom code for dumping staticpros - dump it
+       like any other dynarr.
+
+       * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
+       * dumper.c: Moved functions from alloc.c.
+       * alloc.c (dumpstruct): Moved to dumper.c.
+       * alloc.c (dumpopaque): Likewise.
+       * alloc.c (pdump_wire): Likewise.
+       * alloc.c (pdump_wire_list): Likewise.
+
+       * lisp.h (Dynarr_sizeof): New.
+       * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
+       * lisp.h (Dynarr_end): New.  Very slightly C++oid.
+       * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
+
+       * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
+       * lisp.h (dumpopaque): ditto.
+       * lisp.h (pdump_wire): ditto.
+       * lisp.h (pdump_wire_list): ditto.
+
+2001-01-09  Martin Buchholz  <martin@xemacs.org>
+
+       * make-src-depend (PrintPatternDeps):
+       Use `sort' to make output independent of perl version.
+
+2001-01-08  Martin Buchholz  <martin@xemacs.org>
+
+       Port to Netbsd 1.5.
+       * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
+       * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
+
+2001-01-03  Didier Verna  <didier@xemacs.org>
+
+       * event-stream.c (emacs_handle_focus_change_preliminary): ensure
+       that `focus_frame' is alive before thinking of calling
+       `redisplay_redraw_cursor' on it.
+
+2001-01-08  Martin Buchholz <martin@xemacs.org>
+
+       * XEmacs 21.2.40 is released.
+
+2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
+
+       * regex.c: Replace PREFETCH with REGEX_PREFETCH.
+
+2001-01-06  Martin Buchholz  <martin@xemacs.org>
+
+       * alloc.c (dbg_valmask): Make const.
+       * alloc.c (dbg_typemask): Make const.
+       * alloc.c (dbg_USE_UNION_TYPE): Make const.
+       * alloc.c (dbg_valbits): Make const.
+       * alloc.c (dbg_gctypebits): Make const.
+
+2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * redisplay-x.c (x_bevel_area):
+       redisplay.h (struct rune):
+       Typo fixes in comments.
+
+2001-01-05  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-x.c (x_redisplay_widget): use size changed for offset
+       adjustment.
+
+       * menubar.c (menubar_visible_p_changed): don't mark frame changed.
+
+2001-01-05  Martin Buchholz  <martin@xemacs.org>
+
+       * alloc.c (pure-bytes-used): Remove unused mendacious variable.
+
+       * mule-ccl.c (stack_idx_of_map_multiple):
+       Non const global data must not be initialized!
+       Found by MIYASHITA Hisashi.
+
+2001-01-02  Andy Piper  <andy@xemacs.org>
+
+       * frame.c (change_frame_size): make sure frame size is always
+       marked as changed.
+
+       * glyphs.c (image_instance_layout): minor code reuse.
+
+       * window.c (Fcurrent_window_configuration): revert previous
+       change.
+
+2001-01-02  Martin Buchholz  <martin@xemacs.org>
+
+       * glyphs.h:
+       * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
+
+2000-12-31  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
+       when widget gets unmapped.
+
+       * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
+       function. Make sure widgets losing focus don't just drop it.
+       (handle_focus_event_1): record the widget with focus.
+
+2000-12-31  Andy Piper  <andy@xemacs.org>
+
+       * window.c (allocate_window): use
+       make_image_instance_cache_hash_table.
+       (make_dummy_parent): ditto.
+       (Fset_window_configuration): ditto.
+
+       * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
+
+       * glyphs.c (process_image_string_instantiator): use
+       INSTANTIATOR_TYPE.
+       (get_image_instantiator_governing_domain): ditto.
+       (normalize_image_instantiator): ditto.
+       (instantiate_image_instantiator): ditto.
+       (make_image_instance_1): ditto.
+       (image_instantiate): ditto. Key on glyph *and* instantiator type.
+       (instantiator_eq_equal): new function for use with instance hash
+       tables.
+       (instantiator_eq_hash): ditto.
+       (make_image_instance_cache_hash_table): create a suitable hash
+       table for storing image instances.
+
+       * elhash.h (hash_table_weakness): new internal weakness type
+       HASH_TABLE_KEY_CAR_VALUE_WEAK.
+       declare new functions.
+
+       * elhash.c (finish_marking_weak_hash_tables): introduce yet
+       another weakness type for glyphs.
+       (make_standard_lisp_hash_table): new function split out from
+       make_general_lisp_hash_table.
+       (make_lisp_hash_table): call make_standard_lisp_hash_table.
+       (hash_table_instantiate): ditto.
+       (Fmake_hash_table): ditto.
+
+2000-12-31  Martin Buchholz <martin@xemacs.org>
+
+       * XEmacs 21.2.39 is released.
+
+2000-12-29  Andy Piper  <andy@xemacs.org>
+
+       * menubar.c (menubar_visible_p_changed): signal the frame changed.
+
+       * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
+       the frame has changed so that we pick up geometry changes such as
+       menubar visibility.
+
+2000-12-28  Andy Piper  <andy@xemacs.org>
+
+       * lastfile.c (my_ebss): make a char array so we can pad the
+       bss. Fixes cygwin unexec.
+
+       * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
+
+2000-12-26  Andy Piper  <andy@xemacs.org>
+
+       * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
+       comments and try and be more precise about a non-/SIGIO world.
+       (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
+       SIGIO.
+
+       * redisplay-output.c (redisplay_normalize_glyph_area): make sure
+       we don't normalize to zero width or height.
+
+2000-12-24  Andy Piper  <andy@xemacs.org>
+
+       * Makefile.in.in (ldflags): add -mwindows when appropriate.
+
+2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
+
+       * s/sco5.h: SCO 5 has pty support.
+
+2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
+
+       * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
+       input-method-xlib.c contains whole contents of input-method-xfs.c,
+       so we can use input-method-xlib.c's code for USE_XFONTSET
+       using #ifdefs.
+       * input-method-xfs.c: removed.
+
+2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
+
+       * file-coding.h (enum coding_category_type): reorder enumerators to
+       make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
+       (now one greater than largest real coding_category_type enumerator).
+       * file-coding.c (coding_category_symbol, coding_category_by_priority,
+       coding_category_system, fcd_descriptihon_1, decode_coding_category,
+       Fcoding_category_list, Fset_coding_priority_list,
+       Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
+       vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
+
+2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
+       * redisplay-output.c (redisplay_output_window): Clear top of window
+       when face is changed.
+       * redisplay-x.c (x_redraw_exposed_window): Call
+       redisplay_clear_top_of_window.
+       * redisplay.h: Publish redisplay_clear_top_of_window.
+
+2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * buffer.c (Fkill_buffer): Map over all devices.
+       * window.c (window_loop): Remove UNSHOW_BUFFER code.
+       (list_windows): New function.
+       (list_all_windows): Ditto.
+       (Freplace_buffer_in_windows): Use them.
+
+2000-02-02   Daiki Ueno        <ueno@ueda.info.waseda.ac.jp>
+
+       * database.c (berkdb_subtype): Recognize new subtype `queue'.
+       (Fopen_database): Use `db_create' instead of `db_open'.
+       (syms_of_database): Initialize Qqueue.
+
+2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * buffer.c (common_init_complex_vars_of_buffer): Initialize
+       buffer_local_face_property.
+       * buffer.h (struct buffer): New member buffer_local_face_property.
+       * window.c (Fset_window_buffer):  Mark window's face as changed
+       when buffer has buffer local face.
+       * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
+       * objects.c (color_after_change): Set buffer_local_face_property
+       when locale of face specifier is buffer.
+       * objects.c (font_after_change): Ditto.
+       * objects.c (face_boolean_after_change): Ditto.
+       * glyphs.c (image_after_change): Ditto.
+
+2000-12-09  Dan Holmsand  <dan@eyebee.com>
+
+       * nt.c (mswindows_fstat): Report file permissions, volume serial
+       number, etc. Code adapted from FSF Emacs 20.7.
+
+2000-12-09  Dan Holmsand  <dan@eyebee.com>
+
+       * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
+       of stat when we don't have symbolic links, to make sure
+       mswindows_stat is called on mswindows.
+
+2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * alloca.c: Define malloc to xmalloc only when built with XEmacs.
+
+2000-12-12  Martin Buchholz  <martin@xemacs.org>
+
+       * doprnt.c (emacs_doprnt_1): More printing fixes.
+       Make printing of numbers compatible with libc and FSF Emacs.
+       BUG was: (format "%6.3f" 1.2) ==>"1.200000"
+       Use the system printf to do most of the hard work of formatting,
+       instead of doprnt_1().
+       Calculate memory to allocate for format string.
+       Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
+       (doprnt_1): Cleaner code and documentation.
+
+2000-12-01  Jerry James  <james@eecs.ukans.edu>
+
+       * Makefile.in.in: Use the loop variable to install headers.
+
+2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * window.c (Fsplit_window): Don't invalidate face cache.
+
+2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * minibuf.c (Fall_completions): Undo the previous change
+       which removed checking elements start with space.
+
+2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
+
+       * mule-canna.c: Didier suppression.
+
+2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
+
+       * mule-canna.c: rename static unsigned char buf[] to key_buffer
+       (warning suppression).  Add English comment translations.
+
+2000-12-05  Martin Buchholz  <martin@xemacs.org>
+
+       * unexelfsgi.c (unexec): Better test for mmap failure.
+
 2000-12-05  Martin Buchholz <martin@xemacs.org>
 
        * XEmacs 21.2.38 is released.
 
 2000-12-05  Martin Buchholz  <martin@xemacs.org>
 
+       * redisplay.c (bar-cursor): Make a user variable.
+
        * symsinit.h: Add init_postgresql_from_environment.
 
 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
        * buffer.c: Make find-file-compare-truenames default to true on
        windows.
 
-       * realpath.c (win32_abs_start): 
+       * realpath.c (win32_abs_start):
        (cygwin_readlink):
        (win32_readlink): New functions.
        (xrealpath): Return really real filenames on windows.
        (fast_string_match): Ditto.
        (search_command): Ditto.
        (search_buffer): Separate boyer_moore.  Check whether
-       boyer_moore is poosible.
+       boyer_moore is possible.
        (simple_search): New function.
        (boyer_moore): Separated from search_buffer. Translate char.