X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2FChangeLog;h=5f443166b4760443971fa35d7a59bb255f8197f5;hb=ac155f65fdad732a944b5217c90d8340818e0c0a;hp=1b0370faf57861981a583c7f6cf10e9858caa59e;hpb=4634b02247b427f4e210fb5c98b0ac04648294b4;p=chise%2Fxemacs-chise.git- diff --git a/src/ChangeLog b/src/ChangeLog index 1b0370f..5f44316 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,1559 @@ +2002-08-12 MORIOKA Tomohiko + + * 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 + + * text-coding.c (char_encode_big5): Support entity-reference. + +2002-08-10 MORIOKA Tomohiko + + * text-coding.c (char_encode_as_entity_reference): New function. + (char_encode_utf8): Use `char_encode_as_entity_reference'. + +2002-08-09 MORIOKA Tomohiko + + * text-coding.c (decode_coding_big5): Support entity-reference + decoding feature. + +2002-08-09 MORIOKA Tomohiko + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * chartab.c (Fclose_char_attribute_table): Set Qnil on + `ct->db_file' unconditionally. + +2002-07-01 MORIOKA Tomohiko + + * 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 + + * 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 + + * database.h: Add an EXFUN for `Fdatabase_live_p'. + +2002-04-11 MORIOKA Tomohiko + + * 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 + + * 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 + + * 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 + + * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19. + +2002-03-15 MORIOKA Tomohiko + + * 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 + + * 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 + + * config.h.in (UTF2000): Add comment. + (HAVE_CHISE_CLIENT): New macro. + +2002-02-25 MORIOKA Tomohiko + + * 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 + + * 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 + + * char-ucs.h (DECODE_DEFINED_CHAR): Don't check + `XCHARSET_GRAPHIC(ccs)'. + +2002-02-12 MORIOKA Tomohiko + + * mule-charset.c (Fsave_charset_mapping_table): Fixed. + +2002-02-11 MORIOKA Tomohiko + + * 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 + + * 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 + + * chartab.c (load_char_attribute_maybe): Don't make directories. + +2002-02-11 MORIOKA Tomohiko + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 '# into + Qunloaded. + +2002-01-21 MORIOKA Tomohiko + + * 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 + + * 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 + + * 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 + + * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000 + extension. + +2001-12-31 MORIOKA Tomohiko + + * mule-charset.c (decode_builtin_char): Support mother charsets. + +2001-12-31 MORIOKA Tomohiko + + * 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 + + * mule-charset.c (charset_code_point): Unify code about + `code-offset'. + +2001-12-30 MORIOKA Tomohiko + + * 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 + + * 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 + + * mule-charset.c (range_charset_code_point): Fixed. + +2001-12-26 MORIOKA Tomohiko + + * 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 + + * mule-charset.c (Fencode_char): Reverse arguments. + + * mule-charset.c (charset_code_point): Fixed. + +2001-12-25 MORIOKA Tomohiko + + * 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 + + * lread.c (read_compiled_function): Fix prototype. + (read_vector): Likewise. + +2001-12-10 MORIOKA Tomohiko + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when + utf-2000. + +2001-11-20 MORIOKA Tomohiko + + * 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 + + * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL + (cs) == 0. + +2001-11-14 MORIOKA Tomohiko + + * text-coding.c (char_encode_big5): Prefer charset-g1 than + `chinese-big5'. + +2001-11-05 MORIOKA Tomohiko + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs + UTF-2000. + +2001-09-07 MORIOKA Tomohiko + + * 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 + + * 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 + + * chartab.c (put_char_id_table): Use `put_char_table'. + +2001-09-07 MORIOKA Tomohiko + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18. + +2001-09-04 MORIOKA Tomohiko + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * mule-charset.c (Fdecode_char): Fixed. + +2001-07-22 MORIOKA Tomohiko + + * 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 + + * 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 + + * 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 + + * 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 * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower' @@ -2772,12 +4328,807 @@ (Vcharset_thai_tis620): Likewise. (Vcharset_katakana_jisx0201): Likewise. +2001-02-08 Martin Buchholz + + * XEmacs 21.2.44 "Thalia" is released. + +2001-02-06 Martin Buchholz + + 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 + + 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 + + * elhash.c (make_general_lisp_hash_table): + Use simpler and more efficient calloc to clear entries. + +2001-02-07 Martin Buchholz + + * window.c (window_scroll): Work around an AIX C compiler bug. + Fixes 'scroll-up' does nothing problem with xlC. + +2001-02-05 Martin Buchholz + + * .gdbinit: Remove obsolete comment. + +2001-01-31 Mike Alexander + + * select.c (Fown_selection_internal): Set owned_p for device + method correctly. + +2001-02-01 Martin Buchholz + + 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 + + * lisp-disunion.h: Fix up comments. + +2001-01-31 Martin Buchholz + + * 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 + + * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD. + +2001-01-30 Martin Buchholz + + 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 + + * glyphs-widget.c (check_valid_int_or_function): allow symbols + since they can be eval'ed + +2001-01-29 Martin Buchholz + + * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers. + Oops, XEmacs redefines `class'. Use `typename' instead. + +2001-01-28 Martin Buchholz + + * dumper.c: Fix C++ compile errors. + +2001-01-29 Martin Buchholz + + * tparam.c: Use correct prototypes. + +2001-01-28 Martin Buchholz + + * sysproc.h: #include util.h for NetBSD's openpty. + +2001-01-27 Martin Buchholz + + 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 + + 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 + + * XEmacs 21.2.43 "Terspichore" is released. + +2001-01-25 Martin Buchholz + + 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 + + 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 + + * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h + +2001-01-23 Andy Piper + + * 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 + + * specifier.h (specifier_data_offset): Remove pointless parens. + * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise. + +2001-01-24 Martin Buchholz + + 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 + + * lstream.h (struct lstream): Use max_align_t for trailing data. + * specifier.h (struct Lisp_Specifier): Likewise. + +2001-01-22 Martin Buchholz + + * 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 + + 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 + + * lisp.h (ALIGNOF): A better definition for C++. + +2001-01-20 Martin Buchholz + + 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 + + * XEmacs 21.2.42 "Poseidon" is released. + +2001-01-20 Martin Buchholz + + * console-x.h: typo fix du jour. Remove #if 0'ed code. + +2001-01-19 Martin Buchholz + + 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 + + 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 + + * gui.h: Fix and add prototypes to fix build problems. + +2001-01-18 Martin Buchholz + + 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 + + * 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 + + * XEmacs 21.2.41 "Polyhymnia" is released. + +2001-01-16 Didier Verna + + * glyphs.c (image_instantiate): don't use fallbacks when + instantiating a face's background pixmap by inheritance. + +2001-01-14 Mike Sperber + + * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK. + Conditionalize accordingly. + +2001-01-16 Martin Buchholz + + * dumper.c (pdump_file_get): Fix a compiler warning. + +2001-01-15 Martin Buchholz + + 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 + 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 + + 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 + + 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 + + * dumper.c: A little post-pdump-rename comment fixup. + +2001-01-09 Jerry James + + * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use. + +2001-01-13 Martin Buchholz + + * *.[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/(? + + * s/aix4.h: Keep the C for AIX compiler from overaggressively + optimizing bytecount_to_charcount(). + +2001-01-06 Golubev I. N. + + * config.h.in: + (HAVE_DLFCN_H): Removed. + * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H. + +2001-01-06 Martin Buchholz + + 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 + + * make-src-depend (PrintPatternDeps): + Use `sort' to make output independent of perl version. + +2001-01-08 Martin Buchholz + + 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 + + * 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 + + * XEmacs 21.2.40 is released. + +2001-01-06 Golubev I. N. + + * regex.c: Replace PREFETCH with REGEX_PREFETCH. + +2001-01-06 Martin Buchholz + + * 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 + + * redisplay-x.c (x_bevel_area): + redisplay.h (struct rune): + Typo fixes in comments. + +2001-01-05 Andy Piper + + * 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 + + * 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 + + * 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 + + * glyphs.h: + * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes. + +2000-12-31 Andy Piper + + * 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 + + * 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 + + * XEmacs 21.2.39 is released. + +2000-12-29 Andy Piper + + * 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 + + * 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 + + * 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 + + * Makefile.in.in (ldflags): add -mwindows when appropriate. + +2000-08-18 Golubev I. N. + + * s/sco5.h: SCO 5 has pty support. + +2000-07-20 Kazuyuki IENAGA + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * nt.c (mswindows_fstat): Report file permissions, volume serial + number, etc. Code adapted from FSF Emacs 20.7. + +2000-12-09 Dan Holmsand + + * 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 + + * alloca.c: Define malloc to xmalloc only when built with XEmacs. + +2000-12-12 Martin Buchholz + + * 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 + + * Makefile.in.in: Use the loop variable to install headers. + +2000-12-04 Yoshiki Hayashi + + * window.c (Fsplit_window): Don't invalidate face cache. + +2000-12-04 Yoshiki Hayashi + + * minibuf.c (Fall_completions): Undo the previous change + which removed checking elements start with space. + +2000-12-06 Stephen Turnbull + + * mule-canna.c: Didier suppression. + +2000-12-06 Stephen Turnbull + + * mule-canna.c: rename static unsigned char buf[] to key_buffer + (warning suppression). Add English comment translations. + +2000-12-05 Martin Buchholz + + * unexelfsgi.c (unexec): Better test for mmap failure. + 2000-12-05 Martin Buchholz * XEmacs 21.2.38 is released. 2000-12-05 Martin Buchholz + * redisplay.c (bar-cursor): Make a user variable. + * symsinit.h: Add init_postgresql_from_environment. 2000-12-04 Yoshiki Hayashi @@ -2809,7 +5160,7 @@ * 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. @@ -2866,7 +5217,7 @@ (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.