X-Git-Url: http://git.chise.org/gitweb/?p=chise%2Fxemacs-chise.git.1;a=blobdiff_plain;f=src%2FChangeLog;h=604752200aea55a92c8001f1924cf4eeb5a2a31b;hp=16e7d554bbc64fac02ff82607553fbfb6817f4ed;hb=a5812bf2ff9a9cf40f4ff78dcb83f5b4c295bd18;hpb=40402600969429d5253e62c6314a3eebbb21f027 diff --git a/src/ChangeLog b/src/ChangeLog index 16e7d55..6047522 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,6618 @@ +2003-03-09 MORIOKA Tomohiko + + * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead + of `ucs'. + (Qmap_ucs): New variable. + (syms_of_mule_charset): Add new symbol `=ucs'. + (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'. + + * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'. + (simplify_char_spec): Likewise. + + * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'. + + * char-ucs.h (Qmap_ucs): New extern variable. + +2003-03-07 MORIOKA Tomohiko + + * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'. + (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990'; + don't define it when UTF2000 is not defined. + (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename + `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it + when UTF2000 is not defined. + (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208'; + rename `japanese-jisx0208-1990' to `=jis-x0208-1990'. + +2003-03-05 MORIOKA Tomohiko + + * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted. + + * mule-charset.c (Vcharset_ucs_gb): Deleted. + (Qucs_gb): Deleted. + (syms_of_mule_charset): Delete `ucs-gb'. + (complex_vars_of_mule_charset): Likewise. + +2003-03-04 MORIOKA Tomohiko + + * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted. + + * mule-charset.c (Vcharset_ucs_cns): Deleted. + (Qucs_cns): Deleted. + (syms_of_mule_charset): Delete `ucs-cns'. + (complex_vars_of_mule_charset): Likewise. + +2003-03-03 MORIOKA Tomohiko + + * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted. + + * mule-charset.c (Vcharset_ucs_jis): Deleted. + (Qucs_jis): Deleted. + (syms_of_mule_charset): Delete `ucs-jis'. + (complex_vars_of_mule_charset): Likewise. + +2003-03-02 MORIOKA Tomohiko + + * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted. + + * mule-charset.c (Vcharset_ucs_ks): Deleted. + (Qucs_ks): Deleted. + (syms_of_mule_charset): Delete `ucs-ks'. + (complex_vars_of_mule_charset): Likewise. + +2003-03-01 MORIOKA Tomohiko + + * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted. + (Qideograph_daikanwa_2): Deleted. + (syms_of_mule_charset): Delete `ideograph-daikanwa-2'. + (complex_vars_of_mule_charset): Likewise. + + * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted. + (LEADING_BYTE_DAIKANWA_1): Deleted. + (LEADING_BYTE_DAIKANWA_2): Deleted. + (MIN_CHAR_DAIKANWA): Deleted. + (MAX_CHAR_DAIKANWA): Deleted. + +2003-02-27 MORIOKA Tomohiko + + * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted. + (LEADING_BYTE_HANZIKU_{1..12}): Deleted. + ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted. + + * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted. + (Vcharset_ideograph_daikanwa): Deleted. + (Qideograph_hanziku_{1..12}): Deleted. + (Qideograph_daikanwa): Deleted. + (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and + Vcharset_ideograph_daikanwa. + (syms_of_mule_charset): Delete `ideograph-daikanwa' and + `ideograph-hanziku-{1..12}'. + (complex_vars_of_mule_charset): Likewise. + +2003-02-26 MORIOKA Tomohiko + + * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted. + + * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted. + (Qideograph_gt_pj_{1..11}): Deleted. + (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'. + (complex_vars_of_mule_charset): Likewise. + +2003-02-17 MORIOKA Tomohiko + + * mule-charset.c (Vcharset_ucs_big5): Deleted. + (Vcharset_ideograph_gt): Deleted. + (Qucs_big5): Deleted. + (Qideograph_gt): Deleted. + (syms_of_mule_charset): Delete symbol `ucs-big5' and + `ideograph-gt'. + (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5' + and `ideograph-gt'. + + * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted. + (LEADING_BYTE_GT): Deleted. + (MIN_CHAR_GT): Deleted. + (MAX_CHAR_GT): Deleted. + +2003-02-07 MORIOKA Tomohiko + + * chartab.c (Fput_char_attribute): Canonicalise charset-aliases. + +2003-01-08 MORIOKA Tomohiko + + * chartab.c (save_uint8_byte_table): Add new argument `filter'. + (save_uint16_byte_table): Likewise. + (save_byte_table): Likewise; convert values by it. + (Fput_char_attribute): Don't use `char-refs-simplify-char-specs' + for `ideographic-structure'. + (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs' + as the filter for `ideographic-structure'. + +2003-01-07 MORIOKA Tomohiko + + * chartab.c (put_char_composition): New function. + (Fput_char_attribute): Use `put_char_composition'; use + `Fchar_refs_simplify_char_specs' for `ideographic-structure'. + + * fns.c (simplify_char_spec): New function. + (char_ref_simplify_spec): New function. + (Fchar_refs_simplify_char_specs): New function. + (syms_of_fns): Add new builtin function + `char-refs-simplify-char-specs'. + +2003-01-05 MORIOKA Tomohiko + + * mule-charset.c (Vcharset_ideograph_cbeta): Deleted. + (Qideograph_cbeta): Deleted. + (syms_of_mule_charset): Don't define `ideograph-cbeta'. + (complex_vars_of_mule_charset): Likewise. + + * char-ucs.h (LEADING_BYTE_CBETA): Deleted. + (MIN_CHAR_CBETA): Comment out. + (MAX_CHAR_CBETA): Likewise. + +2002-12-30 MORIOKA Tomohiko + + * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use + `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the + CHISE client feature. + +2002-12-25 MORIOKA Tomohiko + + * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20. + +2002-12-19 MORIOKA Tomohiko + + * mule-charset.c (charset_lookup_description_1): Use + `NUM_LEADING_BYTES' in UTF-2000. + +2002-12-18 MORIOKA Tomohiko + + * char-ucs.h (GC_CHARSETP): Deleted. + +2002-12-18 MORIOKA Tomohiko + + * char-ucs.h (MAX_CHAR_GT): Updated. + +2002-12-15 MORIOKA Tomohiko + + * text-coding.c: Sync with XEmacs 21.4.10. + +2002-11-29 MORIOKA Tomohiko + + * mule-charset.c (Vcharset_china3_jef): Deleted. + (Qchina3_jef): Deleted. + (syms_of_mule_charset): Don't define `china3-jef'. + (complex_vars_of_mule_charset): Likewise. + + * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted. + (MIN_CHAR_CHINA3_JEF): Comment out. + (MAX_CHAR_CHINA3_JEF): Comment out. + +2002-11-26 MORIOKA Tomohiko + + * mule-charset.c (Vcharset_ucs_gb): New variable. + (Qucs_gb): New variable. + (syms_of_mule_charset): Add new symbol `ucs-gb'. + (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'. + + * char-ucs.h (LEADING_BYTE_UCS_GB): New macro. + +2002-11-20 MORIOKA Tomohiko + + * mule-charset.c (charset_code_point): if a coded-charset has a + final-byte, don't inherit the builtin range of the mother CCS. + +2002-11-15 MORIOKA Tomohiko + + * mule-charset.c (charset_code_point): Fix problem about + inheritance. + +2002-11-14 MORIOKA Tomohiko + + * mule-charset.c (decode_builtin_char): Reorganized. + +2002-10-31 MORIOKA Tomohiko + + * text-coding.c (char_encode_as_entity_reference): Modify for + `charset_code_point'. + (char_encode_shift_jis): Likewise. + (char_encode_big5): Likewise. + (char_encode_utf8): Likewise. + (char_encode_iso2022): Likewise. + + * mule-charset.c (charset_code_point): Add new argument + `defined_only'. + (Fencode_char): Add new optional argument `defined_only'. + + * chartab.c (put_char_table): Modify for `charset_code_point'. + + * char-ucs.h (charset_code_point): Add new argument + `defined_only'. + (encode_char_1): Modify for `charset_code_point'. + +2002-10-30 MORIOKA Tomohiko + + * mule-charset.c (complex_vars_of_mule_charset): Don't specify + `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'. + +2002-10-29 MORIOKA Tomohiko + + * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000. + (Qjis_x0208): Likewise. + (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than + XCHARSET_FINAL(charset). + (charset_code_point): Modify condition for final-byte based + builtin-chars. + (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000. + (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208' + in UTF-2000; specify `=jis-x0208' as the mother of + `japanese-jisx0208-1978', `japanese-jisx0208' and + `japanese-jisx0208-1990' in UTF-2000. + +2002-10-27 MORIOKA Tomohiko + + * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro. + +2002-10-29 MORIOKA Tomohiko + + * text-coding.c (decode_coding_utf16): Support UTF-16. + (char_encode_utf16): Fixed. + +2002-10-03 MORIOKA Tomohiko + + * text-coding.c (Qutf16): New variable in MULE. + (Fmake_coding_system): Accept `utf-16' as `type' in MULE. + (Fcoding_system_type): Add `utf-16' in MULE. + (struct detection_state): Add a structure for utf16 in MULE. + (detect_coding_type): Setup st->utf16.mask in MULE. + (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in + MULE. + (reset_encoding_stream): Use `char_encode_utf16' and + `char_finish_utf16' for `CODESYS_UTF16' in MULE. + (detect_coding_utf16): New function [incomplete]. + (decode_coding_utf16): New function [support only UCS-2]. + (char_encode_utf16): New function. + (char_finish_utf16): New function. + (syms_of_file_coding): Add new symbol `utf-16'; setup + `coding_category_symbol[CODING_CATEGORY_UTF16]'. + + * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in + UTF-2000. + (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE. + (CODING_CATEGORY_UTF16_MASK): New macro in MULE. + +2002-10-08 MORIOKA Tomohiko + + * chartab.c (put_char_table): When a charset is specified as a + range in UTF-2000, don't support builtin characters. + +2002-09-30 MORIOKA Tomohiko + + * mule-charset.c (decode_defined_char): Don't refer external + database if Qunbound or Qnil are found. + (Fsave_charset_mapping_table): Don't define it if + HAVE_CHISE_CLIENT is not defined. + (Freset_charset_mapping_table): New function. + (load_char_decoding_entry_maybe): Store Qnil if a character is not + found in external database. + (syms_of_mule_charset): Don't define `save-charset-mapping-table' + if HAVE_CHISE_CLIENT is not defined; add new builtin function + `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined. + +2002-09-18 MORIOKA Tomohiko + + * text-coding.c (decode_coding_utf8): Check CCS is specified or + not. + +2002-08-26 MORIOKA Tomohiko + + * chartab.h: Add extern declarations for Qdowncase, Qflippedcase, + Q_lowercase, Q_uppercase in UTF-2000. + + * chartab.c (get_char_table): Add special code for the standard + case table to use character attribute `->downcase' and + `->uppercase' for case operations in UTF-2000. + + * casetab.c (Qflippedcase): New variable in UTF-2000. + (Q_lowercase): Likewise. + (Q_uppercase): Likewise. + (syms_of_casetab): Add new symbols `flippedcase', `->lowercase' + and `->uppercase' in UTF-2000. + (complex_vars_of_casetab): Assign attribute name `downcase' to + downcase and CANON table of Vstandard_case_table in UTF-2000; + assign attribute name `flippedcase' to upcase and EQV table of + Vstandard_case_table in UTF-2000. + +2002-08-20 MORIOKA Tomohiko + + * text-coding.c (decode_add_er_char): Support isolated-chars. + (char_encode_as_entity_reference): Likewise. + +2002-08-13 MORIOKA Tomohiko + + * emacs.c (Vutf_2000_lisp_directory): New variable. + (Vconfigure_utf_2000_lisp_directory): Likewise. + (complex_vars_of_emacs): Add new variable + `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'. + +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' + and `latin-viscii-upper' for `latin-viscii'. + +2001-07-11 MORIOKA Tomohiko + + * mule-charset.c (Fdecode_builtin_char): Comment out + regularization code for ISO-IR GR representation. + +2001-07-11 MORIOKA Tomohiko + + * mule-charset.c (decode_builtin_char): New function; renamed from + `make_builtin_char'; return -1 instead of signal. + (Fdecode_builtin_char): Use `decode_builtin_char'. + + * char-ucs.h (decode_builtin_char): New prototype; renamed from + `make_builtin_char'. + (DECODE_CHAR): Use `decode_builtin_char' instead of + `make_builtin_char'; use mapping table of `chinese-big5' for + `chinese-big5-{1,2}'. + +2001-07-11 MORIOKA Tomohiko + + * text-coding.c (char_encode_big5): New function. + (char_finish_big5): Likewise. + (reset_encoding_stream): Use `char_encode_big5' and + `char_finish_big5' for CODESYS_BIG5. + (mule_encode): Don't use `encode_coding_big5'. + (encode_coding_big5): Deleted. + +2001-07-11 MORIOKA Tomohiko + + * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area + 0x81- in XEmacs UTF-2000. + (detect_coding_big5): Likewise. + +2001-07-09 MORIOKA Tomohiko + + * mule-charset.c (Fdefine_char): Don't use a CCS property to + generate character-id if the CCS property does not have + corresponding predefined character. + (make_builtin_char): Return -1 if corresponding predefined + character is not found. + (Fdecode_char): Return nil if corresponding character is not + found. + (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and + don't map to builtin ucs space. + +2001-07-06 MORIOKA Tomohiko + + * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed. + (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'. + +2001-07-05 MORIOKA Tomohiko + + * mule-charset.c (Vcharset_ideograph_gt): New variable. + (Vcharset_ideograph_gt_pj_{1..11}): Likewise. + (Qideograph_gt): Likewise. + (Qideograph_gt_pj_{1..11}): Likewise. + (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1', + `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and + `ideograph-gt-pj-11'. + (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt', + `ideograph-gt-pj-1', `ideograph-gt-pj-2', ..., + `ideograph-gt-pj-10' and `ideograph-gt-pj-11'. + + * char-ucs.h (LEADING_BYTE_GT): New macro. + (LEADING_BYTE_GT_PJ_{1..11}): Likewise. + (MIN_CHAR_GT): Likewise. + (MAX_CHAR_GT): Likewise. + +2001-06-14 MORIOKA Tomohiko + + * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to + support U-60000000 .. U-7FFFFFFF with 32 bits architecture. + + * doprnt.c (unsigned_int_converters): Add `c'. + (emacs_doprnt_1): Use `XUINT' for unsigned integers. + + * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'. + (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of + `MIN_CHAR_MOJIKYO'. + (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'. + (MAX_CHAR_MOJIKYO_0): New macro. + (MIN_CHAR_MOJIKYO): Changed to 0x60000000. + +2001-06-13 MORIOKA Tomohiko + + * mule-charset.c (Fdefine_char): Delete cemented out code. + (encode_builtin_char_1): Modify for new allocation of builtin + Mojikyo characters. + + * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT. + +2001-06-04 MORIOKA Tomohiko + + * mule-charset.c (Vcharset_ucs_cns): New variable. + (Qucs_cns): New variable. + (syms_of_mule_charset): Add new symbol `ucs-cns'. + (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'. + +2001-05-29 MORIOKA Tomohiko + + * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro. + +2000-12-09 MORIOKA Tomohiko + + * search.c (search_buffer): Make `charset_base_code' as + character-id >> 6 to eliminate the corresponding last byte in + UTF-8 representation [I'm not sure it is right thing]. + (boyer_moore): Likewise. + +2000-12-09 MORIOKA Tomohiko + + * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal + representation in MULE. + +2000-11-29 MORIOKA Tomohiko + + * text-coding.c (Fmake_coding_system): Use + `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of + `EXTERNAL_PROPERTY_LIST_LOOP'. + +2000-11-28 MORIOKA Tomohiko + + * text-coding.c (decode_output_utf8_partial_char): New function. + (decode_coding_utf8): Use `decode_output_utf8_partial_char'. + +2000-11-28 MORIOKA Tomohiko + + * text-coding.c (decode_coding_utf8): Output original byte + sequence if it is broken; change order of conditions. + + * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order + of conditions. + + * mb-multibyte.h (BYTE_ASCII_P): + Use bit ops for char-signedness safety. + (BYTE_C0_P): Use bit ops for char-signedness safety. + (BYTE_C1_P): Use bit ops for char-signedness safety. + + * character.h: (XCHAR_OR_CHAR_INT): + Always use inline function. + Remove redundant type checking assert() - XINT will abort quite + nicely. + +2000-11-27 MORIOKA Tomohiko + + * text-coding.c: (Fencode_shift_jis_char): + (Fencode_big5_char): + Docstring arglist/Texinfo fixes. See man/ChangeLog for details. + Replace 0 with '\0' when working with bytes. + Replace initial "(" with "\(" in docstrings. + + (Fmake_coding_system): + When type is ccl and value is vector, register it with a proper + symbol. And checks whether the given ccl program is valid. + (mule_decode): When calling ccl_driver, if src indicates + NULL pointer, set an empty string instead. + (mule_encode): Likewise. + + (detect_eol_type): + (detect_coding_sjis): + (decode_coding_sjis): + (detect_coding_big5): + (decode_coding_big5): + (detect_coding_ucs4): + (decode_coding_ucs4): + (detect_coding_utf8): + (decode_coding_utf8): + (detect_coding_iso2022): + (decode_coding_iso2022): + (decode_coding_no_conversion): + (mule_decode): + Make all detecting and decoding functions take an Extbyte * arg. + (text_encode_generic): + (encode_coding_big5): + (encode_coding_no_conversion): + (mule_encode): + Make all encoding functions take a Bufbyte * arg. + Use size_t instead of unsigned int for memory sizes. + Only cast to unsigned char whenever dereferencing Extbyte *. + + (struct lrecord_description fcd_description_1): Use countof. + (complex_vars_of_file_coding): + Use countof instead of sizeof. + Use CHECK_NATNUM instead of CHECK_INT. + +2000-11-09 MORIOKA Tomohiko + + * mule-charset.c (Fget_char_attribute): Add new optional argument + `default-value'. + (put_char_ccs_code_point): Modify for `Fget_char_attribute'. + (remove_char_ccs): Likewise. + +2000-10-05 MORIOKA Tomohiko + + * text-coding.c (char_encode_shift_jis): New implementation in + UTF-2000. + (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5, + ...)'. + + * mule-charset.c (Vcharset_chinese_big5): New variable in + UTF-2000. + (Qchinese_big5): New variable in UTF-2000. + (BIG5_SAME_ROW): New macro in UTF-2000. + (make_builtin_char): Use builtin characters of + `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin + characters of `Vcharset_chinese_big5'. + (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000. + (complex_vars_of_mule_charset): Add new coded-charset + `chinese-big5' in UTF-2000. + + * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro. + (Vcharset_chinese_big5): New external variable declaration. + (Vcharset_japanese_jisx0208_1990): Likewise. + +2000-07-28 MORIOKA Tomohiko + + * mule-charset.c (expand_uint8_byte_table_to_uint16): New + function. + (put_byte_table): Use `expand_uint8_byte_table_to_uint16'. + +2000-07-26 MORIOKA Tomohiko + + * mule-charset.c (complex_vars_of_mule_charset): Define new macro + `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define + `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of + `mojikyo-pj-*'. + +2000-07-24 MORIOKA Tomohiko + + * text-coding.c (decode_coding_big5): Modify for UTF-2000. + +2000-07-24 MORIOKA Tomohiko + + * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version' + to 0.17. + +2000-07-22 MORIOKA Tomohiko + + * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify + for `CHARSET_BY_ATTRIBUTES'. + (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for + `CHARSET_BY_ATTRIBUTES'. + + * text-coding.c (struct decoding_stream): Rename member `CH' to + `CPOS'. + (reset_decoding_stream): Use `str->cpos' instead of `str->ch'. + (decode_coding_sjis): Likewise. + (decode_coding_big5): Likewise. + (decode_coding_ucs4): Likewise. + (decode_coding_utf8): Likewise. + (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for + `CHARSET_BY_ATTRIBUTES'. + (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use + `str->counter'; decode 3, 4 bytes sets. + (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes + sets. + (decode_coding_no_conversion): Use `str->cpos' instead of + `str->ch'. + + * mule-charset.c (Vcharset_mojikyo_2022_1): New variable. + (Qmojikyo_2022_1): New variable. + (make_charset): Don't use `CHARSET_TYPE_*'. + (range_charset_code_point): Support coded-charset + `mojikyo-2022-1'. + (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'. + (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for + `CHARSET_BY_ATTRIBUTES'. + (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for + `CHARSET_BY_ATTRIBUTES'. + (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'. + (complex_vars_of_mule_charset): Add new coded-charset + `mojikyo-2022-1'. + + * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and + interface; changed to inline function. + + * char-ucs.h (Vcharset_mojikyo_2022_1): New variable. + (LEADING_BYTE_MOJIKYO_2022_1): New macro. + (LEADING_BYTE_MOJIKYO_2022_2): New macro. + (CHARSET_TYPE_94): Deleted. + (CHARSET_TYPE_94X94): Deleted. + (CHARSET_TYPE_96): Deleted. + (CHARSET_TYPE_96X96): Deleted. + (CHARSET_TYPE_128): Deleted. + (CHARSET_TYPE_128X128): Deleted. + (CHARSET_TYPE_256): Deleted. + (CHARSET_TYPE_256X256): Deleted. + (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed + to inline function. + (DECODE_MOJIKYO_2022): New inline function. + (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode + `Vcharset_mojikyo_2022_1'. + +2000-07-18 MORIOKA Tomohiko + + * mule-charset.c (byte_table_same_value_p): Use `internal_equal' + instead of `EQ'. + (put_byte_table): Likewise. + (char_id_table_equal): Use `get_byte_table' [new implementation]. + +2000-07-17 MORIOKA Tomohiko + + * mule-charset.c: Include in UTF-2000. + (BT_UINT8_MIN): New macro in UTF-2000. + (BT_UINT8_MAX): New macro in UTF-2000. + (BT_UINT8_t): New macro in UTF-2000. + (BT_UINT8_nil): New macro in UTF-2000. + (BT_UINT8_unbound): New macro in UTF-2000. + (INT_UINT8_P): New inline function in UTF-2000. + (UINT8_VALUE_P): New inline function in UTF-2000. + (UINT8_ENCODE): New inline function in UTF-2000. + (UINT8_DECODE): New inline function in UTF-2000. + (mark_uint8_byte_table): New function in UTF-2000. + (print_uint8_byte_table): New function in UTF-2000. + (uint8_byte_table_equal): New function in UTF-2000. + (uint8_byte_table_hash): New function in UTF-2000. + (make_uint8_byte_table): New function in UTF-2000. + (uint8_byte_table_same_value_p): New function in UTF-2000. + (BT_UINT16_MIN): New macro in UTF-2000. + (BT_UINT16_MAX): New macro in UTF-2000. + (BT_UINT16_t): New macro in UTF-2000. + (BT_UINT16_nil): New macro in UTF-2000. + (BT_UINT16_unbound): New macro in UTF-2000. + (INT_UINT16_P): New inline function in UTF-2000. + (UINT16_VALUE_P): New inline function in UTF-2000. + (UINT16_ENCODE): New inline function in UTF-2000. + (UINT16_DECODE): New inline function in UTF-2000. + (UINT8_TO_UINT16): New inline function in UTF-2000. + (mark_uint16_byte_table): New function in UTF-2000. + (print_uint16_byte_table): New function in UTF-2000. + (uint16_byte_table_equal): New function in UTF-2000. + (uint16_byte_table_hash): New function in UTF-2000. + (make_uint16_byte_table): New function in UTF-2000. + (uint16_byte_table_same_value_p): New function in UTF-2000. + (print_byte_table): New function in UTF-2000. + (byte-table): Use `print_byte_table' as printer. + (make_byte_table): Delete second argument `older'. + (byte_table_same_value_p): New function in UTF-2000. + (copy_byte_table): Deleted. + (get_byte_table): New function in UTF-2000. + (put_byte_table): New function in UTF-2000. + (print_char_id_table): New function in UTF-2000. + (char-id-table): Use `print_char_id_table' as printer. + (make_char_id_table): Delete second argument `older'. + (get_char_id_table): Use `get_byte_table [new implementation]. + (put_char_id_table): Use `get_byte_table and `put_byte_table' [new + implementation]. + (Ffind_char_attribute_table): New function in UTF-2000. + (mark_charset): Mark `cs->encoding_table' in UTF-2000. + (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION + `uint8_byte_table' and `uint16_byte_table' in UTF-2000. + (syms_of_mule_charset): Add new function + `find-char-attribute-table' in UTF-2000. + + * lrecord.h (enum lrecord_type): Add + `lrecord_type_uint16_byte_table' and + `lrecord_type_uint8_byte_table'. + + * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure. + (Lisp_Uint8_Byte_Table): New type. + (XUINT8_BYTE_TABLE): New macro. + (XSETUINT8_BYTE_TABLE): New macro. + (UINT8_BYTE_TABLE_P): New macro. + (GC_UINT8_BYTE_TABLE_P): New macro. + (struct Lisp_Uint16_Byte_Table): New structure. + (Lisp_Uint16_Byte_Table): New type. + (XUINT16_BYTE_TABLE): New macro. + (XSETUINT16_BYTE_TABLE): New macro. + (UINT16_BYTE_TABLE_P): New macro. + (GC_UINT16_BYTE_TABLE_P): New macro. + +2000-07-13 MORIOKA Tomohiko + + * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted. + (Vcharacter_ideographic_strokes_table): Deleted. + (Vcharacter_total_strokes_table): Deleted. + (Vcharacter_morohashi_daikanwa_table): Deleted. + (Vcharacter_decomposition_table): Deleted. + (Qname): Deleted because it is duplicated. + (Qideographic_radical): Deleted. + (Qideographic_strokes): Deleted. + (Qtotal_strokes): Deleted. + (Qmorohashi_daikanwa): Deleted. + (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for + `ideographic-radical', `ideographic-strokes', `total-strokes', + `morohashi-daikanwa' and `->decomposition'. + (Fget_char_attribute): Likewise. + (Fput_char_attribute): Likewise; use `make-vector' instead of + `make_older_vector' for `->decomposition' value. + (Fdefine_char): Comment out code to check `morohashi-daikanwa' and + `ideograph-daikanwa'. + (syms_of_mule_charset): Delete builtin symbols `name', + `ideographic-radical', `ideographic-strokes', `total-strokes' and + `morohashi-daikanwa'. + (vars_of_mule_charset): Don't setup + `Vcharacter_ideographic_radical_table', + `Vcharacter_ideographic_strokes_table', + `Vcharacter_total_strokes_table', + `Vcharacter_morohashi_daikanwa_table' and + `Vcharacter_decomposition_table'. + +2000-06-30 MORIOKA Tomohiko + + * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for + `make_older_vector', `make_vector_newer_1' and + `make_vector_newer'. + + * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for + `make_older_vector' and `make_vector_newer'. + + * config.h.in (HAVE_GGC): New macro. + +2000-06-16 MORIOKA Tomohiko + + * mule-charset.c (struct char_attribute_list_closure): New + structure in UTF-2000. + (add_char_attribute_to_list_mapper): New function in UTF-2000. + (Fchar_attribute_list): Likewise. + (Fset_charset_mapping_table): Use `make_vector_newer'. + (Fdecode_builtin_char): New function in UTF-2000. + (syms_of_mule_charset): Add new function `char-attribute-list' and + `decode-builtin-char' in UTF-2000. + + * lisp.h (make_vector_newer): New prototype. + + * alloc.c (make_vector_newer_1): New function. + (make_vector_newer): New function. + +2000-06-14 MORIOKA Tomohiko + + * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO + + 50100)'. + +2000-06-12 MORIOKA Tomohiko + + * mule-charset.c (Vchar_attribute_hash_table): New variable. + (Vcharacter_attribute_table): Deleted. + (Vcharacter_name_table): Deleted. + (put_char_attribute): Deleted. + (remove_char_attribute): Deleted. + (struct char_attribute_alist_closure): New structure. + (add_char_attribute_alist_mapper): New function. + (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead + of `Vcharacter_attribute_table' and `Vcharacter_name_table'. + (Fget_char_attribute): Likewise. + (Fput_char_attribute): Likewise. + (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead + of `remove_char_attribute'. + (Fdefine_char): Return character. + (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table' + and `Vcharacter_name_table'. + (complex_vars_of_mule_charset): Likewise + `Vchar_attribute_hash_table'. + +2000-06-10 MORIOKA Tomohiko + + * character.h (CHARC_CHARSET): New macro. + (CHARC_CHARSET_ID): New macro. + (CHARC_CODE_POINT): New macro. + (CHARC_COLUMNS): New macro. + (CHARC_TO_CHAR): New inline function. + (CHARC_EQ): New inline function. + (CHARC_ASCII_EQ): New inline function. + (CHARC_IS_SPACE): New inline function. + (ASCII_TO_CHARC): New inline function. + + * char-ucs.h (encode_char_2): Deleted. + (ENCODE_CHAR): Use `encode_char_1' again. + (breakup_char_1): Likewise. + (CHAR_TO_CHARC): New inline function. + + * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function. + +2000-06-09 MORIOKA Tomohiko + + * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC', + `CHAR_TO_CHARC' and `CHARC_CHARSET'. + (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'. + (generate_formatted_string_db): Use `CHARC_TO_CHAR'. + (create_string_text_block): Use `CHARC_ASCII_EQ' and + `CHARC_IS_SPACE'. + (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'. + + * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and + `CHARC_CODE_POINT'. + (x_output_display_block): Use `CHARC_CHARSET' and + `CHARC_ASCII_EQ'. + + * redisplay-tty.c (tty_output_display_block): Use + `CHARC_ASCII_EQ'. + (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'. + + * redisplay-output.c (compare_runes): Use `CHARC_EQ'. + + * insdel.c (find_charsets_in_charc_string): Use + `CHARC_CHARSET_ID'. + (charc_string_displayed_columns): Use `CHARC_COLUMNS'. + (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'. + (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'. + (convert_charc_string_into_malloced_string): Likewise. + +2000-06-09 MORIOKA Tomohiko + + * toolbar-x.c (x_output_toolbar_button): Use + instead of for buf; use + `convert_bufbyte_string_into_charc_dynarr' instead of + `convert_bufbyte_string_into_emchar_dynarr'; use + `find_charsets_in_charc_string' instead of + `find_charsets_in_emchar_string'. + + * redisplay.h: + - Include "character.h". + (struct rune): New member `cglyph'; delete member `chr'. + + * redisplay.c (redisplay_text_width_charc_string): New function; + delete `redisplay_text_width_emchar_string'. + (rtw_charc_dynarr): New variable; renamed from + `rtw_emchar_dynarr'. + (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of + `rtw_emchar_dynarr'; use + `convert_bufbyte_string_into_charc_dynarr' instead of + `convert_bufbyte_string_into_emchar_dynarr'; use + `redisplay_text_width_charc_string' instead of + `redisplay_text_width_emchar_string'. + (redisplay_frame_text_width_string): Use `rtw_charc_dynarr' + instead of `rtw_emchar_dynarr'; use + `convert_bufbyte_string_into_charc_dynarr' instead of + `convert_bufbyte_string_into_emchar_dynarr'. + (add_emchar_rune): Add instead of ; use + `redisplay_text_width_charc_string' instead of + `redisplay_text_width_emchar_string'. + (create_text_block): Modify for change. + (generate_formatted_string_db): Likewise. + (create_string_text_block): Likewise. + (pixel_to_glyph_translation): Likewise. + + * redisplay-x.c (separate_textual_runs): Use + instead of . + (x_text_width): Likewise. + (x_output_display_block): Use instead + ; modify for change. + (x_output_string): Use instead of . + + * redisplay-tty.c (tty_text_width): Use instead of + ; use `charc_string_displayed_columns' instead of + `emchar_string_displayed_columns'. + (tty_output_display_block): Use instead of + for buf; modify for change; use + `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'. + (tty_output_charc_dynarr_dynarr): New variable; renamed from + `tty_output_emchar_dynarr_dynarr'. + (tty_output_charc_dynarr): New function; delete + `tty_output_charc_dynarr'. + + * redisplay-output.c (compare_runes): Modify for `struct rune'. + (redisplay_output_layout): Use instead of + for buf; use + `convert_bufbyte_string_into_charc_dynarr' instead of + `convert_bufbyte_string_into_emchar_dynarr'. + + * frame.c (title_string_charc_dynarr): New variable; renamed from + `title_string_emchar_dynarr'. + (generate_title_string): Use `title_string_charc_dynarr' instead + of `title_string_emchar_dynarr'; use + `convert_charc_string_into_malloced_string' instead of + `convert_emchar_string_into_malloced_string'. + (init_frame): Use `title_string_charc_dynarr' instead of + `title_string_emchar_dynarr'. + + * console.h: + - Include "character.h". + (struct console_methods): Use instead of in `text_width_method'; use instead of + in output_string_method. + + * console-x.h (x_output_string): Use instead of + . + + * console-stream.c (stream_text_width): Use + instead of . + + * character.h (Charc_dynarr): New type. + + * char-ucs.h (structure Charc): New structure; define new type + `Charc'. + + * char-lb.h (DECODE_CHAR): New inline function. + (encode_char_1): New inline function. + (ENCODE_CHAR): New macro. + (structure Charc): New structure; define new type `Charc'. + + * char-1byte.h (Vcharset_control_1): New macro. + (Vcharset_latin_iso8859_1): New macro. + (DECODE_CHAR): New inline function. + (encode_char_1): New inline function. + (ENCODE_CHAR): New macro. + (structure Charc): New structure; define new type `Charc'. + + * insdel.c (find_charsets_in_charc_string): New function; delete + `find_charsets_in_emchar_string'. + (charc_string_displayed_columns): New function; delete + `emchar_string_displayed_columns'. + (convert_bufbyte_string_into_charc_dynarr): New function; delete + `convert_bufbyte_string_into_emchar_dynarr'. + (convert_charc_string_into_bufbyte_dynarr): New function; delete + `convert_charc_string_into_bufbyte_dynarr'. + (convert_charc_string_into_malloced_string): New function; delete + `convert_charc_string_into_malloced_string'. + + * buffer.h (find_charsets_in_charc_string): New prototype; delete + `find_charsets_in_emchar_string'. + (charc_string_displayed_columns): New prototype; delete + `emchar_string_displayed_columns'. + (convert_charc_string_into_bufbyte_dynarr): New prototype; delete + `convert_charc_string_into_bufbyte_dynarr'. + (convert_charc_string_into_malloced_string): New prototype; delete + `convert_charc_string_into_malloced_string'. + +2000-06-08 MORIOKA Tomohiko + + * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000. + +2000-06-07 MORIOKA Tomohiko + + * chartab.h (get_non_ascii_char_table_value): Use . + + * char-ucs.h: Use for . + + * mule-charset.h, char-1byte.h: Use for + . + +2000-06-02 MORIOKA Tomohiko + + * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version' + to 0.16. + +2000-06-02 MORIOKA Tomohiko + + * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New + variable. + (Qmorohashi_daikanwa): New variable. + (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table' + for `morohashi-daikanwa' attribute. + (Fget_char_attribute): Likewise. + (Fput_char_attribute): Likewise. + (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it + has the same value of `ideograph-daikanwa'. + (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'. + (vars_of_mule_charset): Setup + `Vcharacter_morohashi_daikanwa_table'. + +2000-06-02 MORIOKA Tomohiko + + * mule-charset.c (Fchar_attribute_alist): Add coded-charset + attributes. + (add_charset_to_list_mapper): Add `key' instead of + `XCHARSET_NAME (value)' to return aliases. + +2000-06-02 MORIOKA Tomohiko + + * mule-charset.c (Vcharacter_ideographic_radical_table): New + variable. + (Vcharacter_ideographic_strokes_table): New variable. + (Qideographic_radical): New variable. + (Qideographic_strokes): New variable. + (Fchar_attribute_alist): Use + `Vcharacter_ideographic_radical_table' for `ideographic-radical' + attribute; use `Vcharacter_ideographic_strokes_table' for + `ideographic-strokes' attribute. + (Fget_char_attribute): Likewise. + (Fput_char_attribute): Likewise. + (syms_of_mule_charset): Add new symbol `ideographic-radical' and + `ideographic-strokes'. + (vars_of_mule_charset): Setup + `Vcharacter_ideographic_radical_table' and + `Vcharacter_ideographic_strokes_table'. + +2000-06-02 MORIOKA Tomohiko + + * mule-charset.c (Vcharacter_total_strokes_table): New variable. + (Qtotal_strokes): New variable. + (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for + `total-strokes' attribute. + (Fget_char_attribute): Likewise. + (Fput_char_attribute): Likewise. + (syms_of_mule_charset): Add new symbol `total-strokes'. + (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'. + +2000-06-02 MORIOKA Tomohiko + + * mule-charset.c (Vcharacter_decomposition_table): New variable. + (Fchar_attribute_alist): Add `name' and `->decomposition' if they + are found. + (Fget_char_attribute): Use `Vcharacter_decomposition_table' for + `->decomposition' attribute. + (Fput_char_attribute): Likewise. + (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'. + +2000-06-01 MORIOKA Tomohiko + + * mule-charset.c (decoding_table_check_elements): New function. + (Fset_charset_mapping_table): Use `decoding_table_check_elements'. + +2000-05-31 MORIOKA Tomohiko + + * mule-charset.c (Fset_charset_mapping_table): Use + `put_char_ccs_code_point'. + +2000-05-31 MORIOKA Tomohiko + + * mule-charset.c (decoding_table_put_char): New inline function. + (put_char_ccs_code_point): Use `decoding_table_put_char'. + +2000-05-31 MORIOKA Tomohiko + + * mule-charset.c (CHARSET_BYTE_SIZE): New inline function. + (XCHARSET_BYTE_SIZE): New macro. + (decoding_table_remove_char): New inline function. + (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use + `decoding_table_remove_char'. + (remove_char_ccs): Use `decoding_table_remove_char'. + (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'. + +2000-05-31 MORIOKA Tomohiko + + * mule-charset.c (Vcharacter_name_table): New variable. + (Qname): New variable. + (Fget_char_attribute): Use `Vcharacter_name_table' for `name' + attribute. + (Fput_char_attribute): Use function `put_char_ccs_code_point'; use + `Vcharacter_name_table' for `name' attribute. + (Fremove_char_attribute): Use function `remove_char_ccs'. + (put_char_ccs_code_point): New function. + (remove_char_ccs): New function. + (syms_of_mule_charset): Add new symbol `name'. + (vars_of_mule_charset): Setup `Vcharacter_name_table'. + +2000-05-30 MORIOKA Tomohiko + + * mule-charset.c (make_byte_table): Add new argument `older'. + (make_char_id_table): Likewise. + (copy_char_id_table): Comment out because it is not used. + (put_char_id_table): Modify for `make_byte_table'. + (Fput_char_attribute): Make encoding_table as older object; + inherit older bit of `Vcharacter_composition_table'. + (mark_charset): Don't mark `cs->encoding_table'. + (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a + normal object; make `Vcharacter_composition_table' as an older + object; delete staticpro for `Vcharacter_composition_table'; make + `Vcharacter_variant_table' as a normal object. + + * alloc.c (alloc_older_lcrecord): New function in UTF-2000. + (mark_object): Don't check older object in UTF-2000. + + * lrecord.h (struct lrecord_header): Add new member `older' in + UTF-2000. + (set_lheader_implementation): Setup `SLI_header->older' in + UTF-2000. + (set_lheader_older_implementation): New macro in UTF-2000. + (OLDER_RECORD_P): New macro in UTF-2000. + (OLDER_RECORD_HEADER_P): New macro in UTF-2000. + (alloc_older_lcrecord): New prototype in UTF-2000. + (alloc_older_lcrecord_type): New macro in UTF-2000. + +2000-05-29 MORIOKA Tomohiko + + * mule-charset.c (byte_table_description): Use + `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'. + (char_id_table_description): Delete bogus `, 1'. + (Fget_char_attribute): Refer encoding_table of each coded-charset + to get value of coded-charset attribute of a character. + (Fput_char_attribute): Use `make_older_vector' instead of + `make_vector'; use encoding_table of each coded-charset to store + value of coded-charset attribute of a character. + (Fremove_char_attribute): Use encoding_table of each coded-charset + to store value of coded-charset attribute of a character. + (mark_charset): Mark `cs->encoding_table'; don't mark + `cs->decoding_table'. + (charset_description): Add description of new member + `encoding_table'. + (make_charset): Initialize `encoding_table'. + + * char-ucs.h (struct Lisp_Charset): Add new member + `encoding_table'. + (CHARSET_ENCODING_TABLE): New macro. + (XCHARSET_ENCODING_TABLE): New macro. + (charset_code_point): New implementation. + (encode_char_1): Likewise. + + * alloc.c (all_older_lcrecords): New variable in UTF-2000. + (disksave_object_finalization_1): Call finalizers of + `all_older_lcrecords' in UTF-2000. + (make_older_vector): New function in UTF-2000. + (reinit_alloc_once_early): Initialize `all_older_lcrecords' in + UTF-2000. + + * lisp.h (make_older_vector): New prototype in UTF-2000. + +2000-05-22 MORIOKA Tomohiko + + * lrecord.h (enum lrecord_type): Rename + `lrecord_type_char_code_table' to `lrecord_type_char_id_table'. + + * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and + `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and + `get_char_code_table'. + + * mule-charset.c (mark_char_id_table): Renamed from + `mark_char_code_table'. + (char_id_table_equal): Renamed from `char_code_table_equal'. + (char_id_table_hash): Renamed from `char_code_table_hash'. + (make_char_id_table): Renamed from `make_char_code_table'. + (copy_char_id_table): Renamed from `copy_char_code_table'. + (get_char_id_table): Renamed from `get_char_code_table'. + (put_char_id_table): Renamed from `put_char_code_table'. + (to_char_id): Renamed from `to_char_code'. + + * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from + `Lisp_Char_Code_Table'. + (char_id_table): Renamed from `char_code_table'. + (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'. + (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'. + (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'. + (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'. + (get_char_id_table): Renamed from `get_char_code_table'. + +2000-05-22 MORIOKA Tomohiko + + * lrecord.h (enum lrecord_type): Rename + `lrecord_type_char_byte_table' to `lrecord_type_byte_table'. + + * mule-charset.c (mark_byte_table): Renamed from + `mark_char_byte_table'. + (byte_table_equal): Renamed from `char_byte_table_equal'. + (byte_table_hash): Renamed from `byte_table_hash'. + (make_byte_table): Renamed from `make_byte_table'. + (copy_byte_table): Renamed from `copy_char_byte_table'. + + * char-ucs.h (struct Lisp_Byte_Table): Renamed from + `Lisp_Char_Byte_Table'. + (byte_table): Renamed from `char_byte_table'. + (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'. + (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'. + (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'. + (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'. + +2000-05-02 MORIOKA Tomohiko + + * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000. + (dfc_convert_to_internal_format): Likewise. + + * text-coding.c (Fcoding_system_canonical_name_p): New function. + * text-coding.c (Fcoding_system_alias_p): New function. + * text-coding.c (Fcoding_system_aliasee): New function. + * text-coding.c (append_suffix_to_symbol): New function. + * text-coding.c (dangling_coding_system_alias_p): New function. + * text-coding.c (Ffind_coding_system): + * text-coding.c (Fcopy_coding_system): + * text-coding.c (encode_coding_no_conversion): + * text-coding.c (syms_of_file_coding): + * text-coding.c (vars_of_file_coding): + Rewrite coding system alias code. + Allow nested aliases, like symbolic links. + Allow redefinition of coding system aliases. + Prevent existence of dangling coding system aliases. + Eliminate convert_to_external_format. + Eliminate convert_to_internal_format. + + * text-coding.c: Change enum eol_type to eol_type_t. + +2000-05-02 MORIOKA Tomohiko + + * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range + of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22. + + * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to + MIN_CHAR_MOJIKYO + 94 * 60 * 22. + +2000-04-28 MORIOKA Tomohiko + + * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of + `ideograph-daikanwa'. + + * char-ucs.h (Vcharset_ucs): Deleted because it is not used. + (Vcharset_ucs_bmp): Likewise. + (Vcharset_mojikyo): Add new extern variable definition. + (Vcharset_latin_iso8859_2): Deleted because it is not used. + (Vcharset_latin_iso8859_3): Likewise. + (Vcharset_latin_iso8859_4): Likewise. + (Vcharset_latin_iso8859_9): Likewise. + (Vcharset_latin_viscii_lower): Likewise. + (Vcharset_latin_viscii_upper): Likewise. + (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding + `mojikyo' code-point is used to decode. + (encode_char_2): New function [to convert `mojikyo' code-point to + Mojikyo font encoding]. + (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'. + (breakup_char_1): Likewise. + (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'. + +2000-04-27 MORIOKA Tomohiko + + * text-coding.c (Fmake_coding_system): Add document about + `disable-composition' property. + +2000-04-27 MORIOKA Tomohiko + + * text-coding.c (Qdisable_composition): New variable; delete + `Qcomposite'. + (Fmake_coding_system): Add new property `disable-composite'; + delete property `composite'. + (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION' + instead of `!CODING_SYSTEM_COMPOSITE'. + (syms_of_file_coding): Add new symbol `disable-composition'; + delete symbol `composite'. + + * file-coding.h (struct Lisp_Coding_System): Add + `disable_composition'; delete `enable_composition'. + (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete + `CODING_SYSTEM_COMPOSITE'. + (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete + `XCODING_SYSTEM_COMPOSITE'. + +2000-04-27 MORIOKA Tomohiko + + * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version' + to 0.15. + +2000-04-26 MORIOKA Tomohiko + + * text-coding.c (Qcomposite): New variable. + (Fmake_coding_system): Add new property `composite'. + (struct decoding_stream): Add `combined_char_count', + `combined_chars' and `combining_table' in UTF-2000. + (COMPOSE_FLUSH_CHARS): New macro. + (COMPOSE_ADD_CHAR): New macro. + (reset_decoding_stream): Reset `str->combined_char_count' and + `str->combining_table' in UTF-2000. + (decode_coding_iso2022): Modify for character-decomposition. + (syms_of_file_coding): Add new symbol `composite'. + +2000-04-25 MORIOKA Tomohiko + + * mule-charset.c (Vcharset_latin_tcvn5712): New variable. + (Fput_char_attribute): Set up `Vcharacter_variant_table' instead + of `Vcharacter_composition_table' if `->decomposition' property + has only 1 element. + (Qlatin_tcvn5712): New variable. + (syms_of_mule_charset): Add new symbol `latin-tcvn5712'. + (complex_vars_of_mule_charset): Add new coded-charset + `latin-tcvn5712'. + + * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro. + +2000-04-20 MORIOKA Tomohiko + + * file-coding.h (struct Lisp_Coding_System): Add + `enable_composition'. + (CODING_SYSTEM_COMPOSITE): New macro. + (XCODING_SYSTEM_COMPOSITE): New macro. + +2000-03-17 MORIOKA Tomohiko + + * mule-canna.c (c2mu): Fix problem with UTF-2000. + +2000-03-16 MORIOKA Tomohiko + + * mule-charset.c (Fput_char_attribute): Don't make mapping-table + if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE. + +2000-02-24 MORIOKA Tomohiko + + * mule-charset.c (Vcharset_mojikyo): New variable. + (Fdefine_char): Don't use coded-charset which does not have + non-builtin character range to allocate character-id. + (Qmojikyo): New variable. + (syms_of_mule_charset): Add new symbol `mojikyo'. + (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'. + + * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro. + (LEADING_BYTE_MOJIKYO): New macro. + (MIN_CHAR_MOJIKYO): New macro. + (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'. + (MAX_CHAR_MOJIKYO): New macro. + +2000-02-12 MORIOKA Tomohiko + + * mule-charset.c (remove_char_attribute): Fixed. + +2000-02-08 MORIOKA Tomohiko + + * mule-charset.c (remove_char_attribute): New function. + (Fremove_char_attribute): New function. + (encode_builtin_char_1): Comment out builtin-support for + greek-iso8859-7 and cyrillic-iso8859-5. + (Fdecode_char): Check `code' is an integer. + (syms_of_mule_charset): Add `remove-char-attribute'. + (MIN_CHAR_GREEK): Deleted. + (MAX_CHAR_GREEK): Likewise. + (MIN_CHAR_CYRILLIC): Likewise. + (MAX_CHAR_CYRILLIC): Likewise. + (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and + MAX_CHAR_GREEK for `greek-iso8859-7'. + + * char-ucs.h (MIN_CHAR_GREEK): Comment out. + (MAX_CHAR_GREEK): Likewise. + (MIN_CHAR_CYRILLIC): Likewise. + (MAX_CHAR_CYRILLIC): Likewise. + +2000-02-02 MORIOKA Tomohiko + + * mule-charset.c (Fdefine_char): Fix problem when new code-point + format is used without `ucs' property. + (Fdecode_char): Fix problem with GR representation. + (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and + `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'. + +2000-01-28 MORIOKA Tomohiko + + * mule-charset.c (make_builtin_char): New function. + (encode_builtin_char_1): Check ISO-2022-charset is defined or not. + (Fset_charset_mapping_table): Modify for new representation of + code-point. + (Fdecode_char): New function. + (syms_of_mule_charset): Add new builtin function `decode-char' in + UTF-2000. + + * char-ucs.h (make_builtin_char): New prototype. + (DECODE_CHAR): New inline function. + (MAKE_CHAR): Use `DECODE_CHAR'. + +2000-01-28 MORIOKA Tomohiko + + * text-coding.c (parse_charset_conversion_specs): Use + `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of + `XCHARSET_TYPE'. + (iso2022_designate): Likewise. + + * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and + `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'. + + * mule-charset.c (Vcharset_ucs): New variable. + (print_charset): Change design; use `CHARSET_CHARS' and + `CHARSET_DIMENSION' instead of `CHARSET_TYPE'. + (make_charset): Change signature to specify `chars' and + `dimension' instead of `type'. + (range_charset_code_point): Modify for 256^n-set. + (encode_builtin_char_1): Encode as `ucs' in default. + (Fmake_charset): Modify for `make_charset'. + (Fmake_reverse_direction_charset): Likewise. + (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in + UTF-2000. + (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify + for `make_charset'. + + * char-ucs.h (Vcharset_ucs): New variable. + (LEADING_BYTE_UCS): New macro. + (struct Lisp_Charset): Delete `type'; change type of `dimension' + and `chars' to `unsigned short' from `unsigned int'. + (CHARSET_TYPE): Deleted. + (XCHARSET_TYPE): Deleted. + +2000-01-27 MORIOKA Tomohiko + + * mule-charset.c (charset_code_point): Moved to char-ucs.h. + + * char-ucs.h (charset_code_point): Moved from mule-charset.c. + (ENCODE_CHAR): New macro. + +2000-01-26 MORIOKA Tomohiko + + * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version' + to 0.14 (Kawachi-Katakami). + +2000-01-26 MORIOKA Tomohiko + + * text-coding.c (char_encode_shift_jis): Modify for + `charset_code_point'. + (char_encode_iso2022): Likewise. + + * mule-charset.c (Fput_char_attribute): Use + (integer) instead of list of s (integers) as the + format of code-point of a coded-charset. + (range_charset_code_point): Return instead of . + (encode_builtin_char_1): New function; delete + `split_builtin_char'. + (charset_code_point): Return instead of . + (Fsplit_char): Don't use `SPLIT_CHAR'. + + * char-ucs.h (encode_builtin_char_1): New prototype; delete + prototype for `split_builtin_char'. + (range_charset_code_point): Return instead of . + (charset_code_point): Likewise. + (encode_char_1): New inline function; delete `SPLIT_CHAR'. + (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'. + +2000-01-20 MORIOKA Tomohiko + + * mule-charset.c (complex_vars_of_mule_charset): Don't define + `japanese-jisx0208-1990' in non-UTF-2000 Mule. + +2000-01-11 MORIOKA Tomohiko + + * mule-charset.c (split_builtin_char): Don't support OBS_94x94. + + * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted. + (MAX_CHAR_OBS_94x94): Deleted. + +2000-01-11 MORIOKA Tomohiko + + * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'. + + * char-ucs.h (MAX_CHAR_BMP): New macro. + +2000-01-10 MORIOKA Tomohiko + + * text-coding.c: Sync with r21-2-24. + +2000-01-08 MORIOKA Tomohiko + + * file-coding.c: Modify for UTF-2000. + +2000-01-18 MORIOKA Tomohiko + + * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version' + to 0.13 (Takaida). + +2000-01-15 MORIOKA Tomohiko + + * mule-charset.c (split_builtin_char): Delete builtin support for + `katakana-jisx0201'. + (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to + BMP area in builtin representation. + + * char-ucs.h (MAKE_CHAR): Delete builtin support for + `Vcharset_katakana_jisx0201'. + +1999-12-24 MORIOKA Tomohiko + + * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable. + (Qisolated): New variable. + (Qinitial): New variable. + (Qmedial): New variable. + (Qfinal): New variable. + (Qvertical): New variable. + (Qsmall): New variable. + (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal', + `Qvertical' and `Qsmall'. + (Qmojikyo_pj_[1 .. 21]): New variable. + (syms_of_mule_charset): Add new symbols `isolated', `initial', + `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'. + (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1 + .. 21]'. + +1999-11-23 MORIOKA Tomohiko + + * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60. + (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros. + (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'. + +1999-11-18 MORIOKA Tomohiko + + * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable. + (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of + BMP. + (Qjapanese_jisx0208_1990): New variable. + (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'. + (complex_vars_of_mule_charset): Add new coded-charset + `japanese-jisx0208-1990'. + + * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro. + (MIN_CHAR_JIS_X0208_1990): New macro. + (MAX_CHAR_JIS_X0208_1990): New macro. + +1999-11-16 MORIOKA Tomohiko + + * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022 + coded-charset is not found. + +1999-11-16 MORIOKA Tomohiko + + * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'. + (Fdefine_char): Use `Fmake_char'. + +1999-11-15 MORIOKA Tomohiko + + * mule-charset.c (Vcharset_ideograph_daikanwa): New variable. + (Vcharset_hiragana_jisx0208): Deleted. + (Vcharset_katakana_jisx0208): Deleted. + (Qideograph_daikanwa): New variable. + (Qhiragana_jisx0208): Deleted. + (Qkatakana_jisx0208): Deleted. + (split_builtin_char): Split `ideograph-daikanwa'. + (Fsplit_char): New implementation for UTF-2000. + (syms_of_mule_charset): Add new symbol `ideograph-daikanwa'; + delete symbol `hiragana-jisx0208' and `katakana-jisx0208'. + (complex_vars_of_mule_charset): Add new coded-charset + `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and + `katakana-jisx0208'. + + * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro. + (LEADING_BYTE_HIRAGANA_JISX0208): Deleted. + (LEADING_BYTE_KATAKANA_JISX0208): Deleted. + (MIN_CHAR_DAIKANWA): New macro. + (MAX_CHAR_DAIKANWA): New macro. + +1999-11-15 MORIOKA Tomohiko + + * data.c (Fstring_to_number): Don't recognize floating point if + base is not 10. + +1999-11-15 MORIOKA Tomohiko + + * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'. + +1999-11-14 MORIOKA Tomohiko + + * mule-charset.c (Qsquare): New variable. + (to_char_code): Add `Qsquare'. + (syms_of_mule_charset): Add new symbol `square'. + +1999-11-14 MORIOKA Tomohiko + + * mule-charset.c (Qcircle): New variable. + (to_char_code): Add `Qcircle'. + (syms_of_mule_charset): Add new symbol `circle'. + +1999-11-14 MORIOKA Tomohiko + + * mule-charset.c (Qfont): New variable. + (to_char_code): Add `Qfont'. + (syms_of_mule_charset): Add new symbol `font'. + +1999-11-14 MORIOKA Tomohiko + + * mule-charset.c (Qsub): New variable. + (to_char_code): Add `Qsub'. + (syms_of_mule_charset): Add new symbol `sub'. + +1999-11-14 MORIOKA Tomohiko + + * mule-charset.c (Fput_char_attribute): Convert each element of + VALUE to GL position if ATTRIBUTE is a GR-set, + +1999-11-14 MORIOKA Tomohiko + + * mule-charset.c (Fput_char_attribute): Allow GR code-point if a + coded-charset is a GR-set. + +1999-11-13 MORIOKA Tomohiko + + * mule-charset.c (Fput_char_attribute): Check each element of + VALUE is a byte if ATTRIBUTE is a coded-charset or its name. + +1999-11-13 MORIOKA Tomohiko + + * mule-charset.c (Vcharset_ethiopic_ucs): New variable in + UTF-2000. + (Qethiopic_ucs): New variable in UTF-2000. + (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000. + (complex_vars_of_mule_charset): Add new coded-charset + `ethiopic-ucs' in UTF-2000. + + * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro. + (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET - + 9)'. + (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET - + 10)'. + (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'. + +1999-11-13 MORIOKA Tomohiko + + * mule-charset.c (Fset_charset_mapping_table): Fix problem with + `ascii'. + +1999-11-12 MORIOKA Tomohiko + + * mule-charset.c (Vcharacter_variant_table): New variable. + (Q_ucs): New variable. + (Fchar_variants): New function. + (Fput_char_attribute): Register `->ucs' value to + `Vcharacter_variant_table'. + (syms_of_mule_charset): Add new function `char-variants' and new + symbol `->ucs'. + (vars_of_mule_charset): Setup `Vcharacter_variant_table'. + +1999-11-12 MORIOKA Tomohiko + + * mule-charset.c (get_char_code_table): Allow negative character + code. + (put_char_code_table): Likewise. + (Vcharacter_composition_table): New variable. + (Q_decomposition): New variable. + (Qwide): New variable. + (Qnarrow): New variable. + (Qcompat): New variable. + (QnoBreak): New variable. + (Qsuper): New variable. + (Qfraction): New variable. + (to_char_code): New function. + (Fget_composite_char): New function. + (Fput_char_attribute): Register `->decomposition' value to + `Vcharacter_composition_table'. + (syms_of_mule_charset): Add new function `get-composite-char', new + symbol `->decomposition', `wide', `narrow', `compat', `noBreak', + `super' and `fraction'. + (vars_of_mule_charset): Setup `Vcharacter_composition_table'. + +1999-11-12 MORIOKA Tomohiko + + * mule-charset.c (Fchar_attribute_alist): Check the argument is a + character; copy the return value. + +1999-11-12 MORIOKA Tomohiko + + * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'. + + * mule-charset.c (range_charset_code_point): Must use make_int. + (split_builtin_char): New function. + +1999-11-12 MORIOKA Tomohiko + + * mule-charset.c (char_byte_table): Change name from + "char-code-table" to "char-byte-table". + (mark_char_code_table): New function. + (char_code_table_equal): New function. + (char_code_table_hash): New function. + (char_code_table_description): New constant. + (char_code_table): New type. + (make_char_code_table): New function. + (copy_char_code_table): New function. + (get_char_code_table): Modify for `char_code_table' type. + (put_char_code_table): Likewise. + (vars_of_mule_charset): Update `utf-2000-version' to 0.12 + (Kashiwara). + + * char-ucs.h (char_code_table): New type. + (XCHAR_CODE_TABLE): New macro. + (XSETCHAR_CODE_TABLE): New macro. + (CHAR_CODE_TABLE_P): New macro. + (GC_CHAR_CODE_TABLE_P): New macro. + (struct Lisp_Char_Code_Table): New structure. + +1999-11-09 MORIOKA Tomohiko + + * mule-charset.c (Fmake_charset): Setup byte_offset for + {94|96}^n-set. + +1999-11-09 MORIOKA Tomohiko + + * mule-charset.c (Fdefine_char): Fix problem with non-UCS + character. + +1999-11-09 MORIOKA Tomohiko + + * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot + is found. + +1999-11-09 MORIOKA Tomohiko + + * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of + charset, it is regarded as a charset. + (put_char_attribute): New function in UTF-2000. + (Fput_char_attribute): If ATTRIBUTE is a charset or a name of + charset, mapping-table of the charset is modified. + (Fdefine_char): New function in UTF-2000. + (Fset_charset_mapping_table): Use `put_char_attribute' instead of + `Fput_char_attribute'. + (syms_of_mule_charset): Add new function `define-char' and new + symbol `ucs' in UTF-2000. + (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki). + +1999-10-29 MORIOKA Tomohiko + + * mule-charset.c (Fcharset_name): Define `byte_offset' in + non-UTF-2000 configuration. + +1999-10-29 MORIOKA Tomohiko + + * text-coding.c (char_encode_shift_jis): Use `charset_code_point' + not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'. + + * mule-charset.c (mark_charset): `cs->encoding_table' has been + deleted. + (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'. + (Fset_charset_mapping_table): Likewise. + + * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'. + (CHARSET_ENCODING_TABLE): Delete. + (XCHARSET_ENCODING_TABLE): Delete. + (charset_code_point): New interface. + +1999-10-29 MORIOKA Tomohiko + + * text-coding.c (char_encode_iso2022): Use `charset_code_point' + instead of `charset_get_byte1' and `charset_get_byte2'. + + * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted. + (charset_get_byte2): Deleted. + +1999-10-28 MORIOKA Tomohiko + + * char-ucs.h (SPLIT_CHAR): New inline function. + (breakup_char_1): Use `SPLIT_CHAR'. + + * mule-charset.c (range_charset_code_point): New function. + (charset_code_point): New function. + + * char-ucs.h (range_charset_code_point): New interface. + (breakup_char_1): Use `range_charset_code_point'. + +1999-10-27 MORIOKA Tomohiko + + * mule-charset.c (Fmake_charset): Delete unused local variable + `code_offset'. + + * char-ucs.h (Vcharacter_attribute_table): New extern variable. + (breakup_char_1): Find a charset and code-point in + `Vcharacter_attribute_table'. + +1999-10-27 MORIOKA Tomohiko + + * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version' + to 0.10 (Yao). + +1999-10-25 MORIOKA Tomohiko + + * mule-charset.c (Vcharacter_attribute_table): New variable. + (Fchar_attribute_alist): New function. + (Fget_char_attribute): New function. + (Fput_char_attribute): New function. + (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table' + too. + (syms_of_mule_charset): Add new function `char-attribute-alist', + `get-char-attribute' and `put-char-attribute'. + (vars_of_mule_charset): Setup `Vcharacter_attribute_table'. + +1999-10-19 MORIOKA Tomohiko + + * mule-charset.c (Fmake_charset): Just use + `get_unallocated_leading_byte'. + + * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official + sets; don't use final-byte based number for private sets. + +1999-10-12 MORIOKA Tomohiko + + * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative + integer. + +1999-10-12 MORIOKA Tomohiko + + * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version' + to 0.9. + +1999-10-11 MORIOKA Tomohiko + + * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead + of `CHAR_LEADING_BYTE' in UTF-2000. + + * insdel.c (find_charsets_in_bufbyte_string): Use + `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000. + (find_charsets_in_emchar_string): Likewise. + + * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use + `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000. + + * char-ucs.h (CHAR_LEADING_BYTE): Deleted. + (CHAR_CHARSET_ID): New macro. + +1999-10-11 MORIOKA Tomohiko + + * chartab.c (get_char_table): Don't use type `Charset_ID' for + charset-id - MIN_LEADING_BYTE. + (put_char_table): Likewise. + +1999-10-11 MORIOKA Tomohiko + + * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'. + (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE). + (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'. + (CHARSET_ID_OFFSET): New macro. + (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1). + (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2). + (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3). + (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET - + 4). + (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET - + 5). + (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'. + (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6). + (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0'). + (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80). + (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80). + +1999-10-11 MORIOKA Tomohiko + + * mule-charset.c (next_allocated_leading_byte): New variable in + UTF-2000. + (next_allocated_1_byte_leading_byte): Don't define in UTF-2000. + (next_allocated_2_byte_leading_byte): Don't define in UTF-2000. + (get_unallocated_leading_byte): Simply use + `next_allocated_leading_byte' [ignore dimension] in UTF-2000. + (vars_of_mule_charset): Setup `next_allocated_leading_byte' in + UTF-2000. + + * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro. + (MAX_LEADING_BYTE_PRIVATE): New macro. + (MIN_LEADING_BYTE_OFFICIAL_2): Deleted. + (MAX_LEADING_BYTE_OFFICIAL_2): Deleted. + +1999-10-11 MORIOKA Tomohiko + + * mule-charset.c (Fmake_charset): Allocate final-byte based + charset-id for 94-set, 96-set and 94x94-set. + +1999-10-11 MORIOKA Tomohiko + + * mule-charset.c (char_byte_table_equal): Fill braces to avoid + ambiguous `else'. + (Fmake_charset): Likewise. + (complex_vars_of_mule_charset): Modify the font registry of + `ucs-bmp' not to match `Ethiopic-Unicode'. + +1999-10-10 MORIOKA Tomohiko + + * mule-charset.c (complex_vars_of_mule_charset): Add font + registory of `ucs-bmp'. + +1999-10-10 MORIOKA Tomohiko + + * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022 + coded-charsets in `default-coded-charset-priority-list' when + breaking up a character. + + * mule-charset.c (Vcharset_latin_viscii): New variable. + (Qlatin_viscii): New variable. + (make_charset): Don't use `decoding_table'. + (Fmake_charset): Regard graphic = 2 as 256^n-set; setup + byte_offset. + (Fset_charset_mapping_table): New implementation. + (syms_of_mule_charset): Add new symbol `latin-viscii'. + (complex_vars_of_mule_charset): Set `graphic' attribute of charset + `ucs-bmp' and `latin_viscii' to 2; change font registry of charset + `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry + of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new + charset `latin_viscii'. + + * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro. + (CHARSET_TYPE_94X94): Change to 1 from 2. + (CHARSET_TYPE_96): Change to 2 from 1. + (CHARSET_TYPE_128): New macro. + (CHARSET_TYPE_128X128): Change to 5 from 4. + (CHARSET_TYPE_256): New macro. + (CHARSET_TYPE_256X256): Change to 7 from 5. + (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'. + +1999-10-10 MORIOKA Tomohiko + + * text-coding.c (char_encode_shift_jis): Refer + `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of + `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'. + + * mule-charset.c (mark_char_byte_table): New function in UTF-2000. + (char_byte_table_equal): New function in UTF-2000. + (char_byte_table_hash): New function in UTF-2000. + (char_byte_table_description): New constant in UTF-2000. + (char_byte_table): New type in UTF-2000. + (make_char_byte_table): New function in UTF-2000. + (copy_char_byte_table): New function in UTF-2000. + (make_char_code_table): New macro in UTF-2000. + (get_char_code_table): New function in UTF-2000. + (put_char_code_table): New function in UTF-2000. + (mark_charset): Mark `cs->encoding_table' in UTF-2000. + (charset_description): Add setting in UTF-2000. + (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of + `CHARSET_TO_BYTE1_TABLE(cs)'. + (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)' + instead of `XCHARSET_TO_BYTE1_TABLE(charset)'. + (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)' + instead of `XCHARSET_TO_BYTE2_TABLE(charset)'. + (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)' + instead of `CHARSET_TO_BYTE1_TABLE(cs)' and + `CHARSET_TO_BYTE2_TABLE(cs)'. + + * char-ucs.h (char_byte_table): New type. + (XCHAR_BYTE_TABLE): New macro. + (XSETCHAR_BYTE_TABLE): New macro. + (CHAR_BYTE_TABLE_P): New macro. + (GC_CHAR_BYTE_TABLE_P): New macro. + (struct Lisp_Char_Byte_Table): New structure. + (get_char_code_table): New interface. + (Emchar_to_byte_table): Deleted. + (get_byte_from_character_table): Deleted. + (struct Lisp_Charset): Add `encoding_table'; delete + `to_byte1_table' and `to_byte2_table'. + (CHARSET_ENCODING_TABLE): New macro. + (CHARSET_TO_BYTE1_TABLE): Deleted. + (CHARSET_TO_BYTE2_TABLE): Deleted. + (XCHARSET_ENCODING_TABLE): New macro. + (XCHARSET_TO_BYTE1_TABLE): Deleted. + (XCHARSET_TO_BYTE2_TABLE): Deleted. + +1999-10-07 MORIOKA Tomohiko + + * mule-charset.c (syms_of_mule_charset): Delete charset alias + `vietnamese-viscii-*'. + +1999-10-07 MORIOKA Tomohiko + + * mule-charset.c (Qvietnamese_viscii_lower): New variable. + (Qvietnamese_viscii_upper): New variable. + (Fdefine_charset_alias): New function. + (syms_of_mule_charset): Add new function `define-charset-alias'. + (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to + `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for + `latin-viscii-*'. + +1999-10-04 MORIOKA Tomohiko + + * char-ucs.h (MIN_CHAR_OBS_94x94): New macro. + (MAX_CHAR_OBS_94x94): New macro. + (breakup_char_1): Support obsolete XEmacs-UCS private code space + for 94x94 sets. + + * mule-charset.c (put_byte_from_character_table): Change unit size + from 128 to 256. + (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is + not defined. + (Fmake_reverse_direction_charset): Modify dummy argument of + `make_charset' for non-UTF-2000 environment. + +1999-10-03 MORIOKA Tomohiko + + * char-ucs.h (MAKE_CHAR): Allow nested decoding-table. + + * mule-charset.c (destroy_byte_from_character_table): New macro. + (latin_jisx0201_to_ucs): Deleted. + (latin_iso8859_2_to_ucs): Deleted. + (latin_iso8859_3_to_ucs): Deleted. + (latin_iso8859_4_to_ucs): Deleted. + (latin_iso8859_9_to_ucs): Deleted. + (latin_viscii_lower_to_ucs): Deleted. + (latin_viscii_upper_to_ucs): Deleted. + (mark_charset): Mark `cs->decoding_table'. + (Fcharset_mapping_table): Fix DOC-string. + (Fset_charset_mapping_table): New function. + (syms_of_mule_charset): Add nwe function + `set-charset-mapping-table'. + (complex_vars_of_mule_charset): Don't setup and use + `latin_*_to_ucs'. + +1999-10-01 MORIOKA Tomohiko + + * char-ucs.h (MAKE_CHAR): Check the result for range-represented + charset. + +1999-09-30 MORIOKA Tomohiko + + * mule-charset.c (Vcharset_hiragana_jisx0208): New variable. + (Vcharset_katakana_jisx0208): New variable. + (Qhiragana_jisx0208): New variable. + (Qkatakana_jisx0208): New variable. + (make_charset): Add new argument `byte_offset'. + (charset_get_byte1): Modify for new coded-charset definition; use + `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and + `XCHARSET_BYTE_OFFSET'. + (Fmake_charset): Modify for `make_charset'. + (Fmake_reverse_direction_charset): Likewise. + (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and + `katakana-jisx0208'. + (complex_vars_of_mule_charset): Modify for `make_charset'; quote + `.' in font registry of charset `katakana-jisx0201', + `latin-jisx0201', `vietnamese-viscii-lower' and + `vietnamese-viscii-upper'; modify DOC-string of charset + `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font + registry of charset `japanese-jisx0208' not to use font for JIS + X0208:1990; add new charset `hiragana-jisx0208' and + `katakana-jisx0208'. + + * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro. + (LEADING_BYTE_KATAKANA_JISX0208): New macro. + (struct Lisp_Charset): Add `byte_offset'. + (CHARSET_BYTE_OFFSET): New macro. + (XCHARSET_UCS_MIN): New macro. + (XCHARSET_UCS_MAX): New macro. + (XCHARSET_CODE_OFFSET): New macro. + (XCHARSET_BYTE_OFFSET): New macro. + (MIN_CHAR_HIRAGANA): New macro. + (MAX_CHAR_HIRAGANA): New macro. + (MIN_CHAR_KATAKANA): New macro. + (MAX_CHAR_KATAKANA): New macro. + (MAKE_CHAR): Modify for new coded-charset definition; use + `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and + `XCHARSET_BYTE_OFFSET'. + +1999-09-27 MORIOKA Tomohiko + + * mule-charset.c (CHAR96): Deleted. + (latin_jisx0201_to_ucs): Type is changed from array of to + . + (latin_iso8859_2_to_ucs): Likewise. + (latin_iso8859_3_to_ucs): Likewise. + (latin_iso8859_4_to_ucs): Likewise. + (latin_iso8859_9_to_ucs): Likewise. + (latin_viscii_lower_to_ucs): Likewise. + (latin_viscii_upper_to_ucs): Likewise. + (latin_tcvn5712_to_ucs): Commented out. + (make_charset): Change type of argument `decoding_table' from + to [vector of characters]. + (Fmake_charset): Modify for `make_charset'. + (Fmake_reverse_direction_charset): Likewise. + (Fcharset_mapping_table): New function in UTF-2000. + (syms_of_mule_charset): Setup `Fcharset_mapping_table' in + UTF-2000. + (complex_vars_of_mule_charset): Modify for type change of + `*_to_ucs'; modify for `make_charset'. + + * char-ucs.h (struct Lisp_Charset): Change type of + `decoding_table' from to . + (MAKE_CHAR): Modify for new specification of `decoding_table'. + +1999-09-23 MORIOKA Tomohiko + + * mule-charset.c (Fmake_reverse_direction_charset): Fix compile + error with non-UTF-2000-Mule. + +1999-09-21 MORIOKA Tomohiko + + * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined + in lisp again]. + (Vcharset_chinese_cns11643_4): Likewise. + (Vcharset_chinese_cns11643_5): Likewise. + (Vcharset_chinese_cns11643_6): Likewise. + (Vcharset_chinese_cns11643_7): Likewise. + (Qchinese_cns11643_3): Likewise. + (Qchinese_cns11643_4): Likewise. + (Qchinese_cns11643_5): Likewise. + (Qchinese_cns11643_6): Likewise. + (Qchinese_cns11643_7): Likewise. + (syms_of_mule_charset): Move definitions for `chinese-cns11643-3', + `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6' + and `chinese-cns11643-7' to lisp/mule/chinese.el. + (complex_vars_of_mule_charset): Likewise. + +1999-09-18 MORIOKA Tomohiko + + * mule-charset.c (charset_get_byte1): Fix bug about 94- and + 96-set. + (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE, + CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET. + +1999-09-17 MORIOKA Tomohiko + + * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from + 0xFF60. + (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20. + (breakup_char_1): Likewise. + + * text-coding.c (char_encode_iso2022): Keep designated charsets if + one of them includes the specified character. + +1999-09-14 MORIOKA Tomohiko + + * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami). + +1999-09-14 MORIOKA Tomohiko + + * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset. + +1999-09-14 MORIOKA Tomohiko + + * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo + definition for non-UTF-2000 Mule. + (latin_iso8859_3_to_ucs): Likewise. + (latin_iso8859_4_to_ucs): Likewise. + (latin_iso8859_9_to_ucs): Likewise. + (latin_jisx0201_to_ucs): Likewise. + (MIN_CHAR_THAI): Likewise. + (MAX_CHAR_THAI): Likewise. + (MIN_CHAR_GREEK): Likewise. + (MAX_CHAR_GREEK): Likewise. + (MIN_CHAR_HEBREW): Likewise. + (MAX_CHAR_HEBREW): Likewise. + (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise. + (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise. + (MIN_CHAR_CYRILLIC): Likewise. + (MAX_CHAR_CYRILLIC): Likewise. + +1999-09-14 MORIOKA Tomohiko + + * char-ucs.h (breakup_char_1): Use + `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8, + thai-tis620 and katakana-jisx0201 area. + +1999-09-13 MORIOKA Tomohiko + + * char-ucs.h (breakup_char_1): Use + `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5 + area. + + * text-coding.c (reset_encoding_stream): Fixed. + (char_encode_ucs4): Delete `& 255'. + + * char-ucs.h (breakup_char_1): Use + `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area. + +1999-09-13 MORIOKA Tomohiko + + * file-coding.c (Fmake_coding_system): Don't set up + `codesys->fixed.size'. + (encode_coding_no_conversion): Don't refer + `str->codesys->fixed.size'. + +1999-09-13 MORIOKA Tomohiko + + * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted. + (latin_a_char_to_byte1): Deleted. + (latin_a_char_to_byte2): Deleted. + +1999-09-13 MORIOKA Tomohiko + + * mule-charset.c (make_charset): Add new argument `ucs_min', + `ucs_max' and `code_offset'. + (charset_get_byte1): New implementation [delete specific charset + depended implementations]. + (Fmake_charset): Modify for `make_charset'. + (Fmake_reverse_direction_charset): Likewise. + (complex_vars_of_mule_charset): Likewise. + + * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and + `code_offset'. + (CHARSET_UCS_MIN): New macro. + (CHARSET_UCS_MAX): New macro. + (CHARSET_CODE_OFFSET): New macro. + (MAKE_CHAR): Delete charset depended definitions [except + katakana-jisx0201]. + +1999-09-13 MORIOKA Tomohiko + + * char-ucs.h (breakup_char_1): Use + `Vdefault_coded_charset_priority_list' for C0-Controls, + Basic-Latin, C1-Controls and Latin-1-Supplement area. + +1999-09-13 MORIOKA Tomohiko + + * char-ucs.h (charset_get_byte1): New function. + (XCHARSET_GET_BYTE1): Deleted. + (charset_get_byte2): New function. + (XCHARSET_GET_BYTE2): Deleted. + (Vdefault_coded_charset_priority_list): New external variable. + (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and + `Vdefault_preferred_coded_charset_list'. + + * mule-charset.c (charset_get_byte1): New function. + (charset_get_byte2): New function. + (Vdefault_coded_charset_priority_list): New variable. + (vars_of_mule_charset): Add new variable + `default-coded-charset-priority-list'. + +1999-09-12 MORIOKA Tomohiko + + * char-ucs.h (XCHARSET_GET_BYTE1): New inline function. + (XCHARSET_GET_BYTE2): New inline function. + (breakup_char_1): Use `XCHARSET_GET_BYTE1' and + `XCHARSET_GET_BYTE2'. + +1999-09-12 MORIOKA Tomohiko + + * mule-charset.c (make_charset): Initialize + `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by + NULL if table is not defined. + +1999-09-11 MORIOKA Tomohiko + + * text-coding.c (char_encode_shift_jis): Use + `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of + `ucs_to_latin_jisx0201'. + + * mule-charset.c (ucs_to_latin_jisx0201): Deleted. + (ucs_to_latin_iso8859_2): Deleted. + (ucs_to_latin_iso8859_3): Deleted. + (ucs_to_latin_iso8859_4): Deleted. + (ucs_to_latin_iso8859_9): Deleted. + (ucs_to_latin_viscii_lower): Deleted. + (ucs_to_latin_viscii_upper): Deleted. + (ucs_to_latin_tcvn5712): Deleted. + (make_charset): Add new argument `decoding_table'; set up + `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up + `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if + `decoding_table' is defined in UTF-2000. + (Fmake_charset): Modify for `make_charset'. + (Fmake_reverse_direction_charset): Likewise. + (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET' + and `GENERATE_96_SET'. + + * char-ucs.h (latin_jisx0201_to_ucs): Deleted. + (ucs_to_latin_jisx0201): Deleted. + (latin_iso8859_2_to_ucs): Deleted. + (ucs_to_latin_iso8859_2): Deleted. + (latin_iso8859_3_to_ucs): Deleted. + (ucs_to_latin_iso8859_3): Deleted. + (latin_iso8859_4_to_ucs): Deleted. + (ucs_to_latin_iso8859_4): Deleted. + (latin_iso8859_9_to_ucs): Deleted. + (ucs_to_latin_iso8859_9): Deleted. + (latin_viscii_lower_to_ucs): Deleted. + (ucs_to_latin_viscii_lower): Deleted. + (latin_viscii_upper_to_ucs): Deleted. + (ucs_to_latin_viscii_upper): Deleted. + (struct Lisp_Charset): Renamed `encoding_table' to + `to_byte1_table'; add `to_byte2_table'. + (CHARSET_DECODING_TABLE): New macro. + (CHARSET_TO_BYTE1_TABLE): New macro. + (CHARSET_TO_BYTE2_TABLE): New macro. + (XCHARSET_DECODING_TABLE): New macro. + (XCHARSET_TO_BYTE1_TABLE): New macro. + (XCHARSET_TO_BYTE2_TABLE): New macro. + (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs' + tables. + (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined; + don't use `ucs_to_*' tables. + +1999-09-11 MORIOKA Tomohiko + + * text-coding.c (Fmake_coding_system): Don't set up + `codesys->fixed.size'. + (encode_coding_no_conversion): Use `if' instead of `switch'. + + * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'. + +1999-09-11 MORIOKA Tomohiko + + * mule-charset.c (make_charset): Delete argument `rep_bytes'. + (Fmake_charset): Modify for `make_charset'. + (Fmake_reverse_direction_charset): Likewise. + (complex_vars_of_mule_charset): Likewise. + +1999-09-11 MORIOKA Tomohiko + + * text-coding.c (char_encode_shift_jis): Use table + `ucs_to_latin_jisx0201' and BREAKUP_CHAR. + +1999-09-11 MORIOKA Tomohiko + + * text-coding.c (text_encode_generic): Use `if' instead of + `switch'. + (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to + decode JIS-Latin. + +1999-09-10 MORIOKA Tomohiko + + * text-coding.c (encode_coding_sjis): Deleted. + (char_encode_shift_jis): New function. + (char_finish_shift_jis): New function. + (reset_encoding_stream): Set up `encode_char' and `finish' for + `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'. + (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'. + (char_encode_utf8): Treat `eol_type'. + +1999-09-10 MORIOKA Tomohiko + + * file-coding.c (decode_coding_iso2022): Use + `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'. + +1999-09-10 MORIOKA Tomohiko + + * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version' + to 0.7 (Hirano). + +1999-09-10 MORIOKA Tomohiko + + * char-lb.h (CHAR_COLUMNS): New macro. + +1999-09-09 MORIOKA Tomohiko + + * text-coding.c (char_encode_ucs4): New function. + (char_finish_ucs4): New function. + (encode_coding_ucs4): Deleted. + (mule_encode): Use generic encoder for `CODESYS_UCS4'. + (text_encode_generic): Delete local variable `charset' and `half'. + (ucs_to_mule_table): Deleted. + (mule_to_ucs_table): Deleted. + (Fset_ucs_char): Deleted. + (ucs_to_char): Deleted. + (Fucs_char): Deleted. + (Fset_char_ucs): Deleted. + (Fchar_ucs): Deleted. + (decode_ucs4): Deleted. + (mule_char_to_ucs4): Deleted. + (encode_ucs4): Deleted. + (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'. + (decode_coding_utf8): Likewise. + (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'. + (char_encode_iso2022): Fixed. + (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char', + `Fset_char_ucs' and `Fchar_ucs'. + (complex_vars_of_file_coding): Don't initialize + `ucs_to_mule_table'. + + * objects-tty.c (tty_initialize_font_instance): Don't use + `XCHARSET_COLUMNS'. + + * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in + UTF-2000. + + * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS' + instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'. + + * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS' + instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'. + (emchar_string_displayed_columns): Likewise. + + * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of + `XCHARSET_COLUMNS' and `CHAR_CHARSET'. + (string_column_at_point): Likewise. + (Fmove_to_column): Likewise. + + * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add + `encoding_table' and `decoding_table'. + (CHARSET_REP_BYTES): Deleted. + (XCHARSET_REP_BYTES): Deleted. + (XCHARSET_COLUMNS): Deleted. + (CHAR_COLUMNS): New macro. + (lookup_composite_char): Deleted unconditionally. + (composite_char_string): Likewise. + +1999-09-09 MORIOKA Tomohiko + + * char-ucs.h (Emchar_to_byte_table): New type. + (get_byte_from_character_table): New function interface. + (Vcharset_latin_jisx0201): New variable. + (latin_jisx0201_to_ucs): New variable. + (ucs_to_latin_jisx0201): New variable. + (Vcharset_latin_iso8859_2): New variable. + (latin_iso8859_2_to_ucs): New variable. + (ucs_to_latin_iso8859_2): New variable. + (Vcharset_latin_iso8859_3): New variable. + (latin_iso8859_3_to_ucs): New variable. + (ucs_to_latin_iso8859_3): New variable. + (Vcharset_latin_iso8859_4): New variable. + (latin_iso8859_4_to_ucs): New variable. + (ucs_to_latin_iso8859_4): New variable. + (Vcharset_latin_iso8859_9): New variable. + (latin_iso8859_9_to_ucs): New variable. + (ucs_to_latin_iso8859_9): New variable. + (Vcharset_latin_viscii_lower): New variable. + (latin_viscii_lower_to_ucs): New variable. + (ucs_to_latin_viscii_lower): New variable. + (Vcharset_latin_viscii_upper): New variable. + (latin_viscii_upper_to_ucs): New variable. + (ucs_to_latin_viscii_upper): New variable. + (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55. + (LEADING_BYTE_LATIN_VISCII_LOWER): New macro. + (LEADING_BYTE_LATIN_VISCII_UPPER): New macro. + (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3', + `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201', + `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP. + (breakup_char_1): Use `ucs_to_latin_iso8859_2', + `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4', + `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower', + `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables. + + * mule-charset.c (Vcharset_latin_viscii_lower): New variable. + (Vcharset_latin_viscii_upper): New variable. + (make_byte_from_character_table): New function. + (put_byte_from_character_table): New function. + (get_byte_from_character_table): New function. + (CHAR96): New macro. + (ucs_to_latin_jisx0201): New variable. + (latin_jisx0201_to_ucs): New variable. + (ucs_to_latin_iso8859_2): New variable. + (latin_iso8859_2_to_ucs): New variable. + (ucs_to_latin_iso8859_3): New variable. + (latin_iso8859_3_to_ucs): New variable. + (ucs_to_latin_iso8859_4): New variable. + (latin_iso8859_4_to_ucs): New variable. + (ucs_to_latin_iso8859_9): New variable. + (latin_iso8859_9_to_ucs): New variable. + (ucs_to_latin_viscii_lower): New variable. + (latin_viscii_lower_to_ucs): New variable. + (ucs_to_latin_viscii_upper): New variable. + (latin_viscii_upper_to_ucs): New variable. + (ucs_to_latin_tcvn5712): New variable. + (latin_tcvn5712_to_ucs): New variable. + (Qlatin_viscii_lower): New variable. + (Qlatin_viscii_upper): New variable. + (syms_of_mule_charset): Set up new symbol + `vietnamese-viscii-lower' and `vietnamese-viscii-upper'. + (complex_vars_of_mule_charset): Set up new charset + `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro + `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate + `ucs_to_' tables. + +1999-09-08 MORIOKA Tomohiko + + * text-coding.c: New file. + +1999-09-07 MORIOKA Tomohiko + + * mule-charset.c (Fmake_char): Fix problem of 256-set. + + * char-ucs.h (Vcharset_ucs_bmp): New variable. + (MAKE_CHAR): Modify for `ucs-bmp'. + (breakup_char_1): Return `ucs-bmp' and code point of BMP for + non-MULE characters of BMP. + +1999-09-06 MORIOKA Tomohiko + + * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version' + to 0.6. + +1999-09-05 MORIOKA Tomohiko + + * lstream.h: + - Include multibyte.h instead of character.h for `BYTE_ASCII_P'. + - Include character.h for `CHAR_ASCII_P'. + + * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h. + + * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h. + (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'. + + * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h. + (BYTE_C0_P): Likewise. + (BYTE_C1_P): Likewise. + (Lstream_get_emchar_1): Likewise. + (Lstream_fput_emchar): Likewise. + (Lstream_funget_emchar): Likewise. + (copy_internal_to_external): Likewise. + (copy_external_to_internal): Likewise. + + * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h. + (BYTE_C0_P): Likewise. + (BYTE_C1_P): Likewise. + (Lstream_get_emchar_1): Likewise. + (Lstream_fput_emchar): Likewise. + (Lstream_funget_emchar): Likewise. + (copy_internal_to_external): Likewise. + (copy_external_to_internal): Likewise. + + * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h. + (REP_BYTES_BY_FIRST_BYTE): Likewise. + + * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h. + (BYTE_ASCII_P): Moved to mb-1byte.h. + +1999-09-04 MORIOKA Tomohiko + + * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h. + + * multibyte.h: Include mb-1byte.h in unibyte-XEmacs. + (MAX_EMCHAR_LEN): Moved to mb-1byte.h. + (VALID_CHARPTR_P): Moved to mb-*byte.h. + (VALIDATE_CHARPTR_BACKWARD): Likewise. + (VALIDATE_CHARPTR_FORWARD): Likewise. + (simple_charptr_emchar): Moved to mb-multibyte.h. + (simple_set_charptr_emchar): Likewise. + (simple_charptr_copy_char): Likewise. + (non_ascii_charptr_emchar): Likewise. + (non_ascii_set_charptr_emchar): Likewise. + (non_ascii_charptr_copy_char): Likewise. + (charptr_emchar): Moved to mb-*byte.h. + (set_charptr_emchar): Likewise. + (charptr_copy_char): Likewise. + + * mb-1byte.h, mb-multibyte.h: New files. + +1999-09-03 MORIOKA Tomohiko + + * mb-utf-8.h (MULTIBYTE): New macro. + (MAX_EMCHAR_LEN): Moved from buffer.h. + (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h. + + * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h. + + * mb-lb.h, multibyte.h: New files. + + * char-1byte.h (Charset_ID): Moved from buffer.h. + (MIN_LEADING_BYTE): Likewise. + (LEADING_BYTE_ASCII): Likewise. + (NUM_LEADING_BYTES): Likewise. + (CHARSETP): Likewise. + (CHARSET_BY_LEADING_BYTE): Likewise. + (XCHARSET_LEADING_BYTE): Likewise. + (XCHARSET_GRAPHIC): Likewise. + (XCHARSET_COLUMNS): Likewise. + (XCHARSET_DIMENSION): Likewise. + (CHAR_CHARSET): Likewise. + (CHAR_LEADING_BYTE): Likewise. + (BREAKUP_CHAR): Likewise. + (Vcharset_ascii): Likewise. + + * buffer.h: Include multibyte.h unconditionally. + (VALID_CHARPTR_P): Moved to multibyte.h. + (ASSERT_VALID_CHARPTR): Likewise. + (REAL_INC_CHARPTR): Likewise. + (REAL_INC_CHARBYTIND): Likewise. + (REAL_DEC_CHARPTR): Likewise. + (INC_CHARPTR): Likewise. + (INC_CHARBYTIND): Likewise. + (DEC_CHARPTR): Likewise. + (VALIDATE_CHARPTR_BACKWARD): Likewise. + (VALIDATE_CHARPTR_FORWARD): Likewise. + (charptr_n_addr): Likewise. + (MAX_EMCHAR_LEN): Moved to mb-*.h. + (simple_charptr_emchar): Moved to multibyte.h. + (simple_set_charptr_emchar): Likewise. + (simple_charptr_copy_char): Likewise. + (non_ascii_charptr_emchar): Likewise. + (non_ascii_set_charptr_emchar): Likewise. + (non_ascii_charptr_copy_char): Likewise. + (charptr_emchar): Likewise. + (set_charptr_emchar): Likewise. + (charptr_copy_char): Likewise. + (charptr_emchar_n): Likewise. + (Charset_ID): Moved to char-1byte.h. + (Vcharset_ascii): Likewise. + (CHAR_CHARSET): Likewise. + (CHAR_LEADING_BYTE): Likewise. + (LEADING_BYTE_ASCII): Likewise. + (NUM_LEADING_BYTES): Likewise. + (MIN_LEADING_BYTE): Likewise. + (CHARSETP): Likewise. + (CHARSET_BY_LEADING_BYTE): Likewise. + (XCHARSET_LEADING_BYTE): Likewise. + (XCHARSET_GRAPHIC): Likewise. + (XCHARSET_COLUMNS): Likewise. + (XCHARSET_DIMENSION): Likewise. + (BREAKUP_CHAR): Likewise. + +1999-09-02 MORIOKA Tomohiko + + * character.h: Add document about interface for characters. + + * char-ucs.h (CHAR_ASCII_P): Modify name of argument. + (MAKE_CHAR): Delete comment about + `FIELD2_TO_OFFICIAL_LEADING_BYTE' and + `FIELD2_TO_PRIVATE_LEADING_BYTE'. + (BREAKUP_CHAR): Modify name of arguments. + (CHAR_CHARSET): Modify name of argument. + + * buffer.h: Delete document about Emchar accessors. + +1999-09-02 MORIOKA Tomohiko + + * character.h (CHAR_INTP): Moved from buffer.h + (CHAR_OR_CHAR_INTP): Likewise. + (XCHAR_OR_CHAR_INT): Likewise. + (CHECK_CHAR_COERCE_INT): Likewise. + + * buffer.h (CHAR_INTP): Moved to character.h + (CHAR_OR_CHAR_INTP): Likewise. + (XCHAR_OR_CHAR_INT): Likewise. + (CHECK_CHAR_COERCE_INT): Likewise. + +1999-09-02 MORIOKA Tomohiko + + * character.h: + - Move definitions about UCS-2000 (UCS-4) to char-ucs.h. + - Include char-1byte.h, char-lb.h or char-ucs.h. + + * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h. + + * buffer.h: Include character unconditionally. + (valid_char_p): Moved to char-*.h. + (non_ascii_valid_char_p): Moved to char-lb.h. + + * char-1byte.h, char-lb.h, char-ucs.h: New files. + +1999-09-02 MORIOKA Tomohiko + + * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2' + in UTF-2000 because it is not ported yet and not to use + `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2', + `FIELD1_TO_OFFICIAL_LEADING_BYTE' and + `FIELD1_TO_PRIVATE_LEADING_BYTE'. + + * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h. + (CHAR_ASCII_P): Moved from character.h. + + * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h. + (CHAR_ASCII_P): Likewise. + (CHAR_FIELD1_MASK): Deleted. + (CHAR_FIELD2_MASK): Deleted. + (CHAR_FIELD3_MASK): Deleted. + (MAX_CHAR_BASIC_LATIN): New macro. + (CHAR_FIELD1): Deleted. + (CHAR_FIELD2_INTERNAL): Deleted. + (CHAR_FIELD3_INTERNAL): Deleted. + (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted. + (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted. + (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted. + (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted. + (MIN_CHAR_FIELD1_OFFICIAL): Deleted. + (MAX_CHAR_FIELD1_OFFICIAL): Deleted. + (MIN_CHAR_FIELD2_PRIVATE): Deleted. + (MAX_CHAR_FIELD2_PRIVATE): Deleted. + (MIN_CHAR_FIELD1_PRIVATE): Deleted. + (MAX_CHAR_FIELD1_PRIVATE): Deleted. + (MULE_CHAR_PRIVATE_OFFSET): Deleted. + (MIN_CHAR_PRIVATE_TYPE9N): Deleted. + (MAX_CHAR_PRIVATE_TYPE9N): Deleted. + (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted. + (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted. + (MIN_CHAR_COMPOSITION): Deleted. + (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of + `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'. + +1999-09-02 MORIOKA Tomohiko + + * buffer.h: Include mb-utf-8.h in UTF-2000. + + * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h. + + * mb-utf-8.h: New file. + +1999-09-02 MORIOKA Tomohiko + + * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID' + instead of `int'. + + * mule-charset.h, buffer.h (Charset_ID): New type. + +1999-09-01 MORIOKA Tomohiko + + * mule-canna.c (c2mu): Use `MAKE_CHAR', + `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208' + instead of `MULE_CHAR_PRIVATE_OFFSET', + `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208' + and `FIELD1_TO_OFFICIAL_LEADING_BYTE'. + (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'. + + * character.h (Vcharset_japanese_jisx0212): New variable + definition. + +1999-09-01 MORIOKA Tomohiko + + * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000. + (charset_by_attributes): Delete array about direction. + (latin_a_char_to_charset): New variable in UTF-2000. + (latin_a_char_to_byte1): New variable in UTF-2000. + (latin_a_char_to_byte2): New variable in UTF-2000. + (Qucs_bmp): New variable. + (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of + `Bufbyte'. + (next_allocated_2_byte_leading_byte): Likewise. + (non_ascii_set_charptr_emchar): Likewise. + (make_charset): Likewise; add `CHARSET_TYPE_128X128' and + `CHARSET_TYPE_256X256' in UTF-2000; modify for + `charset_by_attributes'. + (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'. + (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE' + and `CHARSET_BY_LEADING_BYTE'. + (syms_of_mule_charset): Set up `ucs-bmp'; move setting of + `utf-2000-version' to `vars_of_mule_charset'. + (vars_of_mule_charset): Modify for `charset_by_attributes'; don't + define `leading-code-private-11' in UTF-2000; move setting of + `utf-2000-version' from `syms_of_mule_charset'. + (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in + UTF-2000. + + * character.h (Charset_ID): New type. + (LEADING_BYTE_UCS_BMP): New macro. + (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81. + (CHARSET_ID_OFFSET_94): New macro. + (MIN_CHARSET_ID_PRIVATE_94): New macro. + (MAX_CHARSET_ID_PRIVATE_94): New macro. + (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and + final-byte. + (LEADING_BYTE_KATAKANA_JISX0201): Likewise. + (LEADING_BYTE_LATIN_JISX0201): Likewise. + (CHARSET_ID_OFFSET_96): New macro. + (LEADING_BYTE_LATIN_ISO8859_1): Changed to use + CHARSET_ID_OFFSET_96 and final-byte. + (LEADING_BYTE_LATIN_ISO8859_2): Likewise. + (LEADING_BYTE_LATIN_ISO8859_3): Likewise. + (LEADING_BYTE_LATIN_ISO8859_4): Likewise. + (LEADING_BYTE_GREEK_ISO8859_7): Likewise. + (LEADING_BYTE_ARABIC_ISO8859_6): Likewise. + (LEADING_BYTE_HEBREW_ISO8859_8): Likewise. + (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise. + (LEADING_BYTE_LATIN_ISO8859_9): Likewise. + (LEADING_BYTE_THAI_TIS620): Likewise. + (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0. + (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF. + (CHARSET_ID_OFFSET_94x94): New macro. + (LEADING_BYTE_CHINESE_BIG5_1): Changed to use + CHARSET_ID_OFFSET_94x94 and final-byte. + (LEADING_BYTE_CHINESE_BIG5_2): Likewise. + (MIN_LEADING_BYTE_PRIVATE_2): Likewise. + (MAX_LEADING_BYTE_PRIVATE_2): Likewise. + (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise. + (LEADING_BYTE_CHINESE_GB2312): Likewise. + (LEADING_BYTE_JAPANESE_JISX0208): Likewise. + (LEADING_BYTE_KOREAN_KSC5601): Likewise. + (LEADING_BYTE_JAPANESE_JISX0212): Likewise. + (LEADING_BYTE_CHINESE_CCITT_GB): Likewise. + (LEADING_BYTE_CHINESE_CNS11643_*): Likewise. + (LEADING_BYTE_KOREAN_KPS9566): Likewise. + (CHARSET_TYPE_128X128): New macro. + (CHARSET_TYPE_256X256): New macro. + (XCHARSET_PRIVATE_P): Delete unconditionally. + (charset_by_attributes): Delete array about direction. + (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'. + (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'. + (MIN_CHAR_94): New macro. + (MAX_CHAR_94): New macro. + (MIN_CHAR_96): New macro. + (MAX_CHAR_96): New macro. + (MIN_CHAR_94x94): New macro. + (MAX_CHAR_94x94): New macro. + (MIN_CHAR_96x96): New macro. + (MAX_CHAR_96x96): New macro. + (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'. + (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise. + (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1 + - 32)'. + (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'. + (MIN_CHAR_FIELD2_OFFICIAL): Deleted. + (MAX_CHAR_FIELD2_OFFICIAL): Deleted. + (MIN_CHAR_OFFICIAL_TYPE9N): Deleted. + (MAX_CHAR_PRIVATE_TYPE9N): Changed. + (MAKE_CHAR): Use `XCHARSET_FINAL' instead of + `XCHARSET_LEADING_BYTE' to make code-point. + (latin_a_char_to_charset): New variable. + (latin_a_char_to_byte1): New variable. + (latin_a_char_to_byte2): New variable. + (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for + Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of + `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters. + + * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID' + instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128. + (find_charsets_in_emchar_string): Likewise. + (vars_of_insdel): Don't define local variable `i' in UTF-2000. + + * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of + `int'. + (decode_coding_iso2022): Likewise. + + * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead + of `unsigned char'. + + * redisplay.c (redisplay_text_width_emchar_string): Use + `Charset_ID' instead of `unsigned char'. + (redisplay_frame_text_width_string): Likewise. + + * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of + `unsigned char'. + + * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID' + instead of `unsigned char'. + (face_cachel_charset_font_metric_info): Likewise. + + * chartab.c (print_char_table): Use `Charset_ID' instead of `int'. + (get_non_ascii_char_table_value): Likewise. + (get_char_table): Likewise. + (put_char_table): Likewise. + (map_over_other_charset): Likewise. + (map_char_table): Likewise. + + * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID' + instead of `unsigned char'. + +1999-08-31 MORIOKA Tomohiko + + * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted. + (PRE_LEADING_BYTE_PRIVATE_2): Deleted. + + * mule-charset.c (leading_code_private_11): Don't define in + UTF-2000. + + * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2' + in UTF-2000 because it is not ported yet and not to use + `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'. + +1999-08-30 MORIOKA Tomohiko + + * character.h (LEADING_BYTE_COMPOSITE): Deleted. + +1999-08-29 MORIOKA Tomohiko + + * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P' + in UTF-2000. + + * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead + of unsigned char to store leading-byte. + + * chartab.c (get_non_ascii_char_table_value): Don't use + `BREAKUP_CHAR_1_UNSAFE' in UTF-2000. + + * file-coding.c (encode_coding_big5): Delete bogus implementation + in UTF2000. + + * character.h (LEADING_BYTE_*): Delete definition for + non-UTF-2000. + (LEADING_BYTE_PRIVATE_P): Deleted unconditionally. + (LEADING_BYTE_PREFIX_P): Deleted. + (PRIVATE_LEADING_BYTE_PREFIX): Deleted. + (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000. + (BUFBYTE_LEADING_BYTE_P): Deleted. + (CHARSET_PRIVATE_P): Deleted unconditionally. + (rep_bytes_by_first_byte): Deleted unconditionally. + (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000. + (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise. + (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise. + (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise. + (CHAR_FIELD2): Deleted. + (CHAR_FIELD3): Deleted. + (MAKE_CHAR): Delete definition for non-UTF-2000. + (BREAKUP_CHAR_1_UNSAFE): Deleted. + (breakup_char_1): New implementation. + (CHAR_CHARSET): Use `BREAKUP_CHAR'. + (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'. + +1999-08-29 MORIOKA Tomohiko + + * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of + condition. + +1999-08-28 MORIOKA Tomohiko + + * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000. + (CHARSET_PRIVATE_P): Likewise. + (XCHARSET_PRIVATE_P): Likewise. + (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000. + + * file-coding.c (encode_coding_ucs4): Delete bogus implement in + UTF2000. + (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000. + +1999-08-28 MORIOKA Tomohiko + + * character.h (LEADING_BYTE_*): Changed in UTF2000. + (NUM_LEADING_BYTES): Changed from 128 to 256. + (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000. + (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in + UTF2000. + (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000. + + * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in + UTF2000. + (Vcharset_chinese_cns11643_4): New variable in UTF2000. + (Vcharset_chinese_cns11643_5): New variable in UTF2000. + (Vcharset_chinese_cns11643_6): New variable in UTF2000. + (Vcharset_chinese_cns11643_7): New variable in UTF2000. + (Qchinese_cns11643_3): New variable in UTF2000. + (Qchinese_cns11643_4): New variable in UTF2000. + (Qchinese_cns11643_5): New variable in UTF2000. + (Qchinese_cns11643_6): New variable in UTF2000. + (Qchinese_cns11643_7): New variable in UTF2000. + (syms_of_mule_charset): Define `chinese-cns11643-3', + `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6' + and `chinese-cns11643-7' in UTF2000. + (vars_of_mule_charset): Initialize + next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2 + + 1 in UTF2000. + (complex_vars_of_mule_charset): Setup charset + `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5', + `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000. + +1999-08-27 MORIOKA Tomohiko + + * mule-charset.c: Move setting for `leading-code-private-11' from + `syms_of_mule_charset' to `vars_of_mule_charset'. + +1999-08-27 MORIOKA Tomohiko + + * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' + and `NUM_LEADING_BYTES' in assert. + +1999-08-27 MORIOKA Tomohiko + + * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES' + instead of 128. + (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and + `NUM_LEADING_BYTES' instead of 128. + +1999-08-26 MORIOKA Tomohiko + + * mule-charset.h (charset_by_leading_byte): Use + `NUM_LEADING_BYTES' instead of 128. + (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128. + + * mule-charset.c (charset_by_leading_byte): Use + `NUM_LEADING_BYTES' instead of 128. + (make_charset): Use `MIN_LEADING_BYTE' instead of 128. + + * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of + 128. + +1999-08-25 MORIOKA Tomohiko + + * mule-charset.c (syms_of_mule_charset): Update to + 0.4 (Shin-Imamiya). + +1999-07-13 Daiki Ueno + + * file-coding.c (encode_coding_sjis): New implementation for + UTF2000. (decode_coding_sjis): Ditto. + +1999-06-17 MORIOKA Tomohiko + + * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte): + Don't define in UTF2000. + + * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not + defined. + + * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c, + mule-ccl.c, lstream.h, buffer.h: Include character.h in every + MULE. + +1999-06-17 MORIOKA Tomohiko + + * config.h.in (CHAR_IS_UCS4): New macro. + + * mule-charset.c (rep_bytes_by_first_byte): Modify for + conventional MULE representation. + (syms_of_mule_charset): Update to 0.3 (Imamiya). + + * mule-charset.h: Reverted to original. + + * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c, + mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of + "mule-charset.h" if CHAR_IS_UCS4 is defined. + + * character.h: New file. + + * file-coding.c (Fmake_coding_system): Set 1 to + `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is + defined. + (encode_coding_no_conversion): New implementation for UTF2000. + + * file-coding.h (struct Lisp_Coding_System): Add new member + `fixed.size'. + +1999-06-16 MORIOKA Tomohiko + + * file-coding.c (decode_coding_iso2022): Code-point arguments of + `MAKE_CHAR' must be smaller than 0x80 in UTF2000. + (encode_coding_iso2022): New implementation for UTF2000. + +1999-06-15 MORIOKA Tomohiko + + * mule-canna.c (c2mu): New implementation for UTF2000. + (m2c): Likewise. + +1999-06-15 MORIOKA Tomohiko + + * file-coding.c (encode_coding_no_conversion): Modify for UTF2000. + +1999-06-15 MORIOKA Tomohiko + + * file-coding.c (reset_encoding_stream): Set 0 to + `str->iso2022.current_char_boundary' in UTF2000. + (encode_utf8): Don't define in UTF2000. + (encode_coding_utf8): New implementation for UTF-8 representation + of UTF2000. + (complex_vars_of_file_coding): Define coding-system `utf-8'. + +1999-06-15 MORIOKA Tomohiko + + * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000. + + * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in + UTF2000. + (REP_BYTES_BY_FIRST_BYTE): Likewise. + + * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000. + + * mule-charset.c (non_ascii_set_charptr_emchar): Don't define + local variables `lb', `c1', `c2' and `charset' in UTF2000; encode + as UTF-8 in UTF2000. + (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000. + (non_ascii_valid_char_p): Don't define in UTF2000. + (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000. + (Lstream_get_emchar_1): Likewise. + (utf-2000-version): New variable in UTF2000. + + * lread.c (read_escape): Add new reader `u'. + + * insdel.c (three_to_one_table): Don't define in UTF2000. + (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of + `buf->text->mule_shifter' and `buf->text->mule_three_p' in + UTF2000. + (bytind_to_bufpos_func): Likewise. + (buffer_mule_signal_inserted_region): Likewise. + (vars_of_insdel): Don't initialize `three_to_one_table'. + (init_buffer_text): Use `buf->text->mule_size' instead of + `buf->text->mule_shifter' and `buf->text->mule_three_p' in + UTF2000. + + * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for + UTF-8 representation in UTF2000. + (DECODE_ADD_UCS_CHAR): New macro in UTF2000. + (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000. + (decode_coding_iso2022): Don't define local variable `lb' in + UTF2000; don't use LEADING_BYTE in UTF2000; use + `DECODE_ADD_UCS_CHAR' in UTF2000. + (convert_to_external_format): Decode as UTF-8 in UTF2000. + + * config.h.in (UTF2000): New macro. + + * buffer.h (struct buffer_text): Add new member `mule_size' and + don't add `mule_shifter' and `mule_three_p' in UTF2000. + (valid_char_p): Return always 1 in UTF2000. + (MAX_EMCHAR_LEN): 6 in UTF2000. + (three_to_one_table): Don't define in UTF2000. + (real_bufpos_to_bytind): Modify for UTF-8 representation in + UTF2000. + (real_bytind_to_bufpos): Likewise. + + * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000. + +1999-06-10 MORIOKA Tomohiko + + * mule-charset.c (rep_bytes_by_first_byte): Modified for character + representation change. + (Vutf_2000_version): New variable. + (leading_code_private_11): New variable. + (syms_of_mule_charset): Add new variables `utf-2000-version' and + `leading-code-private-11'. + + * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro. + (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally. + (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97. + (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98. + (LEADING_BYTE_CHINESE_CNS11643_3): New macro. + (LEADING_BYTE_CHINESE_CNS11643_4): Likewise. + (LEADING_BYTE_CHINESE_CNS11643_5): Likewise. + (LEADING_BYTE_CHINESE_CNS11643_6): Likewise. + (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used]. + (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally. + (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used]. + (CHAR_FIELD1_MASK): Changed to (0x7F << 14). + (MIN_CHAR_GREEK): New macro. + (MAX_CHAR_GREEK): New macro. + (MIN_CHAR_CYRILLIC): New macro. + (MAX_CHAR_CYRILLIC): New macro. + (MIN_CHAR_HEBREW): New macro. + (MAX_CHAR_HEBREW): New macro. + (MIN_CHAR_THAI): New macro. + (MAX_CHAR_THAI): New macro. + (MIN_CHAR_HALFWIDTH_KATAKANA): New macro. + (MAX_CHAR_HALFWIDTH_KATAKANA): New macro. + (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'. + (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'. + (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0. + (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50. + (CHAR_FIELD2): New inline function. + (CHAR_FIELD3): New inline function. + (MULE_CHAR_PRIVATE_OFFSET): New macro. + (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'. + (MIN_CHAR_PRIVATE_TYPE9N): Likewise. + (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise. + (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise. + (MIN_CHAR_COMPOSITION): Likewise. + (CHAR_LEADING_BYTE): Modified for character representation change. + (MAKE_CHAR): Likewise. + + * lisp.h (Vcharset_latin_iso8859_1): New variable. + (Vcharset_greek_iso8859_7): Likewise. + (Vcharset_cyrillic_iso8859_5): Likewise. + (Vcharset_hebrew_iso8859_8): Likewise. + (Vcharset_thai_tis620): Likewise. + (Vcharset_katakana_jisx0201): Likewise. + +2003-01-03 Stephen J. Turnbull + + * XEmacs 21.4.11 "Native Windows TTY Support" is released. + +2002-12-14 Ben Wing + + * callint.c: Declaration error. + * dumper.c (pdump): + * dumper.c (pdump_load): Warning fix. + * process.c: GCPRO error. + * glyphs.c (unmap_subwindow): + * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&. + * event-stream.c (maybe_kbd_translate): Wrong argument to + character_to_event(). + + * alloc.c (garbage_collect_1): + * emacs.c: + * emacs.c (debug_can_access_memory): + * emacs.c (fatal_error_signal): + * emacs.c (mswindows_handle_hardware_exceptions): + * emacs.c (main_1): + * emacs.c (main): + * emacs.c (assert_failed): + * emacs.c (syms_of_emacs): + * lisp.h: + * print.c: + * print.c (std_handle_out_va): + * print.c (write_string_to_stdio_stream): + * print.c (write_fmt_string): + * print.c (printing_badness): + * print.c (printing_major_badness): + * print.c (print_internal): + * print.c (debug_print_no_newline): + * print.c (debug_backtrace): + Be more defensive in handling bad values when printing. Add code + from trunk involving inhibit_non_essential_printing_operations. + When going down or in debug_print(), don't do external conversion + and such and try really, really hard when printing to avoid core + dumping. Add force-debugging-signal, debug_break(). + +2002-12-12 Stephen J. Turnbull + + * dumper.c (pdump_load): Include sysdep.h; retry with truename. + Analysis and original patch by Vin Shelton . + +2002-12-02 Greg Allen + + * database.c: Fix open_database. Berkeley DB API has changed in + 4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html + +2002-11-26 Stephen J. Turnbull + + * specifier.c (Fvalid_specifier_type_p): Typo in comment. + +2002-11-13 Stephen J. Turnbull + + * event-Xt.c (Xt_timeout): + (Xt_timeout_callback): + (emacs_Xt_add_timeout): + (emacs_Xt_remove_timeout): + (Xt_timeout_to_emacs_event): + Turn completed_timeouts from a stack into a queue. Fixes + deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>. + +2002-11-07 Wolfram Gloger + + * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc. + * emacs.c (main): Assert that mmap'd allocation is disabled. + +2002-10-14 Andy Piper + + * glyphs-widget.c (layout_query_geometry): add in fiddle + factor. Include border text in width layout calculation. + (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10. + +2002-11-02 Stephen J. Turnbull + + * XEmacs 21.4.10 "Military Intelligence" is released. + +2002-10-17 Raymond Toy + + * nas.c: Update for NAS 1.6 and later, from Jon Trulson. Was + using the NAS private array SoundFileInfo that no longer exists in + NAS 1.6 and later. Preserve backward compatibility with NAS 1.5a + and earlier. This is broken for some versions between 1.5a and + 1.5f. + +2002-10-10 Stephen J. Turnbull + + * realpath.c (win32_readlink): Try to fix truename of wildcard bug. + + * emacs.c (shut_down_emacs): Improve crash message. + +2002-10-09 Stephen J. Turnbull + + * file-coding.c (determine_real_coding_system): Check for coding + cookie in first LINES_TO_CHECK lines (currently 2). Cater to + shebangs and Python PEP 263. + +2002-10-08 Andy Piper + + * glyphs-widget.c (layout_query_geometry): only resize dynamically + if static sizes haven't been set. + +2002-08-30 Mike Alexander + + * event-msw.c (winsock_closer): Use closesocket, not CloseHandle + to close a socket. + +2002-10-03 Stephen J. Turnbull + + * callproc.c (child_setup): 21.4 doesn't have retry_close. + +2002-09-20 Mike Sperber + + (This partially gets back my patch from 2002-07-20 without the + bug.) + * callproc.c (child_setup): Remove Ben's comment noting confusion + over the file descriptors >= 3: close_process_descs() doesn't + close those. Fix fd range to go up to MAXDESC-1 instead of 64. + * process-unix.c (unix_create_process): Call + begin_dont_check_for_quit to inhibit unwanted interaction (and + thus breaking of X event synchronicity) in the child. + +2002-09-26 Golubev I. N. + + * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed + widget. + +2002-08-20 Ben Sigelman + + * event-Xt.c (drain_X_queue): loop over while(XEventsQueued()) + instead of while(XtAppPending()&XtIMXEvent). Upon a gdm logout, + the xemacs process did not exit, but looped infinitely here. This + fixes that problem. + +2002-09-28 Stephen J. Turnbull + + * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC. + (find_context): Improve comments. + + * regex.c (re_compile_fastmap): Gratuitous #ifdef comment fixes. + (re_match_2): An XCHAR_TABLE operation was missing. + + Many of the following changes were inspired by Andy Piper's (now + obsolete) patch to make syntax-table text property lookup optional. + + [Documentation] + + * syntax.h (top level): Document semantics of syntax flags. + * syntax.c (comstr_start, Fforward_comment): Improve comments. + * syntax.c, syntax.h (top level): Document syntax cache better in + comments. + + [Instrument syntax caching (temporary change)] + + * syntax.h (enum syntax_cache_statistics_functions, struct + syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION, + SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros. + * syntax.c (scan_words, Fforward_comment, scan_lists, + Fbackward_prefix_characters): + * font-lock.c (find_context): + Use them to instrument syntax caching. + * syntax.c (struct syntax_cache_statistics, scs_statistics, + syntax_cache_statistics_function_names): New type and variables. + * syntax.c (update_syntax_cache): Update and report statistics. + + [Major syntax cache optimizations] + + syntax.c (lookup_syntax_properties): Default off. + + * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*. + * syntax.c (update_syntax_cache): + Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL. + + [Minor syntax cache optimizations and code clarifications] + + * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P, + SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P, + SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P, + SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START, + SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'. + (Code clarification.) + + * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward, + scan_lists): Compute code from syncode, use Boolean macros instead + of redundant masking operations. (Code clarification; any decent + compiler can do this optimization.) + + * syntax.c (scan_lists): Rearrange switches (case Sstring_fence) + for clarity. + + * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE, + PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally + use F*_single_property_change instead of F*_extent_change. + Currently F*_single_property_change is _much_ less efficient. + + * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object. + * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT): Initialize + syntax_cache.object properly, don't leave Qt or Qnil. + (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT. + * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not + tests for Qt or Qnil. + +2002-09-21 Stephen J. Turnbull + + * redisplay.c (point_in_line_start_cache): + * extents.c (print_extent_1): + Fix warnings. + + * extents.c (Fset_extent_property): Document `syntax-table' property. + + * extents.h (Fnext_single_property_change): EXFUN it. + +2002-09-09 Stephen J. Turnbull + + * search.c (clear_unused_search_regs): New static function. + (search_buffer): + (simple_search): + (boyer_moore): + Use it. Fixes "stale match data" bug reported by Martin Stjernholm. + Minor clarifications in comments. + + * regex.c (re_match_2_internal): Ensure no stale submatches. + +2002-09-09 Stephen J. Turnbull + + * event-Xt.c (enqueue_focus_event): Add missing prototype. + +2002-08-29 Jerry James + + * lisp.h: structrures -> structures. + +2002-06-03 Andy Piper + + * frame.c (frame_conversion_internal): add conversion appropriate + for setting frame dimensions in pixels. + + * console.h (struct console_methods): add device-specific widget + layout functions. + + * emacs.c (main_1): initialize glyph vars. + + * event-Xt.c (handle_focus_event_1): call handle_focus_event_2 + (handle_focus_event_2): new function. Allow focus to + be set to a particular window and widget. + (enqueue_focus_event): new function. Create a + synthetic focus event. + (emacs_Xt_handle_magic_event): call + handle_focus_event_2. + + * frame.c (Fset_frame_pixel_height): new function. Allow + pixel-based sizing. Does the right thing on character-oriented + displays. + (Fset_frame_pixel_width): ditto. + (Fset_frame_pixel_size): ditto. + (syms_of_frame): declare. + + * general-slots.h: add :vertically-justify and + :horizontally-justify. + + * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix. + (mswindows_widget_border_width): new function. + (mswindows_combo_box_instantiate): set border widths. + (console_type_create_glyphs_mswindows): declare. + + * glyphs-widget.c: + (check_valid_justification): allow vertical and horizontal + justification. + (widget_border_width): new function. Call device methods. + (widget_instance_border_width): ditto. + (logical_unit_height): new function. Determine the height of a + logical-unit. Logical units are intended to provide grid-like + layout for subcontrols in a layout. If the layout is + :vertically-justify top then subcontrols will be positioned on + logical-unit boundaries, thus allowing adjacent subcontrols to + line up. + (widget_logical_unit_height): ditto for widgets. + (redisplay_widget): misc cleanup. + (widget_spacing): new function. Call device specific + methods. Intended to be the default gap between adjacent widgets. + (widget_query_geometry): use new spacing functions to determine + appropriate geometry. + (initialize_widget_image_instance): initialize horizontal and + vertical justification. + (widget_instantiate): use logica-units where appropriate for + sizing large widgets. + (button_query_geometry): use widget_instance_border_width. + (tree_view_query_geometry): ditto. + (tab_control_query_geometry): ditto. + (edit_field_query_geometry): new function. + (layout_update): pick up :justify, :horizontally-justify and + :vertically-justify none of which worked previously. :justify is + used as a fallback for both horizontal and vertical justification. + (layout_query_geometry): use logical units to size appropriately. + (layout_layout): ditto. + (Fwidget_logical_to_character_width): new function. Allow users to + convert from logical units to characters so that frame sizes can + be set appropriately. + (Fwidget_logical_to_character_height): ditto. + (syms_of_glyphs_widget): declare. + (image_instantiator_edit_fields): add edit_field_query_geometry. + (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and + :horizontally-justify. + (specifier_vars_of_glyphs_widget): new function. Declare + Vwidget_border_width which is not yet used. + + * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events. + (x_widget_border_width): new function. + (x_widget_instantiate): create a sensible name for widgets. + (console_type_create_glyphs_x): declare x_widget_border_width. + + * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro. + (struct Lisp_Image_Instance): add :vertically-justify and + :horizontally-justify. + (LAYOUT_JUSTIFY_TOP): new. + (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new. + (ROUND_UP): new macro. Round argument up to next integral + interval. + + * redisplay-output.c (redisplay_output_layout): misc formatting. + + * symsinit.h: declare specifier_vars_of_glyphs_widget. + +2002-08-23 Stephen J. Turnbull + + * XEmacs 21.4.9 "Informed Management" is released. + +2002-08-19 Andy Piper + + * fileio.c (Ffile_truename): on cygwin using win32 normalize to + win32 format. + + * realpath.c (xrealpath): normalize drive spec also so that dir + sep chars are not mixed on cygwin. + +2002-08-06 Jerry James + + * window.c (Fsplit_window): Count only half of the divider width + against the left window when splitting horizontally. + +2002-06-24 Andy Piper + + * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole + toolbar was cleared. + + * toolbar-msw.c (mswindows_clear_frame_toolbars): new + function. Split out from mswindows_output_frame_toolbars. + (mswindows_output_frame_toolbars): move clear pieces to + mswindows_output_frame_toolbars. + + * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split + out from gtk_output_frame_toolbars. + (gtk_output_frame_toolbars): move clear pieces to + gtk_clear_frame_toolbars. + + * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when + the frame is cleared. How this ever worked before is a mystery. + (x_output_frame_toolbars): Only output toolbars. + (x_clear_frame_toolbars): new. Clear previous toolbar locations. + + * gutter.c (update_gutter_geometry): + Mark frame layout changed. + (update_frame_gutter_geometry, update_frame_gutters): + Respect frame_layout_changed. + + * console.h (struct console_methods): add + clear_frame_toolbars_method. + + * redisplay.c (redisplay_frame): call + update_frame_toolbars_geometry and re-order update_frame_toolbars. + + * toolbar.h: declare update_frame_toolbars_geometry. + + * toolbar.c (update_frame_toolbars_geometry): new function. Split + out from update_frame_toolbars. Call clear_frame_toolbars. + (update_frame_toolbars): only output, do not change geometry. + + * redisplay.c: add frame_layout_changed. + + * redisplay.h: add frame_layout_changed. + (CLASS_RESET_CHANGED_FLAGS): set it. + (GLOBAL_RESET_CHANGED_FLAGS): ditto. + (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it. + (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto. + + * device.h (struct device): add frame_layout_changed. + (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new. + + * frame.h (struct frame): add frame_layout_changed. + (MARK_FRAME_LAYOUT_CHANGED): new. + +2002-06-30 Mike Alexander + + * event-msw.c (mswindows_need_event): Don't wait for a new message + if the queue is not empty. Suggested by Paul Moore. + +2002-06-12 Andy Piper + + * frame-msw.c (msprinter_init_frame_3): calculate the frame size + for printing on accurately. + +2002-06-09 Rick Rankin + + * event-msw.c (mswindows_wnd_proc): Add a handler for the + WM_ACTIVATE message. Make sure that the frame is visible if the + window is visible. This seemss to fix the problem where XEmacs + appears to freeze after switching desktops with certain virtual + window managers. + (debug_output_mswin_message): Added code to output message + parameters for WM_WINDOWPOSCHANGED, + WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages. + +2002-05-25 Andy Piper + + * select-x.c (vars_of_select_x): Fix docstring of + x-selection-strict-motif-ownership + +2002-08-14 Stephen J. Turnbull + + * keymap.c (get_keymap): + Add comment about do_autoload GCPROs own args. + +2002-08-14 Stephen J. Turnbull + + * bytecode.c (execute_optimized_program): check_opcode ifdef + ERROR_CHECK_BYTE_CODE. + +2002-08-14 Stephen J. Turnbull + + Thanks to Ben Wing and Michael Sperber. + + * eval.c (Fcommand_execute): + (Feval): + (Ffuncall): + (Fmacroexpand_internal): + (function_argcount): + callint.c (Fcall_interactively): + Add comment about do_autoload GCPROs own args. + + * (do_autoload): GCPRO both args as well as local Lisp_Object. + + * eval.c (Ffuncall): Extra braces to placate GCC. + +2002-08-10 Stephen J. Turnbull + + * backtrace.h (grow_specpdl): + (SPECPDL_RESERVE): + * EmacsFrame.c (EmacsFrameSetValues): + * eval.c (grow_specpdl): + * ExternalShell.c (hack_event_masks_1): + * glyphs-x.c (convert_EImage_to_XImage): + (x_finalize_image_instance): + * ralloc.c (page_size): + (r_alloc_sbrk): + * xgccache.c (gc_cache_hash): + Fix unsigned comparison warnings. + +2002-07-29 Jerry James + + * lread.c (locate_file): Any nonnegative return value indicates + success if MODE is nonnegative. + +2002-08-03 Brian A Palmer + + * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required + argument. + +2002-07-17 Stephen J. Turnbull + + * process-unix.c (unix_send_process): #ifdef the coding_stream member. + + * dumper.c (pdump_get_indirect_count): + (pdump_scan_by_alignment): + (pdump_dump_root_struct_ptrs): + (pdump_dump_rtables): + (pdump_dump_root_objects): + (pdump): + * nas.c (WaveOpenDataForReading): + * fns.c (print_bit_vector): + * font-lock.c (SINGLE_SYNTAX_STYLE): + * glyphs.c (check_for_ignored_expose): + (find_matching_subwindow): + * glyphs-eimage.c: + * imgproc.c (get_histogram): + * redisplay.c (point_in_line_start_cache): + * redisplay-output.c (redisplay_unmap_subwindows): + * symbols.c (defsymbol_massage_name_1): + (defkeyword_massage_name): + (deferror_massage_name_and_message): + * redisplay-x.c (x_output_string): + * emacs.c (run_temacs_argv_size, run_temacs_args_size): + * frame.h (struct frame): + * filelock.c (current_lock_owner): + * doprnt.c (emacs_doprnt_1): + * lisp.h (struct Lisp_Bit_Vector): + (DO_REALLOC): + Fix warnings. + +2002-02-13 Ben Wing + + * event-stream.c (reset_key_echo): + * event-stream.c (reset_this_command_keys): + * event-stream.c (execute_command_event): + If console is dead as a result of C-x 5 0, then post-command stuff + needs to be careful and do only non-console-specific stuff. + +2002-07-01 Mike Sperber + + * process-unix.c (unix_send_process): Mark coding_outstream as + non-open upon SIGPIPE. + + * event-stream.c (Fnext_event): Reorder switch cases to something + that makes sense. + +2001-08-13 Dmitry Astapov + + * event-Xt.c (maybe_define_x_key_as_self_inserting_character): + Don't bogusly reinitialize ascii_character property. + +2002-07-08 Mike Sperber + + * process.c (Fstart_process_internal): Do error checking before we + fork off the child, so the child can't muck with the state of the + parent. + +2002-07-08 Mike Sperber + + * ralloc.c (init_ralloc): Allocate properly for pdump. + +2002-06-12 Andy Piper + + * glyphs.c (query_string_geometry): check the string. + + * glyphs-widget.c (widget_logical_unit_height): cope with nil + widget names. + +2002-06-17 Jerry James + + * sysdll.c: Remove RTLD_GLOBAL initialization. + * sysdll.c (dll_open): Do not use RTLD_GLOBAL. + +2002-06-25 Stephen J. Turnbull + + * search.c (skip_chars): Port Ben's crash fix and efficiency patch. + +2002-05-16 Mathias Grimmberger + + * sysdep.c (sys_rename): Make sys_rename work for the case where + Windows rename sets errno to EACCES if target file exists. + +2002-05-21 Jonathan Harris + + * device-msw.c (mswindows_handle_page_setup_dialog_box): + Fix detection of metric units to work on Win95 + +2002-05-21 Stephen J. Turnbull + + * syswindows.h: #define LOCALE_RETURN_NUMBER. Why, I don't know. + +2002-04-25 Andy Piper + + * redisplay.c (create_text_block): Remove extra comment trailer. + +2002-04-24 Andy Piper + + * redisplay.c (create_text_block): Don't actually add propagation + data if the line ends after we have added a glyph. + +2002-04-22 Andy Piper + + * extents.c (extent_fragment_update): check for glyphs we have + previously displayed. + * extents.c (print_extent_1): warning removal. + * extents.h: change prototype. + * redisplay-output.c (redisplay_normalize_glyph_area): calculate + widths correctly for wide glyphs. + * redisplay.c (position_redisplay_data_type): add end_glyph_width. + * redisplay.c (prop_type): add PROP_GLYPH. + * redisplay.c (struct prop_block): add glyph type + * redisplay.c (add_glyph_rune): when adding part of a glyph add it + to the propagation data. + * redisplay.c (create_text_block): if there is a glyph in the + propagation data use it to salt extent_fragment_update. + * redisplay.c (create_string_text_block): ditto. + +2002-04-13 Nix + + * redisplay.h (struct rune): Add ascent, descent, and yoffset fields. + * redisplay-output.c (compare_runes): Compare them. + * redisplay.c: Update copyright date. + * redisplay.c (pos_data): Add need_baseline_computation field. + * redisplay.c (add_glyph_rune): Update ascent, descent, and + need_baseline_computation; zero yoffset. Set max_pixmap_height + for all pixmaps, not just automatically positioned ones. + * redisplay.c (calculate_yoffset): New, compute yoffset values. + * redisplay.c (calculate_baseline): New, compute textual baseline. + * redisplay.c (add_glyph_rune): Call them. + * redisplay.c (create_text_block): Likewise. + * redisplay.c (create_overlay_glyph_block): Likewise. + * redisplay.c (add_margin_runes): Likewise. + * redisplay.c (create_string_text_block): Likewise. Fix tabdamage. + + * redisplay.h: (redisplay_calculate_display_boxes): Change prototype. + * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset. + * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset. + * redisplay-msw.c (mswindows_output_string): Likewise. + * redisplay-msw.c (mswindows_output_display_block): Pass yoffset. + * redisplay-gtk.c (gtk_output_display_block): Likewise. + * redisplay-x.c (x_output_display_block): Likewise. + +2002-03-28 Ben Wing + + * redisplay.c: Fixed bug in redisplay + w.r.t. hscroll/truncation/continuation glyphs causing jumping up + and down of the lines, since they're bigger than the line + size. (It was seen most obviously when there's a horizontal scroll + bar, e.g. do C-h a glyph or something like that.) The problem was + that the glyph-contrib-p setting on glyphs was ignored even if it + was set properly, which it wasn't until now. + +2002-04-24 Andy Piper + + * lisp.h (Dynarr_end): Fix definition. + +2002-02-06 Adrian Aichner + + * redisplay.c (mark_redisplay): Remove call to + update_frame_window_mirror. + +2001-11-15 Andy Piper + + * win32.c (Fmswindows_shell_execute): fix handling of URL's under + cygwin (again). + +2002-02-13 Andy Piper + + * event-msw.c (mswindows_wnd_proc): only mark the frame visible if + we did in fact enqueue the XM_MAPFRAME event. + +2002-01-15 Adrian Aichner + + * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW + to fix problem switching between virtual desktops under virtuawin + virtual window manager. + +2001-07-30 Adrian Aichner + + * event-msw.c: Typo fix. + * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after + magic XM_MAPFRAME event has been sent. + +2001-11-23 Andy Piper + + * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events. + +2001-11-21 Andy Piper + + * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with + mouse events outside the frame. + +2002-03-20 Andy Piper + + * menubar-msw.c (mswindows_popup_menu): warning removal. + * dialog-msw.c (dialog_popped_down): ditto. + +2001-12-11 Andy Piper + + * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p. + * dialog-msw.c (mswindows_make_dialog_box_internal): set + popup_up_p. + * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto. + * menubar-msw.c (mswindows_handle_wm_command): ditto. + * menubar-msw.c (mswindows_popup_menu): ditto. + +2001-10-29 Andy Piper + + * dialog-msw.c (handle_directory_dialog_box): quit if the user + cancels. + +2002-01-03 Andy Piper + + * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive + letters. + (xrealpath): ditto. + +2002-03-29 Jonathan Harris + + * device-msw.c (plist_get_margin): Add arg specifying mm or inches + * device-msw.c (plist_set_margin): Fix multiplicand used for mm + * device-msw.c (mswindows_handle_page_setup_dialog_box): + Detect and handle case where machine is set up for metric units + +2002-04-02 Andy Piper + + * dired-msw.c (mswindows_get_files): + * nt.c (mswindows_stat): SetErrorMode() so that file errors are + completely handled by XEmacs. Suggested by Thomas Vogler + . + +2001-11-14 Andy Piper + + * nt.c (REG_ROOT): change registry key to XEmacs. + +2002-04-27 Andy Piper + + * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code. + +2002-04-26 Andy Piper + + * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus + behavior. + +2002-03-14 Mike Alexander + + * event-msw.c (mswindows_unwait_process): New, remove process from + wait list + * process-nt.c (nt_finalize_process_data): Call + mswindows_unwait_process + * console-msw.h: Declare mswindows_unwait_process + +2002-05-14 Stephen J. Turnbull + + * editfns.c (Fdecode_time): + (Fformat_time_string): + Check for invalid time. Thanks to Nick Pakoulin . + (make_time): Warning elimination (change arg name). + +2001-11-24 Andy Piper + + * window.c (Fsplit_window): Doc return type. + +2002-04-01 Andy Piper + + * emacs.c (Fkill_emacs): Only output message box in interactive + mode. + +2002-04-26 Andy Piper + + * config.h.in: pull in 21.5.x change to stop alloca warnings under + cygwin. + +2002-03-18 Gregory Steuck + + * unexelf.c: Use ELFSIZE or define from _LP64 to indicate a 64 + bit platform. + +2002-05-09 Stephen J. Turnbull + + * XEmacs 21.4.8 "Honest Recruiter" is released. + +2002-05-07 Nix + + Supersedes 2002-04-17 patch. + + * process.h (PROCESS_LIVE_P): Use the process status as + evidence of health, not the state of the input stream. + (PROCESS_READABLE_P): Say if the process is readable + from. (It may be dead nonetheless.) + (CHECK_READABLE_PROCESS): Test for that condition. + + * process.c (create_process): Use PROCESS_READABLE_P. + (read_process_output, set_process_filter): Likewise. + + * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS. + (Fset_process_input_coding_system, Fprocess_coding_system): Likewise. + + This code is #if 0'd, this is not the time to add new functions: + + * process.c (Fprocess_readable_p): Report readability status. + * process.c (Qprocess_readable_p): New, associated symbol... + * process.c (syms_of_process): ... initialize it. + +2002-05-04 Stephen J. Turnbull + + * XEmacs 21.4.7 "Economic Science" is released. + +2002-04-17 Nix + + * process.h (PROCESS_LIVE_P): Use the process status as + evidence of health, not the state of the input stream. + +2002-04-30 Charles G. Waldman + + * sysdep.c (sys_siglist): change "signum" to "signal" + +2001-04-21 Martin Buchholz + + * s/darwin.h: New file. + Thanks to Greg Parker . + +2002-04-23 Andreas Jaeger + + * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x + which use lib64 for 64-bit libs. + (START_FILES): Likewise. + +2002-02-11 Mike Sperber + + * device-x.c: + (x_IO_error_handler): + (x_init_device): Temporarily keep device in static variable + `device_being_initialized' so we can recover gracefully from + internal XOpenDevice failure. (XOpenDevice is documented to + return NULL on failure, but sometimes calls the IO error handler + instead.) + +2002-01-31 John H. Palmieri + + * dired.c (Ffile_name_all_completions): Change documentation -- + remove reference to completion-ignored-extensions. + * dired.c (vars_of_dired): Change documentation for + completion-ignored-extensions -- remove reference to + file-name-all-completions. + +2002-03-06 Jerry James + + * emodules.c (emodules_load): Fix multiple loading of same module. + +2002-01-25 Andrew Begel + * sysdll.c (dll_open): Changed to use RTLD_NOW instead of + RTLD_LAZY to avoid incorrect symbol binding when using nested + shared libraries on Solaris. + +2002-02-12 Stephen J. Turnbull + + * fileio.c (Ffind_file_name_handler): Improve docstring. + +2002-01-20 Stephen J. Turnbull + + * fns.c (Fmapconcat): Improve docstring. + +2002-01-03 Eric Gillespie, Jr. + + * device-gtk.c: Add prototype for + emacs_gtk_selection_clear_event_handle. + (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD + selection. Setup signal handler for "selection_clear_event" + (emacs_gtk_selection_clear_event_handle). + + * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle + other applications owning the clipboard (based on + x_handle_selection_clear). + +2001-12-23 William M. Perry + + * menubar-gtk.c (gtk_popup_menu) Add sanity checks, fix crash. + +2002-01-04 Martin Buchholz + + * keymap.c (define_key_alternate_name): Parenthesize EQ. + +2001-12-17 Stephen J. Turnbull + + * XEmacs 21.4.6 "Common Lisp" is released. + +2001-12-16 Torsten Duwe + + * search.c (Freplace_match): Add missing sub-expression functionality. + + * buffer.c (decode_buffer): Add a check for pointer type to + decode_buffer, before gcc's CSE optimization reorders a + dereference in front of the allow_string test. + +2001-11-16 Darryl Okahata + + * window.c (window_loop): Fix bug that sometimes prevented + window_loop() from iterating across multiple devices. Also, at + Ben's request, changed infloop-detecting code to abort() instead + of silently terminating window_loop(). + +2001-11-21 Stephen J. Turnbull + + Based on analysis and patch by Simon Josefson . + * editfns.c (make_time): New function. + (Fencode_time): Use it instead of wasteful_word_to_lisp. + * lisp.h (make_time): Prototype and comment it. + * dired.c (wasteful_word_to_lisp): Deprecate. + (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp(). + +2001-10-31 Kyle Jones + + * fileio.c (auto_save_1): Use current coding system, not + escape-quoted. + +2001-11-13 Ben Wing + + * window.c: + * window.c (window_truncation_on): + * window.c (syms_of_window): + truncate-partial-width-windows should respect the buffer being + displayed, like other redisplay vars. + +2001-11-13 Hirokazu FUKUI + + * event-stream.c (Fread_key_sequence): save current buffer. + +2001-10-29 Andrew Begel + + * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300). + +2001-10-29 Andrew Begel + + * alloc.c (lcrecord_stats): Add space for types defined in modules. + +2001-10-26 Mike Alexander + + * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle. + +2001-10-25 Andy Piper + + * ChangeLog: + * dialog-msw.c (handle_directory_proc): new function. + (handle_directory_dialog_box): new fucntion. + (handle_file_dialog_box): use new directory dialog support. + (mswindows_make_dialog_box_internal): ditto. + * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event + handling. + (mswindows_find_frame): make global. + * fileio.c (Fexpand_file_name): build fix. + * general-slots.h: add Qdirectory. + * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus + handling. + * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with + cygwin not leaving win32 paths unchanged. + * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the + cygwin runtime to do path conversion. + (Fmswindows_shell_execute): fix cygwin handling of URLs. + (syms_of_win32): add new function. + * window.c (window_loop): build fix. + +2001-10-15 Andy Piper + + (Fmswindows_shell_execute): fix handling of URL's under cygwin. + +2001-10-23 Stephen J. Turnbull + + * XEmacs 21.4.5 "Civil Service" is released. + +2001-04-08 Danny Colascione + + * glyphs-x.c: Force buffer-tab highlight update when moving the + buffer, avoiding an ugly black border, used for keyboard focus + indication, on a widget that can never have keyboard focus, the + buffer tab. + +2001-08-30 Daiki Ueno + + * process-unix.c (unix_open_multicast_group): Remove too much + conversion between host and network byte order. + +2001-09-10 Nix + + * src/buffer.c (kill_buffer): Undedicate windows showing BUF + before replacing them. + + * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER + operation. + + * src/window.c (undedicate_windows): Use it. + * src/window.h: Add prototype. + +2001-09-17 Ben Wing + + * fileio.c (normalize_filename): + * fileio.c (Fexpand_file_name): + Fix various C++ compile errors in Andy's recent code. + + * callint.c (Fcall_interactively): + * editfns.c (Ftemp_directory): + * editfns.c (Fuser_full_name): + * emacs.c (argmatch): + * lread.c (locate_file_map_suffixes): + * redisplay-x.c (x_ring_bell): + Fix sign-compare warnings. + +2001-09-08 Andy Piper + + * fileio.c (normalize_filename): copied from nt.c + * (Ffile_name_directory): enable win32 paths under cygwin. + * (Ffile_name_nondirectory): ditto. + * (directory_file_name): ditto. + * (Fexpand_file_name): ditto. + * (Ffile_truename): ditto. + * (Fsubstitute_in_file_name): ditto. + * (Ffile_name_absolute_p): ditto. + * (Ffile_readable_p): ditto. + +2001-09-08 Andy Piper + + * device-msw.c (mswindows_finish_init_device): remove dde + initialization. + * device-msw.c (mswindows_init_dde): factor out from + mswindows_finish_init_device() + * device-msw.c (init_mswindows_very_early): new function + initialize but don't enable dde. + * emacs.c (main_1): call init_mswindows_very_early. + * event-msw.c: + * event-msw.c (mswindows_dde_callback): only execute when we are + ready. + * symsinit.h: declare init_mswindows_very_early. + +2001-05-02 Kirill 'Big K' Katsnelson + + [sjt: This has been in 21.5 for months with no complaints.] + + * console.h (struct console_methods): Added flags member. + (CONSOLE_IMPLEMENTATION_FLAGS): Defined. + (CONMETH_IMPL_FLAG): + (CONSOLE_IMPL_FLAG): Macro to check implememntation flags. + Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY. + + * device.c (window_system_pixelated_geometry): Use the above macros. + + * device.h (DEVICE_IMPL_FLAG): Macro to check a device + implememntation flag. + * device.h (DEVICE_DISPLAY_P): Use it. + + * frame.c (delete_frame_internal): Use the above macro. + + * redisplay.c (redisplay_device): Use it. + (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY. + (redisplay_frame): Ditto. + + * device-msw.c (mswindows_device_implementation_flags): Removed. + (msprinter_device_implementation_flags): Removed. + (console_type_create_device_mswindows): Removed references to + implementation_flags methods, set implementation flags here. + (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT. + + * device-gtk.c (gtk_device_implementation_flags): Removed method. + (console_type_create_device_gtk): Removed method declaration. + Added commented out statement which semantically matches the + commented out statement in the above removed method. + +2001-04-14 Gordon Sadler + + The attached patch fixes a few warnings. + + * src/emacs.c: prototype console_type_create_select_gtk for GTK only + * src/frame-gtk.c: guard against GNOME calls in GTK only + * src/redisplay-gtk.c: include #ifdef HAVE_POLL + * src/select-gtk.c: prototype lisp_to_time + +2001-06-08 Ben Wing + + ------ gc-in-window-procedure fixes ------ + + * alloc.c: + * alloc.c (struct post_gc_action): + * alloc.c (register_post_gc_action): + * alloc.c (run_post_gc_actions): + * alloc.c (garbage_collect_1): + Create "post-gc actions", to avoid those dreaded "GC during window + procedure" problems. + + * event-msw.c: + Abort, clean and simple, when GC in window procedure. We want + to flush these puppies out. + + * glyphs-msw.c: + * glyphs-msw.c (finalize_destroy_window): + * glyphs-msw.c (mswindows_finalize_image_instance): + Use a post-gc action when destroying subwindows. + + * lisp.h: + Declare register_post_gc_action(). + + * scrollbar-msw.c: + * scrollbar-msw.c (unshow_that_mofo): + Use a post-gc action when unshowing scrollbar windows, if in gc. + + * redisplay.c (mark_redisplay): + Add comment about the utter evilness of what's going down here. + + ------ cygwin setitimer fixes ------ + + * Makefile.in.in (sheap_objs): + * Makefile.in.in (profile_objs): + * Makefile.in.in (objs): + Compile profile.c only when HAVE_SETITIMER. + + * nt.c (mswindows_sigset): + * nt.c (mswindows_sighold): + * nt.c (mswindows_sigrelse): + * nt.c (mswindows_sigpause): + * nt.c (mswindows_raise): + * nt.c (close_file_data): + Style fixes. + + * nt.c: + Move setitimer() emulation to win32.c, because Cygwin needs it too. + + * profile.c: + * profile.c (Fstart_profiling): + * profile.c (Fstop_profiling): + Make sure we don't compile if no setitimer(). Use qxe_setitimer() + instead of just plain setitimer(). + + * signal.c: + * signal.c (set_one_shot_timer): + * signal.c (alarm): + Define qxe_setitimer() as an encapsulation around setitimer() -- + call setitimer() directly unless Cygwin or MS Win, in which case + we use our simulated version in win32.c. + + * systime.h: + * systime.h (struct itimerval): + * systime.h (ITIMER_REAL): + Prototype mswindows_setitimer() and qxe_setitimer(). Long + comment about "qxe" and the policy regarding encapsulation. + + * win32.c: + * win32.c (setitimer_helper_proc): + * win32.c (setitimer_helper_period): + * win32.c (setitimer_helper): + * win32.c (mswindows_setitimer): + Move setitimer() emulation here, so Cygwin can use it. + Rename a couple of functions and variables to be longer and more + descriptive. In setitimer_helper_proc(), send the signal + using either mswindows_raise() or (on Cygwin) kill(). If for + some reason we are still getting lockups, we'll change the kill() + to directly invoke the signal handlers. + + ------ windows shell fixes ------ + + * callproc.c: + * ntproc.c: + Comments about how these two files must die. + + * callproc.c (init_callproc): + On MS Windows, init shell-file-name from SHELL, then COMSPEC, + not just COMSPEC. (more correct and closer to FSF.) Don't + force a value for SHELL into the environment. (Comments added + to explain why not.) + + * nt.c (init_user_info): + Don't shove a fabricated SHELL into the environment. See above. + +2001-06-01 Ben Wing + + * Makefile.in.in (ldflags): + eliminate that pesky "defaulting to 00401000" warning. + * nt.h: + eliminate warnings. + +2001-06-15 Golubev I. N. + + * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define. + * process-unix.c (allocate_pty): #ifndef "modern" pty allocation. + +2001-04-24 Jerry James + + * faces.h: pass parameters to Fadd_spec_to_specifier in the + correct order. + +2001-06-01 Ben Wing + + * event-msw.c (debug_mswin_messages): + conditionalize the messages that were causing compile errors. + (if only macros could generate #ifdef statements ...) + +2001-07-28 Stephen J. Turnbull + + * XEmacs 21.4.4 "Artificial Intelligence" is released. + +2001-07-22 Stephen J. Turnbull + + * event-msw.c (mswindows_wnd_proc): Add GC debugging assert. + +2001-07-22 Stephen J. Turnbull + + * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup. + * process-unix.c (unix_canonicalize_host_name): + sysdep.c (init_system_name): + Use it to conditionally support IPv6 canonicalization. + +2001-05-31 Paul Stodghill + + * event-msw.c: + Cygwin does not define WM_IME_xxx. Modify the #if's accordingly. + +2001-05-19 Paul Krause + + * scrollbar-msw.c: Fixes a crash that occurs on Windows when an + attempt is made to scroll when no scroll bar is available. + +2001-04-19 Glynn Clements + + * input-method-motif.c (XIM_delete_frame): New callback. + (XIM_init_frame): Register it. (Reapplied by SJT, it somehow + got deleted from 21.4.3.) + +2001-06-01 Ben Wing + + * nt.c (mswindows_utime): + * nt.c (close_file_data): + fix off-by-one-indirection error. + +2001-05-29 Adrian Aichner + + * fileio.c: Include nt.h. Remove lisp_string_set_file_times() + because set_file_times() now takes Lisp_Object path, instead of + char*. + * nt.c: Include buffer.h. + * nt.c (convert_from_time_t): New. + * nt.c (mswindows_utime): New. Use utime, since SetFileTime does + not set mtime correctly. + * nt.h: Declare mswindows_utime(). + * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object + path, instead of char*. + * systime.h: Include on WIN32_NATIVE. + +2001-05-30 Ben Wing + + For 21.4: + + (Stephen, just take all event-msw.c patches. This includes + the "iconify" fix below.) + + * event-msw.c: + * event-msw.c (mswindows_dequeue_dispatch_event): + * event-msw.c (assert): + * event-msw.c (emacs_mswindows_quit_p): + * event-msw.c (debug_mswin_messages): + * event-msw.c (debug_output_mswin_message): + * event-msw.c (vars_of_event_mswindows): + Fix yet more problems with C-g handling. + Implement debug-mswindows-events. + +2001-05-24 Kirill 'Big K' Katsnelson + + * event-msw.c (WM_DROPFILES): Use correct type for OLE characters. + +2001-05-23 Ben Wing + + * event-msw.c (winsock_writer): + * event-msw.c (winsock_closer): + prior kludgy code was clobbering the buffer, thinking it was + "unused" space to store an unneeded return value; instead, use + the variable we've already got staring us in the face. + +2001-05-17 Andy Piper + + * sysfile.h: don't assume that file attributes are boolean + +2001-05-23 Ben Wing + + * device-msw.c (msprinter_init_device): + signal an error rather than crash with an unavailable network + printer (from Mike Alexander). + + * event-msw.c: + * event-msw.c (struct winsock_stream): + * event-msw.c (winsock_writer): + * event-msw.c (winsock_closer): + * event-msw.c (make_winsock_stream_1): + cleanup headers. fix (hopefully) an error with data corruption + when sending to a network connection. + + * fileio.c (Fexpand_file_name): Fix evil code that attempts + to handle the ~user prefix by (a) always assuming we're referencing + ourselves and not even verifying the user -- hence any file with + a tilde as its first char is invalid! (b) if there wasn't a slash + following the filename, the pointer was set *past* the end of + file and we started reading from uninitialized memory. Now we + simply treat these as files, always. + + * buffer.c (common_init_complex_vars_of_buffer): comment change. + +2001-05-19 Ben Wing + + * eval.c: doc comment about gcpro'ing in record_unwind_protect. + + * process-nt.c: + * process-nt.c (vars_of_process_nt): + remove unused mswindows-quote-process-args. rec for 21.4. + +2001-05-12 Ben Wing + + * event-msw.c (mswindows_dde_callback): + * event-msw.c (mswindows_wnd_proc): + eliminate cygwin warnings. + +2001-05-06 Ben Wing + + * console-msw.h: + * device-msw.c: + * device-msw.c (print_dialog_worker): + * device-msw.c (mswindows_handle_print_dialog_box): + * device-msw.c (syms_of_device_mswindows): + * dialog-msw.c (mswindows_make_dialog_box_internal): + * general-slots.h: + implement printing the selection when it's selected. + +2001-05-20 Drazen Kacar + + * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0 + +2001-05-11 Yoshiki Hayashi + + * lisp.h (EMACS_INT_MAX): This should be one bit less since + EMACS_INT is signed. + +2001-04-15 Michael Lausch + + * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call + gtk_widget_request_size() to give scrollbar >0 width for + GTK >1.2.8. + +2001-05-30 William M. Perry + + * event-gtk.c: Check for buttons as modifier keys. + +2001-05-25 Craig Lanning + + * s\mingw32.h: + Properly find MinGW's inside Cygwin's restructured + include directories. Don't try to include + since we are dropping support for MinGW in versions of Cygwin + earlier than b21. + * nt.c: + Drop support for MinGW in versions of Cygwin before b21. + * sysdep.c: + Properly find MinGW's inside Cygwin's restructured + include directories. + * syswindows.h: + Drop support for MinGW in versions of Cygwin before b21. + * unexcw.c: + Even though a.out.h is no longer detected by configure, allow + MinGW to use it until we figure out how to do the job with Win32. + +2001-07-11 Matt Tucker + + * syntax.c (find_start_of_comment): + Fix `unbalanced parentheses' bug when dealing with mixed comment + styles in c++/java/etc. mode + +2001-05-29 Mike Alexander + + * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap + FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT + +2001-05-17 Andrew Begel + + * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast. + +2001-03-31 Mike Sperber + + * search.c (Freplace_match): Support FSF-style specification of + match subexpression when applied to a buffer. + +2001-05-27 Karl M. Hegbloom + + * event-stream.c (is_scrollbar_event): add missing semicolon + +2001-05-22 Isaac Hollander + + * Makefile.in.in: Use TAR macro instead of hardcoding + tar. Allows use of GNU tar instead of system tar + +2001-05-27 Karl M. Hegbloom + + * event-stream.c (is_scrollbar_event): add missing semicolon + +2001-05-17 Stephen J. Turnbull + + * XEmacs 21.4.3 "Academic Rigor" is released. + +2001-05-17 Stephen J. Turnbull + + * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included. + +2001-05-08 Yoshiki Hayashi + + * buffer.c (Vcase_fold_search): Remove obsolete + comment about non ASCII case-fold-search. This + bug has been fixed by case-table changes. + +2001-05-11 Stephen J. Turnbull + + * event-msw.c: Restore include of events-mod.h. + +2001-04-22 zhaoway + + * event-stream.c (is_scrollbar_event): Noop returning 0 if + !HAVE_SCROLLBARS. + +2001-05-10 Stephen J. Turnbull + + * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released. + +2001-05-08 Yoshiaki Kasahara + + * mule-charset.c (Fmake_charset): Add missing else. + +2001-04-23 Ben Wing + + * event-msw.c (FAKE_MOD_QUIT): + * event-msw.c (mswindows_dequeue_dispatch_event): + * event-msw.c (mswindows_wnd_proc): + * event-msw.c (emacs_mswindows_quit_p): + Get critical quit working. + +2001-05-05 Ben Wing + + * console-msw.h: + * device-msw.c: + * device-msw.c (mswindows_get_default_margin): + * frame-msw.c (mswindows_size_frame_internal): + * frame-msw.c (msprinter_init_frame_1): + * frame-msw.c (vars_of_frame_mswindows): + Change top/bottom margin defaults to 0.5 inches. + +2001-05-01 Martin Buchholz + + Fix link error with gcc 3.0 on Linux. + * terminfo.c (UP): Remove. + * terminfo.c (BC): Remove. + * terminfo.c (PC): Remove. + They weren't used, and in any case, these symbols should be + defined in the *library*. + +2001-05-03 Martin Buchholz + + * s/aix4.h: Fix crash with xlc -O3. + Improve comment explaining how -O3 works. + +2001-04-15 Ben Wing + + * event-stream.c: + * event-stream.c (Fnext_event): + * event-stream.c (is_scrollbar_event): + * event-stream.c (execute_command_event): + Better fix for Yoshiki's `C-x @ h x causes a + crash' problem. His fix introduces other problems. We filter + out scrollbar events specifically, making them somewhat invisible + to command-building, and not appearing in `this-command-keys'. + More work is still needed (see comments in event-stream.c), but + this fixes all the major problems. + +2001-04-20 Ben Wing + + * .cvsignore: Added stuff for Windows. + +2001-04-28 Ben Wing + + * buffer.c (Ferase_buffer): + * editfns.c (buffer_insert1): + * editfns.c (Finsert_before_markers): + * editfns.c (Finsert_string): + * editfns.c (Finsert_char): + * editfns.c (Fdelete_region): + * editfns.c (Fwiden): + * editfns.c (Fnarrow_to_region): + remove bogus lines setting zmacs_region_stays to 0. + +2001-04-15 Gunnar Evermann + + * process-unix.c (unix_open_network_stream): If connect() fails + invalidate file descriptor after closing it. + +2001-03-08 Mike Alexander + + * event-msw.c (mswindows_need_event_in_modal_loop): + Don't dispatch a message if we didn't get one. + (mswindows_need_event): + Terminate the correct process when one exits instead of the first + one on Vprocess_list and look for process termination when in + mswindows_protect_modal_loop. + +2001-04-19 Stephen J. Turnbull + + * XEmacs 21.4.1 "Copyleft" is released. + +2001-04-19 Glynn Clements + + * input-method-motif.c (XIM_delete_frame): New callback. + (XIM_init_frame): Register it. + +2001-04-16 Stephen J. Turnbull + + * XEmacs 21.4.0 "Solid Vapor" is released. + +2001-04-15 Ben Wing + + * cmdloop.c (call_command_loop): + Fix braino in bit-rotting code. + +2001-04-07 Hrvoje Niksic + + * extents.c (Fset_extent_endpoints): Force creation of extent info + in buffer_or_string. + + * extents.c (process_extents_for_insertion_mapper): Correctly + check for open-open zero-length extents. + +2001-04-16 Stephen J. Turnbull + + * lisp.h: New typedefs Memory_count, Element_count. + * regex.c: + * regex.h: + Sign-compare warning elimination: several unsigned -> signed. + Based on work by Ben Wing . + +2001-04-14 Stephen J. Turnbull + + * XEmacs 21.2.47 "Zephir" is released. + +2001-04-02 Jan Vroonhof + + * redisplay.c (add_bufbyte_string_runes): Update data->bytepos + +2001-04-03 Mike Sperber + + * search.c: Revert previous patch due because of release. + +2001-03-30 Ben Wing + + * s\cygwin32.h: + Add missing killpg prototype. + + * elhash.c: + Add a comment about fixing problems when a new entry is added + while mapping. + + * frame-msw.c (mswindows_init_frame_1): + Fix compile warnings. + + * menubar.c (vars_of_menubar): + Provide `menu-accelerator-support' to indicate that we properly + support %_ in menu specifications, so that package code can + conditionalize on this (and remove %_ from menu specifications + on older versions). + + * event-msw.c: + * scrollbar-msw.c: + * scrollbar-msw.c (can_scroll): + * scrollbar-msw.h: + Fix handling of mouse wheel under Windows to follow standards -- + now scrolls window under pointer, not selected window. + +2001-03-31 Mike Sperber + + * search.c (Freplace_match): Support FSF-style specification of + match subexpression when applied to a buffer. + +2001-03-15 Martin Buchholz + + * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping + function to modify KEYMAP, so map over a copy of the hash table. + +2001-03-21 Martin Buchholz + + * XEmacs 21.2.46 "Urania" is released. + +2001-03-20 Dan Holmsand + + * realpath.c (xrealpath): Make file-truename work with symlinks to + /cygdrive paths on cygwin. Always lowercase drive-letters on + native windows. + (cygwin_readlink): Don't try to find canonical filename unless + file exists. + +2001-03-15 Stephen J. Turnbull + + * ChangeLog: Log GTK merge. + + * dumper.c: + * select-x.c: + * specifier.c: + * symeval.h: + Revert gratuitous whitespace changes from GTK merge. + + * emacs.c: Document end of complex #ifdef @ l. 1495. + + +2001-03-12 Andy Piper + + * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we + have to do likewise. + +2001-03-12 Andy Piper + + * sysdep.c: we only support mingw now. + +2001-03-09 Andy Piper + + * unexcw.c (copy_executable_and_dump_data_section): making approx + overrun a warning only. + +2001-03-10 William M. Perry + + * faces.c (complex_vars_of_faces): Rewrote the font mucking to + satisfy Stephen's identical-after-cpp plea. + +2001-03-02 Ben Wing + + * cmds.c: + * cmds.c (Fforward_char): + * syntax.c: + * window.c: + + Augment documentation of the most common motion commands to make + note of the shifted-motion support. + +2001-03-02 Ben Wing + + * nt.c (mswindows_fstat): + * nt.c (mswindows_stat): + * search.c (boyer_moore): + Fix compile warnings under Windows. + + * sysdep.c (sys_readdir): + Fix buggy filename-conversion code under Mule. + +2001-03-09 William M. Perry + + * Makefile.in.in: + * config.h.in: + * console.c: + * console.h: + * device.c: + * device.h: + * dragdrop.c: + * emacs.c: + * event-stream.c: + * events.c: + * events.h: + * faces.c: + * frame.h: + * general-slots.h: + * glyphs.c: + * gutter.c: + * inline.c: + * lisp.h: + * lrecord.h: + * make-src-depend: + * redisplay-output.c: + * redisplay.c: + * symsinit.h: + * sysfile.h: + * toolbar.c: + * window.c: + The Great GTK Merge. + + * ChangeLog.GTK: + * console-gtk.c: + * console-gtk.h: + * device-gtk.c: + * emacs-marshals.c: + * emacs-widget-accessors.c: + * event-gtk.c: + * frame-gtk.c: + * gccache-gtk.c: + * gccache-gtk.h: + * glade.c: + * glyphs-gtk.c: + * glyphs-gtk.h: + * gtk-glue.c: + * gtk-xemacs.c: + * gtk-xemacs.h: + * gui-gtk.c: + * gui-gtk.h: + * menubar-gtk.c: + * native-gtk-toolbar.c: + * objects-gtk.c: + * objects-gtk.h: + * redisplay-gtk.c: + * scrollbar-gtk.c: + * scrollbar-gtk.h: + * select-gtk.c: + * toolbar-gtk.c: + * ui-byhand.c: + * ui-gtk.c: + * ui-gtk.h: + The Great GTK Merge: new files. + +2001-02-26 Ben Wing + + Reapplied Lstream change. + +2001-02-26 Ben Wing + + Undid the last change, since it is more controversial than I + thought. It should be back in at some point soon. + +2001-02-25 Ben Wing + + * buffer.c: + * callproc.c (Fold_call_process_internal): + * event-msw.c (ntpipe_slurp_reader): + * event-msw.c (ntpipe_shove_writer): + * event-msw.c (winsock_reader): + * event-msw.c (winsock_writer): + * file-coding.c: + * file-coding.c (detect_eol_type): + * file-coding.c (detect_coding_type): + * file-coding.c (determine_real_coding_system): + * file-coding.c (Fdetect_coding_region): + * file-coding.c (decoding_reader): + * file-coding.c (decoding_writer): + * file-coding.c (mule_decode): + * file-coding.c (Fdecode_coding_region): + * file-coding.c (encoding_reader): + * file-coding.c (encoding_writer): + * file-coding.c (mule_encode): + * file-coding.c (Fencode_coding_region): + * file-coding.c (detect_coding_sjis): + * file-coding.c (decode_coding_sjis): + * file-coding.c (encode_coding_sjis): + * file-coding.c (detect_coding_big5): + * file-coding.c (decode_coding_big5): + * file-coding.c (encode_coding_big5): + * file-coding.c (detect_coding_ucs4): + * file-coding.c (decode_coding_ucs4): + * file-coding.c (encode_coding_ucs4): + * file-coding.c (detect_coding_utf8): + * file-coding.c (decode_coding_utf8): + * file-coding.c (encode_coding_utf8): + * file-coding.c (detect_coding_iso2022): + * file-coding.c (decode_coding_iso2022): + * file-coding.c (encode_coding_iso2022): + * file-coding.c (decode_coding_no_conversion): + * file-coding.c (encode_coding_no_conversion): + * glyphs-x.c (write_lisp_string_to_temp_file): + * gpmevent.c (tty_get_foreign_selection): + * lisp.h: + * lstream.c: + * lstream.c (Lstream_flush_out): + * lstream.c (Lstream_adding): + * lstream.c (Lstream_write_1): + * lstream.c (Lstream_write): + * lstream.c (Lstream_raw_read): + * lstream.c (Lstream_read_more): + * lstream.c (Lstream_read): + * lstream.c (Lstream_unread): + * lstream.c (Lstream_fputc): + * lstream.c (stdio_reader): + * lstream.c (stdio_writer): + * lstream.c (filedesc_reader): + * lstream.c (filedesc_writer): + * lstream.c (lisp_string_reader): + * lstream.c (struct fixed_buffer_stream): + * lstream.c (make_fixed_buffer_input_stream): + * lstream.c (make_fixed_buffer_output_stream): + * lstream.c (fixed_buffer_reader): + * lstream.c (fixed_buffer_writer): + * lstream.c (struct resizing_buffer_stream): + * lstream.c (resizing_buffer_writer): + * lstream.c (dynarr_writer): + * lstream.c (lisp_buffer_reader): + * lstream.c (lisp_buffer_writer): + * lstream.h: + * lstream.h (lstream_implementation): + * lstream.h (struct lstream): + * md5.c (Fmd5): + * process-nt.c (nt_send_process): + * process-unix.c (unix_send_process): + + Correct Lstream lossage due to mixing of signed and unsigned + quantities. All Lstream uses of size_t and ssize_t are now a + single signed data type Lstream_data_count. This fixes problems + under Windows with sending large quantities of data to a process, + and may well fix other subtle bugs. + +2001-02-23 Martin Buchholz + + * XEmacs 21.2.45 "Thelxepeia" is released. + +2001-02-21 Martin Buchholz + + * lisp-union.h (XSETINT): + (XSETCHAR): + (XSETOBJ): + Reverse previous change of 2001-02-06. + +2001-02-20 Matt Tucker + + Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed + buffers. + * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR): + * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR): + Add `BI_BUF_BEGV' to bytepos before calculating bufpos. + * regex.c (POS_AS_IN_BUFFER): removed + * regex.c (re_search_2): + * regex.c (re_match_2): + Don't use an offset of 1 when calculating buffer positions, since + `BI_BUF_BEGV' does it already. + +2001-02-18 Wim Dumon + + * insdel.c (prepare_to_modify_buffer): Also check for + supersession when clash-detection is enabled. + +2001-02-17 Matt Tucker + + * regex.c (re_match_2_internal): + Convert temp characters from 'const unsigned char' to 're_char'. + Fix crashing bug with extended characters under mule. + * syntax.c (Qsyntax_table): Moved from vars_of_syntax to + syms_of_syntax. Use defsymbol to define. Fixes hanging bug with + font-lock, pdump, and new syntax-table code. + * syntax.c (find_start_of_comment): + (find_end_of_comment): + (forward-comment): + Fix crashing bugs involving moving beyond end of buffer. + * syntax.c (find_start_of_comment): + Fixed logic to allow proper detection of cases where the same + character is used to end both a two-char comment start and a + two-char comment end sequence. Fixes `(forward-comment -1)'. + * syntax.c (find_start_of_comment): + Return position just past last comment-end character for all cases + (previously was only done for two-char comment-end sequences). + * syntax.c (forward-comment): + Take value returned from `find_end_of_comment', rather than + incrementing it. + * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR): + Properly deal with BUFFERP (syntax_cache.object) + +2001-02-17 Martin Buchholz + + * alloc.c (Fgarbage_collect): + * alloc.c (make_bit_vector_from_byte_vector): + -Wsign-compare-correctness. + +2001-02-16 Martin Buchholz + + * lisp-union.h (XSETINT): Eliminate unnecessary temp var. + (XSETCHAR): Likewise. + (XSETOBJ): Likewise. + +2001-02-15 Martin Buchholz + + * mule-canna.c (canna-func-delete_previous): + Rename to canna-func-delete-previous. + +2001-02-14 Martin Buchholz + + * mule-ccl.c (ccl_driver): Warning suppression. Use countof. + +2001-02-13 Matt Tucker + + * font-lock.c (find_context): Fix C++ compile errors introduced by + recent patch + +2001-02-13 Martin Buchholz + + * s/aix4.h: Later versions of IBM C compiler need a bug workaround + pragma, but earlier ones barf on the same pragma. + +2001-02-06 Mike Sperber + + * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and + `configure-mule-lisp-directory'. + +2001-02-12 Martin Buchholz + + Make sure dump-id.c is compiled in the same way as other .c's. + Fixes pdump compilation failure with HP's cc, which defaults to K&R. + * dump-id.h: Remove. + * emacs.c: Move dump-id.h into dumper.h. + * dumper.h: Move dump-id.h into dumper.h. + * Makefile.in.in: + Use standard .c.o rule for building dump-id.o. + Remove preprocessor flags from link command. + Add dump-id.o to ${otherobjs} if PDUMP. + +2001-02-07 Matt Tucker + + Port FSF 20.7 syntax table improvements. + * syntax.c. + * syntax.h. + + Fixups for new syntax table stuff. + * dired.c: Include syntax.c. + (Fdirectory_files): Initialize regex_match_object and + regex_emacs_buffer. + * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change, + and Fget_char_property. + + Use ported FSF 20.7 syntax table improvements. + * font-lock.c. + * regex.c. + * search.c. + +2001-02-09 Martin Buchholz + + * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with + Unixware's enum boolean from sys/types.h. + +2001-02-10 Martin Buchholz + + Fix support for building with latest Purify. + * Makefile.in.in (PURIFY_LIBS): Remove thread flags. + (PURIFY_FLAGS): Likewise. + +2001-02-09 Martin Buchholz + + * fileio.c (lisp_string_set_file_times): New. + * fileio.c (Fcopy_file): Use it. + Fixes bug: + (copy-file filename non-ascii-filename t t) + ==> No such file or directory, non-ascii-filename + +2001-02-10 Martin Buchholz + + * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning. + USHRT_MAX seems clearer than ~0 anyways. + +2001-02-09 Martin Buchholz + + dumper improvements. Inspired by Olivier. + * dumper.c (pdump_max_align): New. + * dumper.c (pdump_add_entry): Use pdump_max_align. + * dumper.c (pdump_get_entry_list): Likewise. + * dumper.c (pdump_scan_by_alignment): Likewise. + Don't iterate through unnecessary alignments. + * dumper.c (pdump_file_get): No need to align result of malloc(). + * dumper.c (pdump_mallocadr): Remove. + The result of malloc() is guaranteed to be maximally aligned. + * dumper.c: s/elmt/elt/g; + * dumper.c (pdump_object_table): Allocate dynamically, not statically. + * dumper.c (pdump_alert_undump_object): Likewise. + * dumper.c (pdump_align_table): + Don't support alignments > 64. + Store ALIGNOF's, not shift counts, in table. + +2001-02-09 Martin Buchholz + + * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove. + * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove. + * systime.h: Use HAVE_UTIME. + * sysdep.c (struct utimbuf): Remove. + * sysdep.c (set_file_times): Prefer utime() to utimes(). + * config.h.in (HAVE_UTIME): New. + * config.h.in (HAVE_UTIME_H): Remove. + * config.h.in (HAVE_STRUCT_UTIMBUF): Remove. + +2001-02-09 Martin Buchholz + + * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE. + +2001-02-08 Martin Buchholz + + * s/irix6-0.h: Use the standard system memmove, not bcopy. + 2001-02-08 Martin Buchholz * XEmacs 21.2.44 "Thalia" is released. @@ -2316,8 +8931,8 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245 2000-04-26 IKEYAMA Tomonori - * redisplay-msw.c (mswindows_output_dibitmap): Set foreground - color if the image is a mono pixmap. + * redisplay-msw.c (mswindows_output_dibitmap): Set foreground + color if the image is a mono pixmap. 2000-07-30 Ben Wing @@ -2937,12 +9552,12 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245 2000-07-15 Ben Wing - * s/cygwin32.h: - * s/cygwin32.h (CYGWIN_CONV_PATH): - Add missing logb prototype for v1.1. - Use post-b20 names and alias to pre-b20 names when pre-b20. + * s/cygwin32.h: + * s/cygwin32.h (CYGWIN_CONV_PATH): + Add missing logb prototype for v1.1. + Use post-b20 names and alias to pre-b20 names when pre-b20. - * s/windowsnt.h: [5]. + * s/windowsnt.h: [5]. 2000-07-15 Ben Wing @@ -2951,624 +9566,624 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245 * Makefile.in.in (objs): added win32.o, cosmetic cleanups. - * alloc.c (Fmake_byte_code): - [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP, - etc. macros which declare their own args now. + * alloc.c (Fmake_byte_code): + [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP, + etc. macros which declare their own args now. - * alloc.c (syms_of_alloc): - [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends. + * alloc.c (syms_of_alloc): + [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends. - * buffer.c: - Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp. + * buffer.c: + Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp. - * buffer.c (Fget_file_buffer): - Fixed GCPRO problem. + * buffer.c (Fget_file_buffer): + Fixed GCPRO problem. - * buffer.c (get_truename_buffer): - Fixed comment about GC checking. + * buffer.c (get_truename_buffer): + Fixed comment about GC checking. - * buffer.c (syms_of_buffer): - Undeclared those dedicated frame funs. - [2]. + * buffer.c (syms_of_buffer): + Undeclared those dedicated frame funs. + [2]. - * buffer.h: - Define convenience macros for internal/external conversions. + * buffer.h: + Define convenience macros for internal/external conversions. [[[3]]]: Define codesys aliases Qcommand_argument_encoding - and Qenvironment_variable_encoding for cleaner code. + and Qenvironment_variable_encoding for cleaner code. - * bufslots.h: - Remove dedicated-frame; in lisp. + * bufslots.h: + Remove dedicated-frame; in lisp. - * bytecode.c (funcall_compiled_function): - [1]. + * bytecode.c (funcall_compiled_function): + [1]. - * bytecode.c (syms_of_bytecode): - [2]. + * bytecode.c (syms_of_bytecode): + [2]. - * console-msw.c: - * console-msw.c (mswindows_show_console): Rewrote. + * console-msw.c: + * console-msw.c (mswindows_show_console): Rewrote. - * console-msw.c (Fmswindows_debugging_output): New. - Sends to OutputDebugString (special MSWin debugger interface). + * console-msw.c (Fmswindows_debugging_output): New. + Sends to OutputDebugString (special MSWin debugger interface). - * console-msw.c (Fmswindows_message_box): - Fixed stupid bugs so it works when called from kill-emacs. + * console-msw.c (Fmswindows_message_box): + Fixed stupid bugs so it works when called from kill-emacs. - * console-msw.c (syms_of_console_mswindows): - Declare Fmswindows_debugging_output. + * console-msw.c (syms_of_console_mswindows): + Declare Fmswindows_debugging_output. - * console-msw.h: - New MSWin prototypes. + * console-msw.h: + New MSWin prototypes. - * console-msw.h (struct mswindows_frame): - New entry last-click-mods for improved button-modifier support. + * console-msw.h (struct mswindows_frame): + New entry last-click-mods for improved button-modifier support. - * console-msw.h (FRAME_MSWINDOWS_POPUP): - New struct entry `popup' with corresponding accessor. + * console-msw.h (FRAME_MSWINDOWS_POPUP): + New struct entry `popup' with corresponding accessor. - * console-x.c: - * console-x.c (split_up_display_spec): - * console-x.c (get_display_arg_connection): - * console-x.c (x_semi_canonicalize_console_connection): - * console-x.c (x_canonicalize_device_connection): - [[[6]]]: Change char to more specific type. - [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4]; + * console-x.c: + * console-x.c (split_up_display_spec): + * console-x.c (get_display_arg_connection): + * console-x.c (x_semi_canonicalize_console_connection): + * console-x.c (x_canonicalize_device_connection): + [[[6]]]: Change char to more specific type. + [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4]; - * console-x.c (x_semi_canonicalize_console_connection): - * console-x.c (x_canonicalize_device_connection): - [[[9]]]: Fix up error signalling to use new structured error system. + * console-x.c (x_semi_canonicalize_console_connection): + * console-x.c (x_canonicalize_device_connection): + [[[9]]]: Fix up error signalling to use new structured error system. - * console-x.h: - [[[4]]]: Define codesys aliases: - Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding, - Qx_color_name_encoding, Qx_display_name_encoding. + * console-x.h: + [[[4]]]: Define codesys aliases: + Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding, + Qx_color_name_encoding, Qx_display_name_encoding. - * console.h (struct console_methods): - New method make_dialog_box_internal supersedes older - popup_dialog_box method. + * console.h (struct console_methods): + New method make_dialog_box_internal supersedes older + popup_dialog_box method. - * data.c: - Define many new errors, part of new structured errors. + * data.c: + Define many new errors, part of new structured errors. - * data.c (init_errors_once_early): - * data.c (syms_of_data): - [2]. + * data.c (init_errors_once_early): + * data.c (syms_of_data): + [2]. - * device-msw.c (mswindows_init_device): - [[[5]]]: Cleanup to support NT 3.51. + * device-msw.c (mswindows_init_device): + [[[5]]]: Cleanup to support NT 3.51. - * device-msw.c (decode_devmode): Cleanup. + * device-msw.c (decode_devmode): Cleanup. - * device-msw.c (mswindows_handle_print_setup_dialog_box): - * device-msw.c (mswindows_handle_print_dialog_box): - * device-msw.c (mswindows_handle_page_setup_dialog_box): - * device-msw.c (syms_of_device_mswindows): - Delete the dialog box primitives recently introduced by Kirill and + * device-msw.c (mswindows_handle_print_setup_dialog_box): + * device-msw.c (mswindows_handle_print_dialog_box): + * device-msw.c (mswindows_handle_page_setup_dialog_box): + * device-msw.c (syms_of_device_mswindows): + Delete the dialog box primitives recently introduced by Kirill and instead interface to general dialog box interface. - * device-x.c: - * device-x.c (compute_x_app_name): - * device-x.c (x_init_device): - * device-x.c (Fx_valid_keysym_name_p): - * device-x.c (Fx_set_font_path): - [6]. - [7]. - - * device.h (wrap_device): New. - First of its kind; meant to replace XSETDEVICE. - - * dialog-msw.c: Many file-dialog symbols. - - * dialog-msw.c (mswindows_register_popup_frame): New. - * dialog-msw.c (mswindows_is_dialog_msg): New. - For supporting kbd traversal in dialog boxes. - - * dialog-msw.c (dialog_proc): - Support hitting ESC in dialogs. - - * dialog-msw.c (struct): - Common dialog box errors. - - * dialog-msw.c (handle_file_dialog_box): New. - Add file dialog code. - - * dialog-msw.c (handle_question_dialog_box): - Redo existing code to support new question dialog syntax. - - * dialog-msw.c (console_type_create_dialog_mswindows): - We support new dialog console method. - - * dialog-msw.c (syms_of_dialog_mswindows): - * dialog-msw.c (vars_of_dialog_mswindows): - New file dialog symbols, vars. - - * dialog-x.c: - * dialog-x.c (maybe_run_dbox_text_callback): - * dialog-x.c (dbox_descriptor_to_widget_value): - * dialog-x.c (x_make_dialog_box_internal): - * dialog-x.c (console_type_create_dialog_x): - Mule-ize entire file. - Redo to support question dialog syntax. - [6]. - - * dialog.c: - * dialog.c (Fmake_dialog_box_internal): - * dialog.c (syms_of_dialog): - Kill old popup-dialog-box, replace with new primitive. - Just call device method or signal error. - - * eldap.c (Fldap_open): - * eldap.c (Fldap_search_basic): - * eldap.c (Fldap_add): - * eldap.c (Fldap_modify): - [1]. - [7]. - - * emacs.c: - * emacs.c (make_arg_list_1): - * emacs.c (make_arg_list): - Mule-ize call to dll_init(). - [6]. - [8]. - - * emacs.c (make_argc_argv): - * emacs.c (free_argc_argv): - * emacs.c (init_cmdargs): - * emacs.c (main_1): - * emacs.c (Fkill_emacs): - * emacs.c (Fdump_emacs): - Update comments about what can be used in syms_* etc. - Call init_win32() when necessary. - Fix up MS Win dialog box in kill-buffer to actually work right. - [7]. - - * eval.c: - * eval.c (For): - * eval.c (Fand): - * eval.c (Fprogn): - * eval.c (Fprog1): - * eval.c (Fprog2): - * eval.c (FletX): - * eval.c (Flet): - * eval.c (condition_case_3): - * eval.c (Feval): - * eval.c (function_argcount): - * eval.c (funcall_lambda): - [1]. - - * eval.c (type_error): New. - * eval.c (maybe_type_error): New. - * eval.c (continuable_type_error): New. - * eval.c (maybe_continuable_type_error): New. - * eval.c (type_error_with_frob): New. - * eval.c (maybe_type_error_with_frob): New. - * eval.c (continuable_type_error_with_frob): New. - * eval.c (maybe_continuable_type_error_with_frob): New. - New functions for use with structured errors. - - * event-Xt.c: - * event-Xt.c (x_event_to_emacs_event): - Buttons are now modifiers too. - - * event-Xt.c (emacs_Xt_current_event_timestamp): - Implement new event method. - * event-Xt.c (reinit_vars_of_event_Xt): Set it. - - * event-msw.c: - * event-msw.c (ntpipe_shove_writer): [5]. - * event-msw.c (mswindows_enqueue_mouse_button_event): - * event-msw.c (mswindows_drain_windows_queue): - * event-msw.c (mswindows_wnd_proc): [7]. - * event-msw.c (mswindows_current_layout_has_AltGr): [5]. - * event-msw.c (mswindows_modifier_state): - Throughout: support new button modifiers. - - * event-msw.c (emacs_mswindows_current_event_timestamp): - Implement new event method. - * event-msw.c (reinit_vars_of_event_mswindows): Set it. - - * event-stream.c: - * event-stream.c (event_stream_current_event_timestamp): New. - * event-stream.c (maybe_kbd_translate): New functionality. - * event-stream.c (vars_of_event_stream): - Document new kbd-translate-table functionality. - - * event-stream.c (Fcurrent_event_timestamp): New. - New primitive for use in fabricated events. - * event-stream.c (syms_of_event_stream): [2]. Declare new primitive. - - * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers. - - * events.c: - * events.c (Fmake_event): - * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): - [1]. - [9]. - - * events.c (format_event_object): fix gcc warnings. - - * events.c (Fevent_timestamp): Document new primitives. - - * events.c (TIMESTAMP_HALFSPACE): New. - - * events.c (Fevent_timestamp_lessp): New. New primitive for + * device-x.c: + * device-x.c (compute_x_app_name): + * device-x.c (x_init_device): + * device-x.c (Fx_valid_keysym_name_p): + * device-x.c (Fx_set_font_path): + [6]. + [7]. + + * device.h (wrap_device): New. + First of its kind; meant to replace XSETDEVICE. + + * dialog-msw.c: Many file-dialog symbols. + + * dialog-msw.c (mswindows_register_popup_frame): New. + * dialog-msw.c (mswindows_is_dialog_msg): New. + For supporting kbd traversal in dialog boxes. + + * dialog-msw.c (dialog_proc): + Support hitting ESC in dialogs. + + * dialog-msw.c (struct): + Common dialog box errors. + + * dialog-msw.c (handle_file_dialog_box): New. + Add file dialog code. + + * dialog-msw.c (handle_question_dialog_box): + Redo existing code to support new question dialog syntax. + + * dialog-msw.c (console_type_create_dialog_mswindows): + We support new dialog console method. + + * dialog-msw.c (syms_of_dialog_mswindows): + * dialog-msw.c (vars_of_dialog_mswindows): + New file dialog symbols, vars. + + * dialog-x.c: + * dialog-x.c (maybe_run_dbox_text_callback): + * dialog-x.c (dbox_descriptor_to_widget_value): + * dialog-x.c (x_make_dialog_box_internal): + * dialog-x.c (console_type_create_dialog_x): + Mule-ize entire file. + Redo to support question dialog syntax. + [6]. + + * dialog.c: + * dialog.c (Fmake_dialog_box_internal): + * dialog.c (syms_of_dialog): + Kill old popup-dialog-box, replace with new primitive. + Just call device method or signal error. + + * eldap.c (Fldap_open): + * eldap.c (Fldap_search_basic): + * eldap.c (Fldap_add): + * eldap.c (Fldap_modify): + [1]. + [7]. + + * emacs.c: + * emacs.c (make_arg_list_1): + * emacs.c (make_arg_list): + Mule-ize call to dll_init(). + [6]. + [8]. + + * emacs.c (make_argc_argv): + * emacs.c (free_argc_argv): + * emacs.c (init_cmdargs): + * emacs.c (main_1): + * emacs.c (Fkill_emacs): + * emacs.c (Fdump_emacs): + Update comments about what can be used in syms_* etc. + Call init_win32() when necessary. + Fix up MS Win dialog box in kill-buffer to actually work right. + [7]. + + * eval.c: + * eval.c (For): + * eval.c (Fand): + * eval.c (Fprogn): + * eval.c (Fprog1): + * eval.c (Fprog2): + * eval.c (FletX): + * eval.c (Flet): + * eval.c (condition_case_3): + * eval.c (Feval): + * eval.c (function_argcount): + * eval.c (funcall_lambda): + [1]. + + * eval.c (type_error): New. + * eval.c (maybe_type_error): New. + * eval.c (continuable_type_error): New. + * eval.c (maybe_continuable_type_error): New. + * eval.c (type_error_with_frob): New. + * eval.c (maybe_type_error_with_frob): New. + * eval.c (continuable_type_error_with_frob): New. + * eval.c (maybe_continuable_type_error_with_frob): New. + New functions for use with structured errors. + + * event-Xt.c: + * event-Xt.c (x_event_to_emacs_event): + Buttons are now modifiers too. + + * event-Xt.c (emacs_Xt_current_event_timestamp): + Implement new event method. + * event-Xt.c (reinit_vars_of_event_Xt): Set it. + + * event-msw.c: + * event-msw.c (ntpipe_shove_writer): [5]. + * event-msw.c (mswindows_enqueue_mouse_button_event): + * event-msw.c (mswindows_drain_windows_queue): + * event-msw.c (mswindows_wnd_proc): [7]. + * event-msw.c (mswindows_current_layout_has_AltGr): [5]. + * event-msw.c (mswindows_modifier_state): + Throughout: support new button modifiers. + + * event-msw.c (emacs_mswindows_current_event_timestamp): + Implement new event method. + * event-msw.c (reinit_vars_of_event_mswindows): Set it. + + * event-stream.c: + * event-stream.c (event_stream_current_event_timestamp): New. + * event-stream.c (maybe_kbd_translate): New functionality. + * event-stream.c (vars_of_event_stream): + Document new kbd-translate-table functionality. + + * event-stream.c (Fcurrent_event_timestamp): New. + New primitive for use in fabricated events. + * event-stream.c (syms_of_event_stream): [2]. Declare new primitive. + + * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers. + + * events.c: + * events.c (Fmake_event): + * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): + [1]. + [9]. + + * events.c (format_event_object): fix gcc warnings. + + * events.c (Fevent_timestamp): Document new primitives. + + * events.c (TIMESTAMP_HALFSPACE): New. + + * events.c (Fevent_timestamp_lessp): New. New primitive for comparing timestamps correctly (half-space algorithm). - * events.c (Fevent_modifier_bits): Doc fix. - - * events.c (Fevent_modifiers): Major doc addition. - * events.c (event_x_y_pixel_internal): Typo fix. - * events.c (syms_of_events): Declare new primitives. - - * events.h: - Update long comment for button modifiers, timestamps. - - * events.h (struct event_stream): - New current_event_timestamp method. - - * extents.c: - * extents.c (extent_in_region_p): - * extents.c (decode_extent): - * extents.c (Fset_extent_parent): - * extents.c (decode_map_extents_flags): - Fix gcc warnings. - [9]. - - * extents.c (struct extent_at_arg): - * extents.c (decode_extent_at_flag): - * extents.c (extent_at_mapper): - * extents.c (extent_at_bytind): - * extents.c (Fextent_at): Adapt to new lower-level interface. [9]. - * extents.c (Fextents_at): New primitive. [9]. - * extents.c (symbol_to_glyph_layout): [9]. - Support new primitive `extents-at'. - - - * extents.c (get_text_property_bytind): - extent_at_bytind has another arg. - [9]. - - * extents.c (syms_of_extents): New primitive. - - * file-coding.c (Fmake_coding_system): [1]. - * file-coding.c (subsidiary_coding_system): fix gcc warning - * file-coding.c (syms_of_file_coding): [2]. - - * fileio.c (Fexpand_file_name): - * fileio.c (Fsysnetunam): - * fileio.c (Ffile_exists_p): - * fileio.c (Ffile_executable_p): - * fileio.c (Fverify_visited_file_modtime): - Clean up GCPROing. - - * fileio.c (syms_of_fileio): [2]. - - * filelock.c (lock_file_1): - * filelock.c (current_lock_owner): - * filelock.c (lock_if_free): - * filelock.c (lock_file): - * filelock.c (unlock_file): - Clean up GCPROing. - - * fns.c (concat): Fix gcc warning. - - * fns.c (Fmember): - * fns.c (Fold_member): - * fns.c (Fmemq): - * fns.c (Fold_memq): - * fns.c (memq_no_quit): - * fns.c (Fassoc): - * fns.c (Fold_assoc): - * fns.c (Fassq): - * fns.c (Fold_assq): - * fns.c (assq_no_quit): - * fns.c (Frassoc): - * fns.c (Fold_rassoc): - * fns.c (Frassq): - * fns.c (Fold_rassq): - * fns.c (rassq_no_quit): - * fns.c (Fdelete): - * fns.c (Fold_delete): - * fns.c (Fdelq): - * fns.c (Fold_delq): - * fns.c (delq_no_quit): - * fns.c (Fremassoc): - * fns.c (Fremassq): - * fns.c (remassq_no_quit): - * fns.c (Fremrassoc): - * fns.c (Fremrassq): - * fns.c (remrassq_no_quit): - * fns.c (Freverse): - * fns.c (mapcar1): - [1]. - - * frame-msw.c (mswindows_init_frame_1): - * frame-msw.c (mswindows_delete_frame): - Register popups with dialog code so keyboard traversing works. - - * frame-tty.c (tty_raise_frame_no_select): [1]. - - * frame-x.c: - * frame-x.c (x_set_frame_text_value): - * frame-x.c (x_set_frame_properties): - * frame-x.c (x_create_widgets): - [7]. - - * frame.c: - * frame.c (Fmouse_pixel_position): Minor doc fixes. - - * frame.h (wrap_frame): New. - Macro like wrap_device. - - * general.c: - * general.c (SYMBOL): - * general.c (syms_of_general): - Major reorg. This is now just a wrapper and symbols themselves - are listed in general-slots.h. - - * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning. - * glyphs-msw.c (mswindows_resource_instantiate): [5]. - - * glyphs-msw.c (mswindows_native_layout_instantiate): - Add DS_CONTROL so keyboard traversal will work. - - * glyphs-widget.c: - * glyphs-widget.c (syms_of_glyphs_widget): - Move some symbols to general-slots.h. - - * glyphs-x.c: - * glyphs-x.c (xbm_instantiate_1): - * glyphs-x.c (x_xbm_instantiate): - * glyphs-x.c (x_xface_instantiate): - * glyphs-x.c (autodetect_instantiate): - * glyphs-x.c (cursor_font_instantiate): - * glyphs-x.c (x_update_widget): - * glyphs-x.c (x_widget_instantiate): - * glyphs.c (bitmap_to_lisp_data): - * glyphs.c (pixmap_to_lisp_data): - [7]. - - * glyphs.c (syms_of_glyphs): - [2]. - - * gui-x.c: - * gui-x.c (print_widget_value): - * gui-x.c (menu_separator_style_and_to_external): - * gui-x.c (add_accel_and_to_external): - * gui-x.c (button_item_to_widget_value): - * gui-x.c (gui_items_to_widget_values_1): - * gui-x.c (gui_items_to_widget_values): - * gui-x.c (syms_of_gui_x): - * gui-x.c (vars_of_gui_x): - Mule-ize entire file. Move menu-no-selection-hook to gui.c. - [9]. - - * gui-x.h: - Muleize, prototype changes matching gui-x.c. - - * gui.c: - * gui.c (separator_string_p): - * gui.c (gui_item_add_keyval_pair): - * gui.c (make_gui_item_from_keywords_internal): - * gui.c (signal_too_long_error): - * gui.c (parse_gui_item_tree_item): - * gui.c (syms_of_gui): - * gui.c (vars_of_gui): - * gui.h: - menu-no-selection-hook moved here (used by MSWin). - Move some symbols to general-slots.h. - [6]. - [9]. - - * insdel.c (get_buffer_pos_char): - * insdel.c (get_buffer_range_char): - Add GC comments. - - * keymap.c (keymap_lookup_directly): - * keymap.c (keymap_store): - * keymap.c (ensure_meta_prefix_char_keymapp): - * keymap.c (describe_map): - * keymap.h: - Support new button modifiers. - - * lisp-disunion.h (wrap_object): - * lisp-disunion.h (XSETOBJ): - Rename make_obj to wrap_object. - - * lisp-union.h: - * lisp-union.h (make_int): - * lisp-union.h (make_char): - Support wrap_object. - - * lisp.h: - * lisp.h (LIST_LOOP): - * lisp.h (EXTERNAL_LIST_LOOP): - * lisp.h (LIST_LOOP_2): - * lisp.h (EXTERNAL_LIST_LOOP_1): - * lisp.h (EXTERNAL_LIST_LOOP_2): - * lisp.h (EXTERNAL_LIST_LOOP_3): - * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE): - * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6): - * lisp.h (GET_EXTERNAL_LIST_LENGTH): - * lisp.h (EXTERNAL_ALIST_LOOP_5): - * lisp.h (EXTERNAL_ALIST_LOOP_6): - * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE): - * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE): - * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7): - * lisp.h (struct Lisp_Symbol): - * lisp.h (maybe_continuable_error_with_frob): - Fix up section comments. - Add new types for char to indicate usage. - Delete symbols auto-generated from general-slots.h. - Add prototypes for structured error functions. - Add long comments describing looping macros and change interface - so that lvalues are automatically declared. + * events.c (Fevent_modifier_bits): Doc fix. + + * events.c (Fevent_modifiers): Major doc addition. + * events.c (event_x_y_pixel_internal): Typo fix. + * events.c (syms_of_events): Declare new primitives. + + * events.h: + Update long comment for button modifiers, timestamps. + + * events.h (struct event_stream): + New current_event_timestamp method. + + * extents.c: + * extents.c (extent_in_region_p): + * extents.c (decode_extent): + * extents.c (Fset_extent_parent): + * extents.c (decode_map_extents_flags): + Fix gcc warnings. + [9]. + + * extents.c (struct extent_at_arg): + * extents.c (decode_extent_at_flag): + * extents.c (extent_at_mapper): + * extents.c (extent_at_bytind): + * extents.c (Fextent_at): Adapt to new lower-level interface. [9]. + * extents.c (Fextents_at): New primitive. [9]. + * extents.c (symbol_to_glyph_layout): [9]. + Support new primitive `extents-at'. + + + * extents.c (get_text_property_bytind): + extent_at_bytind has another arg. + [9]. + + * extents.c (syms_of_extents): New primitive. + + * file-coding.c (Fmake_coding_system): [1]. + * file-coding.c (subsidiary_coding_system): fix gcc warning + * file-coding.c (syms_of_file_coding): [2]. + + * fileio.c (Fexpand_file_name): + * fileio.c (Fsysnetunam): + * fileio.c (Ffile_exists_p): + * fileio.c (Ffile_executable_p): + * fileio.c (Fverify_visited_file_modtime): + Clean up GCPROing. + + * fileio.c (syms_of_fileio): [2]. + + * filelock.c (lock_file_1): + * filelock.c (current_lock_owner): + * filelock.c (lock_if_free): + * filelock.c (lock_file): + * filelock.c (unlock_file): + Clean up GCPROing. + + * fns.c (concat): Fix gcc warning. + + * fns.c (Fmember): + * fns.c (Fold_member): + * fns.c (Fmemq): + * fns.c (Fold_memq): + * fns.c (memq_no_quit): + * fns.c (Fassoc): + * fns.c (Fold_assoc): + * fns.c (Fassq): + * fns.c (Fold_assq): + * fns.c (assq_no_quit): + * fns.c (Frassoc): + * fns.c (Fold_rassoc): + * fns.c (Frassq): + * fns.c (Fold_rassq): + * fns.c (rassq_no_quit): + * fns.c (Fdelete): + * fns.c (Fold_delete): + * fns.c (Fdelq): + * fns.c (Fold_delq): + * fns.c (delq_no_quit): + * fns.c (Fremassoc): + * fns.c (Fremassq): + * fns.c (remassq_no_quit): + * fns.c (Fremrassoc): + * fns.c (Fremrassq): + * fns.c (remrassq_no_quit): + * fns.c (Freverse): + * fns.c (mapcar1): + [1]. + + * frame-msw.c (mswindows_init_frame_1): + * frame-msw.c (mswindows_delete_frame): + Register popups with dialog code so keyboard traversing works. + + * frame-tty.c (tty_raise_frame_no_select): [1]. + + * frame-x.c: + * frame-x.c (x_set_frame_text_value): + * frame-x.c (x_set_frame_properties): + * frame-x.c (x_create_widgets): + [7]. + + * frame.c: + * frame.c (Fmouse_pixel_position): Minor doc fixes. + + * frame.h (wrap_frame): New. + Macro like wrap_device. + + * general.c: + * general.c (SYMBOL): + * general.c (syms_of_general): + Major reorg. This is now just a wrapper and symbols themselves + are listed in general-slots.h. + + * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning. + * glyphs-msw.c (mswindows_resource_instantiate): [5]. + + * glyphs-msw.c (mswindows_native_layout_instantiate): + Add DS_CONTROL so keyboard traversal will work. + + * glyphs-widget.c: + * glyphs-widget.c (syms_of_glyphs_widget): + Move some symbols to general-slots.h. + + * glyphs-x.c: + * glyphs-x.c (xbm_instantiate_1): + * glyphs-x.c (x_xbm_instantiate): + * glyphs-x.c (x_xface_instantiate): + * glyphs-x.c (autodetect_instantiate): + * glyphs-x.c (cursor_font_instantiate): + * glyphs-x.c (x_update_widget): + * glyphs-x.c (x_widget_instantiate): + * glyphs.c (bitmap_to_lisp_data): + * glyphs.c (pixmap_to_lisp_data): + [7]. + + * glyphs.c (syms_of_glyphs): + [2]. + + * gui-x.c: + * gui-x.c (print_widget_value): + * gui-x.c (menu_separator_style_and_to_external): + * gui-x.c (add_accel_and_to_external): + * gui-x.c (button_item_to_widget_value): + * gui-x.c (gui_items_to_widget_values_1): + * gui-x.c (gui_items_to_widget_values): + * gui-x.c (syms_of_gui_x): + * gui-x.c (vars_of_gui_x): + Mule-ize entire file. Move menu-no-selection-hook to gui.c. + [9]. + + * gui-x.h: + Muleize, prototype changes matching gui-x.c. + + * gui.c: + * gui.c (separator_string_p): + * gui.c (gui_item_add_keyval_pair): + * gui.c (make_gui_item_from_keywords_internal): + * gui.c (signal_too_long_error): + * gui.c (parse_gui_item_tree_item): + * gui.c (syms_of_gui): + * gui.c (vars_of_gui): + * gui.h: + menu-no-selection-hook moved here (used by MSWin). + Move some symbols to general-slots.h. + [6]. + [9]. + + * insdel.c (get_buffer_pos_char): + * insdel.c (get_buffer_range_char): + Add GC comments. + + * keymap.c (keymap_lookup_directly): + * keymap.c (keymap_store): + * keymap.c (ensure_meta_prefix_char_keymapp): + * keymap.c (describe_map): + * keymap.h: + Support new button modifiers. + + * lisp-disunion.h (wrap_object): + * lisp-disunion.h (XSETOBJ): + Rename make_obj to wrap_object. + + * lisp-union.h: + * lisp-union.h (make_int): + * lisp-union.h (make_char): + Support wrap_object. + + * lisp.h: + * lisp.h (LIST_LOOP): + * lisp.h (EXTERNAL_LIST_LOOP): + * lisp.h (LIST_LOOP_2): + * lisp.h (EXTERNAL_LIST_LOOP_1): + * lisp.h (EXTERNAL_LIST_LOOP_2): + * lisp.h (EXTERNAL_LIST_LOOP_3): + * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE): + * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6): + * lisp.h (GET_EXTERNAL_LIST_LENGTH): + * lisp.h (EXTERNAL_ALIST_LOOP_5): + * lisp.h (EXTERNAL_ALIST_LOOP_6): + * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE): + * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE): + * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7): + * lisp.h (struct Lisp_Symbol): + * lisp.h (maybe_continuable_error_with_frob): + Fix up section comments. + Add new types for char to indicate usage. + Delete symbols auto-generated from general-slots.h. + Add prototypes for structured error functions. + Add long comments describing looping macros and change interface + so that lvalues are automatically declared. Add NO_DECLARE macro in case callers want to declare lvalues themselves. - * lread.c (read_syntax_error): - * lread.c (continuable_read_syntax_error): - * lread.c (read_structure): - * lread.c (sequence_reader): - * lread.c (read_list_conser): - * lread.c (read_compiled_function): - Rename syntax_error and continuable_syntax_error to avoid clash - with same-named structured error functions. - - * menubar-msw.c (mswindows_translate_menu_or_dialog_item): - * menubar-msw.c (populate_menu_add_item): - * menubar-msw.c (populate_or_checksum_helper): - [5]. - [9]. - - * menubar-x.c: - * menubar-x.c (menu_item_descriptor_to_widget_value_1): - Mule-ize whole file. - - * menubar.c (Fnormalize_menu_item_name): Add optimization. - - * mule-charset.c (Fmake_charset): - * mule-wnnfns.c (Fwnn_set_param): - [1]. - - * ntproc.c (create_child): - * ntproc.c (Fwin32_set_current_locale): - Add comments portending doom. - - * objects-msw.c: - * objects-msw.c (old_font_enum_callback_2): - * objects-msw.c (font_enum_callback_1): - * objects-msw.c (mswindows_enumerate_fonts): - [5]. - - * objects-x.c: - * objects-x.c (allocate_nearest_color): - * objects-x.c (x_parse_nearest_color): - * objects-x.c (x_initialize_color_instance): - * objects-x.c (x_print_color_instance): - * objects-x.c (x_finalize_color_instance): - * objects-x.c (x_valid_color_name_p): - * objects-x.c (x_initialize_font_instance): - * objects-x.c (x_print_font_instance): - * objects-x.c (valid_x_font_name_p): - * objects-x.c (truename_via_FONT_prop): - * objects-x.c (truename_via_random_props): - * objects-x.c (truename_via_XListFonts): - * objects-x.c (x_font_truename): - * objects-x.c (x_font_instance_truename): - * objects-x.c (x_font_instance_properties): - * objects-x.c (x_list_fonts): - * objects-x.c (x_find_charset_font): - Mule-ize entire file. - [7]. - - * objects-x.h: - Mule-verify. - - * print.c: - * print.c (std_handle_out_external): - * print.c (debug_print_no_newline): - * print.c (syms_of_print): - Output to all debugger kinds in debug-print. - Fix console-output code under MSWin to actually work. - - * process-nt.c (send_signal): - * process-nt.c (nt_create_process): - Use newer Unicode macros. - - * process-unix.c (unix_create_process): - * process-unix.c (unix_canonicalize_host_name): - * process-unix.c (unix_open_network_stream): - [7]. - - * scrollbar-x.c: - Mule-verify. - - * search.c (syms_of_search): - [2]. - - * select-msw.c (mswindows_destroy_selection): - Use LIST_LOOP_2. - - * select-x.c (symbol_to_x_atom): - [7]. - - * select.c (syms_of_select): - [2]. - - * sound.c (Fplay_sound_file): - [7]. - - * specifier.c: - * specifier.c (decode_specifier_type): - * specifier.c (Fvalid_specifier_locale_type_p): - * specifier.c (check_valid_locale_or_locale_type): - * specifier.c (decode_locale): - * specifier.c (decode_locale_type): - * specifier.c (decode_locale_list): - * specifier.c (check_valid_domain): - * specifier.c (decode_specifier_tag_set): - * specifier.c (Fcanonicalize_tag_set): - * specifier.c (Fdefine_specifier_tag): - * specifier.c (Fspecifier_tag_predicate): - * specifier.c (check_valid_inst_list): - * specifier.c (check_valid_spec_list): - * specifier.c (decode_how_to_add_specification): - * specifier.c (check_modifiable_specifier): - * specifier.c (specifier_add_spec): - * specifier.c (boolean_validate): - * specifier.c (display_table_validate): - [9]. - - * specifier.c (syms_of_specifier): - Move some symbols to general-slots.h. - [2]. - - * symbols.c: - * symbols.c (Fmapatoms): - * symbols.c (Fapropos_internal): - Add GCPROs. - - * symbols.c (set_default_buffer_slot_variable): - * symbols.c (set_default_console_slot_variable): - [1]. - - * symbols.c (defsymbol_massage_name_1): - * symbols.c (defkeyword_massage_name): - * symbols.c (deferror_1): - * symbols.c (deferror): - * symbols.c (deferror_massage_name_and_message): - * symeval.h: - * symeval.h (DEFSYMBOL): - Support DEFSYMBOL*, DEFKEYWORD, DEFERROR - - * symbols.c (syms_of_symbols): - [2]. - - * symsinit.h: - * symsinit.h (init_win32): New. - Also new is syms_of_dialog_mswindows. - - * syswindows.h: + * lread.c (read_syntax_error): + * lread.c (continuable_read_syntax_error): + * lread.c (read_structure): + * lread.c (sequence_reader): + * lread.c (read_list_conser): + * lread.c (read_compiled_function): + Rename syntax_error and continuable_syntax_error to avoid clash + with same-named structured error functions. + + * menubar-msw.c (mswindows_translate_menu_or_dialog_item): + * menubar-msw.c (populate_menu_add_item): + * menubar-msw.c (populate_or_checksum_helper): + [5]. + [9]. + + * menubar-x.c: + * menubar-x.c (menu_item_descriptor_to_widget_value_1): + Mule-ize whole file. + + * menubar.c (Fnormalize_menu_item_name): Add optimization. + + * mule-charset.c (Fmake_charset): + * mule-wnnfns.c (Fwnn_set_param): + [1]. + + * ntproc.c (create_child): + * ntproc.c (Fwin32_set_current_locale): + Add comments portending doom. + + * objects-msw.c: + * objects-msw.c (old_font_enum_callback_2): + * objects-msw.c (font_enum_callback_1): + * objects-msw.c (mswindows_enumerate_fonts): + [5]. + + * objects-x.c: + * objects-x.c (allocate_nearest_color): + * objects-x.c (x_parse_nearest_color): + * objects-x.c (x_initialize_color_instance): + * objects-x.c (x_print_color_instance): + * objects-x.c (x_finalize_color_instance): + * objects-x.c (x_valid_color_name_p): + * objects-x.c (x_initialize_font_instance): + * objects-x.c (x_print_font_instance): + * objects-x.c (valid_x_font_name_p): + * objects-x.c (truename_via_FONT_prop): + * objects-x.c (truename_via_random_props): + * objects-x.c (truename_via_XListFonts): + * objects-x.c (x_font_truename): + * objects-x.c (x_font_instance_truename): + * objects-x.c (x_font_instance_properties): + * objects-x.c (x_list_fonts): + * objects-x.c (x_find_charset_font): + Mule-ize entire file. + [7]. + + * objects-x.h: + Mule-verify. + + * print.c: + * print.c (std_handle_out_external): + * print.c (debug_print_no_newline): + * print.c (syms_of_print): + Output to all debugger kinds in debug-print. + Fix console-output code under MSWin to actually work. + + * process-nt.c (send_signal): + * process-nt.c (nt_create_process): + Use newer Unicode macros. + + * process-unix.c (unix_create_process): + * process-unix.c (unix_canonicalize_host_name): + * process-unix.c (unix_open_network_stream): + [7]. + + * scrollbar-x.c: + Mule-verify. + + * search.c (syms_of_search): + [2]. + + * select-msw.c (mswindows_destroy_selection): + Use LIST_LOOP_2. + + * select-x.c (symbol_to_x_atom): + [7]. + + * select.c (syms_of_select): + [2]. + + * sound.c (Fplay_sound_file): + [7]. + + * specifier.c: + * specifier.c (decode_specifier_type): + * specifier.c (Fvalid_specifier_locale_type_p): + * specifier.c (check_valid_locale_or_locale_type): + * specifier.c (decode_locale): + * specifier.c (decode_locale_type): + * specifier.c (decode_locale_list): + * specifier.c (check_valid_domain): + * specifier.c (decode_specifier_tag_set): + * specifier.c (Fcanonicalize_tag_set): + * specifier.c (Fdefine_specifier_tag): + * specifier.c (Fspecifier_tag_predicate): + * specifier.c (check_valid_inst_list): + * specifier.c (check_valid_spec_list): + * specifier.c (decode_how_to_add_specification): + * specifier.c (check_modifiable_specifier): + * specifier.c (specifier_add_spec): + * specifier.c (boolean_validate): + * specifier.c (display_table_validate): + [9]. + + * specifier.c (syms_of_specifier): + Move some symbols to general-slots.h. + [2]. + + * symbols.c: + * symbols.c (Fmapatoms): + * symbols.c (Fapropos_internal): + Add GCPROs. + + * symbols.c (set_default_buffer_slot_variable): + * symbols.c (set_default_console_slot_variable): + [1]. + + * symbols.c (defsymbol_massage_name_1): + * symbols.c (defkeyword_massage_name): + * symbols.c (deferror_1): + * symbols.c (deferror): + * symbols.c (deferror_massage_name_and_message): + * symeval.h: + * symeval.h (DEFSYMBOL): + Support DEFSYMBOL*, DEFKEYWORD, DEFERROR + + * symbols.c (syms_of_symbols): + [2]. + + * symsinit.h: + * symsinit.h (init_win32): New. + Also new is syms_of_dialog_mswindows. + + * syswindows.h: Add new Unicode macros, missing Cygwin wide-char functions, convenience conversion macros for Qmswindows_tstr, macros for encapsulating required MSWin <-> Cygwin filename conversions, prototype for dynamically-extracted (not in NT 3.51) functions. - * toolbar-x.c: - Mule-verify. + * toolbar-x.c: + Mule-verify. - * tooltalk.c (Fadd_tooltalk_message_arg): - * tooltalk.c (Fadd_tooltalk_pattern_attribute): - * tooltalk.c (Fadd_tooltalk_pattern_arg): - [7]. + * tooltalk.c (Fadd_tooltalk_message_arg): + * tooltalk.c (Fadd_tooltalk_pattern_attribute): + * tooltalk.c (Fadd_tooltalk_pattern_arg): + [7]. - * tooltalk.c (syms_of_tooltalk): - [2]. + * tooltalk.c (syms_of_tooltalk): + [2]. - * unexnt.c: - * unexnt.c (unexec): - Fix up headers, declaration of unexec() to be more standard. + * unexnt.c: + * unexnt.c (unexec): + Fix up headers, declaration of unexec() to be more standard. 2000-07-20 Martin Buchholz @@ -3866,36 +10481,36 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245 2000-07-05 Craig Lanning - * Makefile.in.in: Add support for including the Windows resources - when building with the cygwin and mingw targets. + * Makefile.in.in: Add support for including the Windows resources + when building with the cygwin and mingw targets. - * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either - not set or not correct. - (directory_is_current_directory): Don't compile for WIN32_NATIVE. - (init_initial_directory): Don't try to use $PWD on the - WIN32_NATIVE target. + * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either + not set or not correct. + (directory_is_current_directory): Don't compile for WIN32_NATIVE. + (init_initial_directory): Don't try to use $PWD on the + WIN32_NATIVE target. - * s\cygwin32.h: + * s\cygwin32.h: [[Add -mwindows to eliminate console window.]] not required --ben - (HAVE_NATIVE_SOUND): removed; now handled by configure. - (MAIL_USE_POP): removed; now handled by configure. + (HAVE_NATIVE_SOUND): removed; now handled by configure. + (MAIL_USE_POP): removed; now handled by configure. - * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in + * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in C_SWITCH_SYSTEM or it will affect lib-src progs. --ben - (HAVE_NATIVE_SOUND): removed; now handled by configure. - (MAIL_USE_POP): removed; now handled by configure. - (ENCAPSULATE_STAT): from Dan Holmsand, added. - (ENCAPSULATE_FSTAT): from Dan Holmsand, added. - (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of - constant string. - (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked - up from via systime.h. - (HAVE_GETPAGESIZE): from Dan Holmsand, added. - (getpagesize): from Dan Holmsand, added. - Added #endif which was left dangling by Ben's mega patch; added - comment to help prevent this in the future. - - * sysdll.c: added #include for WIN32_NATIVE case. + (HAVE_NATIVE_SOUND): removed; now handled by configure. + (MAIL_USE_POP): removed; now handled by configure. + (ENCAPSULATE_STAT): from Dan Holmsand, added. + (ENCAPSULATE_FSTAT): from Dan Holmsand, added. + (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of + constant string. + (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked + up from via systime.h. + (HAVE_GETPAGESIZE): from Dan Holmsand, added. + (getpagesize): from Dan Holmsand, added. + Added #endif which was left dangling by Ben's mega patch; added + comment to help prevent this in the future. + + * sysdll.c: added #include for WIN32_NATIVE case. 2000-07-05 Kirill 'Big K' Katsnelson @@ -3993,13 +10608,13 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245 2000-06-08 Mike Alexander - (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size - (shove_thread): Don't write the same output twice - (make_ntpipe_output_stream): Increase priority of shove thread - (ntpipe_shove_writer): Call SwitchToThread to give shove thread a - chance to run - (ntpipe_shove_closer): Don't delete the pipe until we're done with - it. + (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size + (shove_thread): Don't write the same output twice + (make_ntpipe_output_stream): Increase priority of shove thread + (ntpipe_shove_writer): Call SwitchToThread to give shove thread a + chance to run + (ntpipe_shove_closer): Don't delete the pipe until we're done with + it. 2000-06-12 Ben Wing @@ -5790,12 +12405,12 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245 * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text image glyph if allow_cursor. - (add_hscroll_rune): Don't allow cursor to border glyph. - (create_text_block): Ditto. + (add_hscroll_rune): Don't allow cursor to border glyph. + (create_text_block): Ditto. * redisplay-output.c (redisplay_move_cursor): Do nothing even if text not in buffer. - (redisplay_output_layout): Call ensure_face_cachel_complete for + (redisplay_output_layout): Call ensure_face_cachel_complete for text image glyph. @@ -6374,7 +12989,7 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245 * alloc.c (pdump_register_struct): * alloc.c (pdump_dump_data): * alloc.c (pdump_reloc_one): - Minor cleanups. + Minor cleanups. * console-msw.c: * console-msw.c (GetConsoleHwnd): @@ -6384,16 +12999,16 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245 * console-msw.c (msw_output_console_string): * console-msw.c (console_type_create_mswindows): - a) Added functions to manipulate the console window for use with - shell support. + a) Added functions to manipulate the console window for use with + shell support. - b) Added support for writing text to the console, which is now - used under Windows when xemacs is not being run non-interactively, - to write text that would otherwise be destined for stdout because - under these circumstances, text written to stdout tends to - disappear and not be seen. + b) Added support for writing text to the console, which is now + used under Windows when xemacs is not being run non-interactively, + to write text that would otherwise be destined for stdout because + under these circumstances, text written to stdout tends to + disappear and not be seen. - * console-msw.h: + * console-msw.h: * event-Xt.c: * event-Xt.c (x_event_to_emacs_event): * event-Xt.c (describe_event_window): @@ -6447,20 +13062,20 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245 * device-msw.c (msw_get_workspace_coords): * device-msw.c (mswindows_device_system_metrics): and various other files, added support for a new - device property called offset-workspace which returns the position - of the upper left corner of the workspace area and goes along with - the existing size-workspace property. + device property called offset-workspace which returns the position + of the upper left corner of the workspace area and goes along with + the existing size-workspace property. * dialog-msw.c: * dialog-msw.c (push_bufbyte_string_as_unicode): * dialog-msw.c (mswindows_popup_dialog_box): - Added support for XEmacs-style accelerator specifications in - button text. Note: I didn't add support for this under X Windows, - and somebody needs to do this. + Added support for XEmacs-style accelerator specifications in + button text. Note: I didn't add support for this under X Windows, + and somebody needs to do this. * dialog.c: * dialog.c (Fpopup_dialog_box): - Documented the support for accelerators that was just mentioned. + Documented the support for accelerators that was just mentioned. editfns.c (get_home_directory): Changed behavior under Windows when HOME not defined; former behavior was irretrievably broken. @@ -6479,9 +13094,9 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245 * print.c (debug_print): * print.c (debug_backtrace): * print.c (debug_short_backtrace): - Cleaned up the code that prints text to stdout so that this can be - changed to output into a console window instead under MS Windows, - as described above. + Cleaned up the code that prints text to stdout so that this can be + changed to output into a console window instead under MS Windows, + as described above. * eval.c: * eval.c (DEFEND_AGAINST_THROW_RECURSION): @@ -6503,14 +13118,14 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245 * event-msw.c (mswindows_modifier_state): * event-msw.c (emacs_mswindows_quit_p): * event-msw.c (vars_of_event_mswindows): - a) Added support for using the alt key to select menu items as is - standard under MS Windows. This is controlled using the variable - menu-accelerator-enabled, just like under X Windows. There is an - option on the options menu to turn this support on. I really - think that it should be on by default under Windows, but I'm not - going to make this change yet. + a) Added support for using the alt key to select menu items as is + standard under MS Windows. This is controlled using the variable + menu-accelerator-enabled, just like under X Windows. There is an + option on the options menu to turn this support on. I really + think that it should be on by default under Windows, but I'm not + going to make this change yet. - b) Added support for dynamic display size changes under Windows. + b) Added support for dynamic display size changes under Windows. * event-stream.c: * event-stream.c (maybe_echo_keys): @@ -6525,30 +13140,30 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245 * event-stream.c (complex_vars_of_event_stream): * events.h (struct command_builder): - a) Tried to clean up a little bit the horribly written x-specific - accelerator code that crept into this file. I moved this code - into menubar-x.c where it belongs. I also needed to move the - command builder structure into the file events.h because it is - accessed directly by this accelerator code. What I didn't do, but - which should be done at some point, is to properly abstract this - code using device methods instead of the kludgy way that it - currently hooks into the event code. - - b) Added the lisp variables this-command-properties and - last-command- properties, which should be used to synchronize two - adjacent commands in preference to playing games with the variable - this-command, which is typically what happens. - - c) Added some slightly nasty code to hook into the lisp support - for shifted- motion-key selection. This is actually necessary for - somewhat complicated reasons, which are described in - simple.el. (NB: I think the proper thing would be to have the code - that calls the pre and post command hooks also call out to generic - lisp functions in simple.el, where all built-in stuff could be - added. I will think about this more.) + a) Tried to clean up a little bit the horribly written x-specific + accelerator code that crept into this file. I moved this code + into menubar-x.c where it belongs. I also needed to move the + command builder structure into the file events.h because it is + accessed directly by this accelerator code. What I didn't do, but + which should be done at some point, is to properly abstract this + code using device methods instead of the kludgy way that it + currently hooks into the event code. + + b) Added the lisp variables this-command-properties and + last-command- properties, which should be used to synchronize two + adjacent commands in preference to playing games with the variable + this-command, which is typically what happens. + + c) Added some slightly nasty code to hook into the lisp support + for shifted- motion-key selection. This is actually necessary for + somewhat complicated reasons, which are described in + simple.el. (NB: I think the proper thing would be to have the code + that calls the pre and post command hooks also call out to generic + lisp functions in simple.el, where all built-in stuff could be + added. I will think about this more.) * event-unixoid.c (poll_fds_for_input): - * lread.c (readchar): + * lread.c (readchar): * redisplay-tty.c (tty_clear_frame): * redisplay-x.c (x_get_gc): * signal.c (interrupt_signal): @@ -6561,33 +13176,33 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245 * frame-msw.c: * frame-msw.c (mswindows_size_frame_internal): - Fixed the computation of frame size and position to keep the frame - within the workspace area, rather than within the physical - dimensions of the screen, so that the frame doesn't overlap window - manager decorations, such as the start menu and toolbar, typically - at the bottom of the screen. + Fixed the computation of frame size and position to keep the frame + within the workspace area, rather than within the physical + dimensions of the screen, so that the frame doesn't overlap window + manager decorations, such as the start menu and toolbar, typically + at the bottom of the screen. * frame.c (vars_of_frame): - Changed the default frame title format under MS Windows to consist - of buffername-XEmacs, which is standard under MS Windows. I think - it might be a good idea to change this everywhere because I think - it is superior to the current frame title format, but this is the - kind of change that is likely to cause some people to get annoyed, - so I'm not making it. + Changed the default frame title format under MS Windows to consist + of buffername-XEmacs, which is standard under MS Windows. I think + it might be a good idea to change this everywhere because I think + it is superior to the current frame title format, but this is the + kind of change that is likely to cause some people to get annoyed, + so I'm not making it. * glyphs-eimage.c (png_instantiate): Fixed some compile warnings. * gui-msw.c (mswindows_handle_gui_wm_command): - Fixed compile warnings. + Fixed compile warnings. * gui-x.c: * gui-x.c (strdup_and_add_accel): * gui-x.c (button_item_to_widget_value): * gui-x.h: - Added code to automatically put an accelerator onto the beginning - of menu items that don't have one as is now the standard, and is - described more later. Also fixed things so that the menu item - name can be an evaluated expression, again a new standard. + Added code to automatically put an accelerator onto the beginning + of menu items that don't have one as is now the standard, and is + described more later. Also fixed things so that the menu item + name can be an evaluated expression, again a new standard. * gui.c: * gui.c (gui_item_add_keyval_pair): @@ -6606,9 +13221,9 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245 * line-number.c (buffer_line_number): * lisp.h: * lisp.h (EMACS_INT_MAX): - Added the manifest constant EMACS_INT_MIN corresponding to the - existing constant EMACS_INT_MAX. This is partially to fix compile - warnings under Windows, and partly for cleanliness. + Added the manifest constant EMACS_INT_MIN corresponding to the + existing constant EMACS_INT_MAX. This is partially to fix compile + warnings under Windows, and partly for cleanliness. * menubar-msw.c: * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH): @@ -6627,15 +13242,15 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245 * menubar-msw.c (mswindows_update_frame_menubars): * menubar-msw.c (mswindows_free_frame_menubars): * menubar-msw.c (mswindows_popup_menu): - Fixed a bug in handling accelerators where an extra character - would be displayed in the menu item. Also generalized the - function displayable_menu_item because it is now used by the - dialog box code as well. And finally, added code in the functions - that create the menubar to extract a list of accelerators for the - top level menubar, which is used in the event code to determine - whether a particular alt-key combination should be used to invoke - a menu item, or should be passed through to access the standard - XEmacs keymap binding for this key combination. + Fixed a bug in handling accelerators where an extra character + would be displayed in the menu item. Also generalized the + function displayable_menu_item because it is now used by the + dialog box code as well. And finally, added code in the functions + that create the menubar to extract a list of accelerators for the + top level menubar, which is used in the event code to determine + whether a particular alt-key combination should be used to invoke + a menu item, or should be passed through to access the standard + XEmacs keymap binding for this key combination. Much needed GCPROing. @@ -6654,10 +13269,10 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245 * menubar-x.c (command_builder_find_menu_accelerator): * menubar-x.c (Faccelerate_menu): * menubar.h: - Moved a whole bunch of code here that was previously in - event-stream.c as described above. There is also code connected - to the new standard of adding an accelerator to the beginning of - menu items that don't have one as described above and below. + Moved a whole bunch of code here that was previously in + event-stream.c as described above. There is also code connected + to the new standard of adding an accelerator to the beginning of + menu items that don't have one as described above and below. * menubar.c: * menubar.c (menu_parse_submenu_keywords): @@ -6667,31 +13282,31 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245 * menubar.c (vars_of_menubar): * menubar.c (complex_vars_of_menubar): - a) Cleaned up a bunch of documentation and improved it. - - b) XEmacs now automatically adds an accelerator onto the beginning - of any menu items that don't have one. I did this because there - will inevitably be some menu items on the main menubar that don't - have accelerators on them because the package that adds that - particular menu item hasn't yet been fixed up to have accelerators - in them and it looked rather strange to have some items with and - some items without accelerators, especially since even in items - without accelerators, you can, at least under windows, still - access the item through an accelerator corresponding to the first - character in the item's name. If people don't like this behavior, - I can add a variable to turn it off optionally, but I'm not sure - this is a good idea because we really do need to have accelerators - on all of the menu items, and if a package doesn't like the - accelerators being put on the first character, then it should put - the accelerators where they belong. - - c) I made a behavior change, which is that the descriptor that - specifies the text of the menu item, which formerly was just a - string, can now also be an evaluated expression. This makes this - descriptor parallel with all of the others, which could also be - evaluated expressions. This also obviates the need for the - keyword :label, which was previously listed in the documentation - as unimplemented, and which was for the same purpose. + a) Cleaned up a bunch of documentation and improved it. + + b) XEmacs now automatically adds an accelerator onto the beginning + of any menu items that don't have one. I did this because there + will inevitably be some menu items on the main menubar that don't + have accelerators on them because the package that adds that + particular menu item hasn't yet been fixed up to have accelerators + in them and it looked rather strange to have some items with and + some items without accelerators, especially since even in items + without accelerators, you can, at least under windows, still + access the item through an accelerator corresponding to the first + character in the item's name. If people don't like this behavior, + I can add a variable to turn it off optionally, but I'm not sure + this is a good idea because we really do need to have accelerators + on all of the menu items, and if a package doesn't like the + accelerators being put on the first character, then it should put + the accelerators where they belong. + + c) I made a behavior change, which is that the descriptor that + specifies the text of the menu item, which formerly was just a + string, can now also be an evaluated expression. This makes this + descriptor parallel with all of the others, which could also be + evaluated expressions. This also obviates the need for the + keyword :label, which was previously listed in the documentation + as unimplemented, and which was for the same purpose. d) GCPROing. @@ -6700,10 +13315,10 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245 * ntproc.c (sys_spawnve): * ntproc.c (find_child_console): * ntproc.c (sys_kill): - Fixed compile warnings. By the way, this file should really go - away entirely, and this will happen as soon as Kirill makes his - final round of process cleanups, which affect the function - call-process. + Fixed compile warnings. By the way, this file should really go + away entirely, and this will happen as soon as Kirill makes his + final round of process cleanups, which affect the function + call-process. * process-nt.c: * process-nt.c (struct nt_process_data): @@ -6719,17 +13334,17 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245 * process-nt.c (nt_kill_process_by_pid): * process-nt.c (nt_open_network_stream): * process-nt.c (vars_of_process_nt): - Copied over code from Emacs 20.5 to correctly send signals to sub- - processes under Windows 95. Also added code to automatically - create and hide console window when a sub-process is created under - Windows 95, which obviates the need for the separate runemacs.exe - executable, and finally implemented some variables that were - implemented in Emacs 20.5, but previously not in XEmacs. These - include mswindows- start-process-share-console and - mswindows-start-process-inherit-error-mode. (Both of these only - apply to Windows 95.) - - * regex.c (regex_compile): Fixed a compile warning. + Copied over code from Emacs 20.5 to correctly send signals to sub- + processes under Windows 95. Also added code to automatically + create and hide console window when a sub-process is created under + Windows 95, which obviates the need for the separate runemacs.exe + executable, and finally implemented some variables that were + implemented in Emacs 20.5, but previously not in XEmacs. These + include mswindows- start-process-share-console and + mswindows-start-process-inherit-error-mode. (Both of these only + apply to Windows 95.) + + * regex.c (regex_compile): Fixed a compile warning. * select-msw.c: * select-msw.c (mswindows_own_selection): @@ -6737,20 +13352,20 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245 * select-msw.c (mswindows_disown_selection): * select-msw.c (console_type_create_select_mswindows): * select-msw.c (syms_of_select_mswindows): - Cleaned up the file and implemented the device method - selection_exists_p, which had accidentally been left out. Also - removed four lisp functions that were remnants from before the - time when the selection code was properly device abstracted. - These functions are no longer needed because there are generic - equivalents, and because they were added recently and don't exist - in FSF Emacs, I don't think there's any problem with just deleting - them. + Cleaned up the file and implemented the device method + selection_exists_p, which had accidentally been left out. Also + removed four lisp functions that were remnants from before the + time when the selection code was properly device abstracted. + These functions are no longer needed because there are generic + equivalents, and because they were added recently and don't exist + in FSF Emacs, I don't think there's any problem with just deleting + them. * sysdep.c: * sysdep.c (sys_subshell): - Fixed a compile warning, although in this case there's probably - something wrong with this code, and it ought to be looked into - more thoroughly by somebody who understands it. + Fixed a compile warning, although in this case there's probably + something wrong with this code, and it ought to be looked into + more thoroughly by somebody who understands it. * window.c: * window.c (Fwindow_text_area_height): @@ -6759,13 +13374,13 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245 * window.c (Fwindow_pixel_width): * window.c (debug_print_window): * window.c (syms_of_window): - Added functions window-text-area-height and window-full-width, - which are functions for returning various width and height - characteristics of a window. (One of these functions is necessary - for making the file dialog box work correctly, and the other one - was added for completeness.) Also added a table to the - documentation for window-height which describes the entire scheme - for accessing width and height characteristics of a window. + Added functions window-text-area-height and window-full-width, + which are functions for returning various width and height + characteristics of a window. (One of these functions is necessary + for making the file dialog box work correctly, and the other one + was added for completeness.) Also added a table to the + documentation for window-height which describes the entire scheme + for accessing width and height characteristics of a window. 2000-03-12 Kirill 'Big K' Katsnelson