+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
(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.
(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.