X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2FChangeLog;h=ea843e2b9c6f640934c44818faf81df4d9df1b06;hb=3aca7317dd930beecbddba646284279744087e69;hp=485d8f74e3e8fd46b31ba1b23f774a4519b47fd7;hpb=3890a2e3064a7f562107c58e59d928284ec04741;p=chise%2Fxemacs-chise.git- diff --git a/src/ChangeLog b/src/ChangeLog index 485d8f7..ea843e2 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,5170 @@ +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. + +2000-05-28 Martin Buchholz + + * XEmacs 21.2.34 is released. + +2000-05-22 Jan Vroonhof + + * redisplay.c (VERTICAL_CLIP): No longer reset when updating line + start cache. + (updating_line_start_cache): Gone. + (regenerate_window): Replace resetting of VERTICAL_CLIP by + generic code to force a minimum of 1 line laid out in the + CMOTION_DISP case. + +2000-05-22 Jan Vroonhof + + * glyphs.c (instantiate_image_instantiator): Check for initialized + height & width no longer special cases IMAGE_NOTHING. + (nothing_instantiate): Set height and width of instance. + +2000-05-24 Yoshiki Hayashi + + * unexelf.c (unexec): Search for ".data" section. + Initialize new_data2_offset from old_data_index. + Remove redundant check for ElfW. + +2000-05-23 Andy Piper + + * glyphs.c (get_image_instantiator_governing_domain): allow more + specific domains as the governing domain rather than expecting an + exact match. This fixes problems with layouts. + +2000-05-22 Andy Piper + + * redisplay-output.c (compare_runes): check for non-images + + * glyphs.c (set_glyph_dirty_p): ditto. + (update_glyph_cachel_data): ditto. + + * glyphs-widget.c (layout_post_instantiate): ditto. + (layout_post_instantiate): ditto. + + * event-msw.c (mswindows_wnd_proc): warning removal. + +2000-05-12 Craig Lanning + + * s\mingw32.h: Added #undef for CLASH_DETECTION. + + * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h. + + * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h. + + * nt.c (rva_to_section): mingw32 needs rva_to_section. + (mswindows_executable_type): mingw32 now has enough headers for + this to work. + +2000-05-20 Andy Piper + + * console-msw.c (mswindows_output_last_error): ; -> , + +2000-05-12 Andy Piper + + * console-msw.c (FROB): compare ints with ints. + +2000-05-11 Andy Piper + + * glyphs-x.c (x_finalize_image_instance): make minimal build + happy. + +2000-05-20 Ben Wing + + * event-Xt.c: + * event-Xt.c (vars_of_event_Xt): + move modifier-keys-are-sticky to event-stream.c. + + * event-msw.c: + * event-msw.c (mswindows_enqueue_mouse_button_event): + * event-msw.c (key_needs_default_processing_p): + * event-msw.c (XEMSW_LCONTROL): + * event-msw.c (mswindows_handle_sticky_modifiers): + * event-msw.c (FROB): + * event-msw.c (clear_sticky_modifiers): + * event-msw.c (output_modifier_keyboard_state): + * event-msw.c (output_alt_keyboard_state): + * event-msw.c (mswindows_wnd_proc): + * event-msw.c (mswindows_modifier_state): + * event-msw.c (emacs_mswindows_handle_magic_event): + implement sticky modifiers. + + * event-stream.c: + * event-stream.c (vars_of_event_stream): + move modifier-keys-are-sticky here. + + * lisp.h: + add CHECK_FUNCTION. + + * rangetab.c: + implement map-range-table. + + +2000-05-17 Yoshiki Hayashi + + * redisplay-tty.c (reset_tty_modes): + (tty_redisplay_shutdown): Adjust argument type to + tty_frame_output_end. + +2000-05-11 Yoshiki Hayashi + + * eval.c (Fbacktrace): Don't output a line with only right + parenthesis. + +2000-05-17 Kenji Itoh + + * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'. + (Fpq_reset_poll): Ditto. + +2000-05-16 Katsumi Yamaoka + + * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end. + +2000-05-16 Ben Wing + + * buffer.c: + * buffer.c (dfc_convert_to/from_internal_format): + * buffer.c (reinit_vars_of_buffer): + Fix conversion functions to allow reentrancy. + + * console-msw.c: + * console-msw.c (mswindows_output_last_error): + New fun, generally useful -- output a human-readable + version of GetLastError() on the console. + + * console-msw.h: + * console-msw.h (struct mswindows_frame): + Changes for DeferWindowPos. Declare mswindows_output_last_error(). + + * console-stream.c (stream_output_begin): + * console-stream.c (stream_output_end): + * console-stream.c (stream_output_vertical_divider): + * console-stream.c (stream_clear_region): + * console-stream.c (stream_flash): + * console-stream.c (console_type_create_stream): + Delete blank stream methods, not needed. + + * console.h (struct console_methods): + Split begin/end methods into window and frame. + + * event-msw.c: + * event-msw.c (mswindows_handle_paint): + * event-msw.c (output_alt_keyboard_state): + * event-msw.c (mswindows_wnd_proc): + * event-msw.c (vars_of_event_mswindows): + Comment about problems with ignored-expose. + Define mswindows-debug-events; not really implemented. + + * frame-msw.c (mswindows_init_frame_1): + random cleanups. + + * glyphs-msw.c: + * glyphs-msw.c (begin_defer_window_pos): + * glyphs-msw.c (mswindows_unmap_subwindow): + * glyphs-msw.c (mswindows_map_subwindow): + * glyphs-msw.c (mswindows_resize_subwindow): + Use DeferWindowPos to reduce flashing when mapping/unmapping. + + * glyphs.c (make_image_instance_1): + Fix crash. + + * gutter.c (Fredisplay_gutter_area): + Use new begin/end methods. + + * lisp.h (Dynarr_new2): + New creation fun. + + * redisplay-msw.c: + * redisplay-msw.c (mswindows_frame_output_begin): + * redisplay-msw.c (mswindows_frame_output_end): + * redisplay-msw.c (console_type_create_redisplay_mswindows): + New begin/end methods -- handle DeferWindowPos. + + * redisplay-output.c (redisplay_move_cursor): + * redisplay-output.c (redraw_cursor_in_window): + * redisplay-output.c (redisplay_update_line): + * redisplay-output.c (redisplay_output_window): + New begin/end methods. + + * redisplay-tty.c: + * redisplay-tty.c (tty_frame_output_begin): + * redisplay-tty.c (tty_frame_output_end): + * redisplay-tty.c (console_type_create_redisplay_tty): + New begin/end methods. + + * redisplay-x.c: + * redisplay-x.c (x_window_output_begin): + * redisplay-x.c (x_window_output_end): + * redisplay-x.c (console_type_create_redisplay_x): + New begin/end methods. + + * redisplay.c (redisplay_frame): + * redisplay.c (Fredisplay_echo_area): + New begin/end methods. + use MAYBE_DEVMETH for clear_frame; it may not exist. + + * window.h (WINDOW_XFRAME): + WINDOW_XFOO macros -- get locale and decode struct pointer. + + +2000-05-12 Ben Wing + + * emacs.c: + * emacs.c (ensure_no_quitting_from_now_on): + * emacs.c (fatal_error_signal): + * emacs.c (mswindows_handle_hardware_exceptions): + * emacs.c (main): + * emacs.c (Fkill_emacs): + * emacs.c (shut_down_emacs): + * emacs.c (assert_failed): + various improvements in fatal error handling. + + * eval.c: + move preparing_for_armageddon to emacs.c. + + * lisp.h: + declare fatal_error_in_progress. + + * print.c: + * print.c (std_handle_out_external): + * print.c (std_handle_out_va): + * print.c (stderr_out): + * print.c (stdout_out): + use console under mswin when no standard output. + don't do code conversion during fatal error. + + * scrollbar.c (Fscrollbar_page_up): + * scrollbar.c (Fscrollbar_page_down): + fix missing else. reindent. + +2000-05-11 Jan Vroonhof + + Emergency fix. + + * glyphs.h (GLYPH_CACHEL_DESCENT): + (GLYPH_CACHEL_DESCENT): + (GLYPH_CACHEL_DESCENT): + * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables + used in case these are inline functions. + Use more absurd values to error check. + + include window.h for error check functions. + +2000-05-11 Ben Wing + + * cmdloop.c (Freally_early_error_handler): + Display message box under windows; otherwise, message will disappear + before it can be viewed. + + * console-msw.c: + * console-msw.c (Fmswindows_message_box): + * console-msw.c (FROB): + * console-msw.c (syms_of_console_mswindows): + Define new fun `mswindows-message-box'. + #### I will merge this into `popup-dialog-box'; just give me + a bit of time. + + * general.c: + * general.c (syms_of_general): + Some new symbols used in `mswindows-message-box'. + + * glyphs.c: + * glyphs.c (Fset_image_instance_property): + put warning in this fun. + + * glyphs.h: + * glyphs.h (GLYPH_CACHEL_WIDTH): + * glyphs.h (GLYPH_CACHEL_ASCENT): + * glyphs.h (GLYPH_CACHEL): + * glyphs.h (GLYPH_CACHEL_GLYPH): + define error-checking versions to try to catch a bug i've seen -- + redisplay gets in an infinite loop because the glyph width of the + continuation glyph is 65535. + + * lisp.h: + Extern message-box stuff. + + * window.c (allocate_window): + * window.c (make_dummy_parent): + * window.c (Fset_window_configuration): + Use EQUAL not EQ for subwindow caches to make them work a bit + better. (Something is still very broken.) + + +2000-05-11 Yoshiki Hayashi + + * glyphs.c (image_instantiate): Suppress gcc warnings. + (Fmake_image_instance): Fix doc string. + * specifier.c (Fmake_specifier): Ditto. + +2000-05-02 Yoshiki Hayashi + + * paths.h.in (PATH_LOCK): Removed. + * config.h.in (LOCKDIR_USER_DEFINED): Removed. + * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory. + +2000-05-08 Yoshiki Hayashi + + * fns.c (Ffeaturep): Update e-mail address in doc-string. + Document (featurep '(and xemacs 21.02)). + +2000-05-09 Ben Wing + + * buffer.c (complex_vars_of_buffer): + update modeline-format doc. + + * device.h: + comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE. + + * emacs.c: + timeline of all released versions of Emacs, for use in creating + authorship comments and in synching up. + + * glyphs-widget.c (image_instantiator_buttons): + * glyphs-widget.c (image_instantiator_edit_fields): + * glyphs-widget.c (image_instantiator_combo_box): + * glyphs-widget.c (image_instantiator_scrollbar): + * glyphs-widget.c (image_instantiator_progress_guage): + * glyphs-widget.c (image_instantiator_tree_view): + * glyphs-widget.c (image_instantiator_tab_control): + * glyphs-widget.c (image_instantiator_labels): + * glyphs-widget.c (image_instantiator_layout): + * glyphs-widget.c (image_instantiator_native_layout): + rename decode_domain method to governing_domain. + + * glyphs.c: + * glyphs.c (Fvalid_image_instantiator_format_p): doc update. + * glyphs.c (add_entry_to_device_ii_format_list): + make sure we don't put an entry more than once into the list. + * glyphs.c (check_instance_cache_mapper): + ************************************************************* + allow for nil. THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE + HAVE BEEN GETTING. + ************************************************************* + * glyphs.c (get_image_instantiator_governing_domain): + clean up, expand on new concept of governing domain. + * glyphs.c (instantiate_image_instantiator): + * glyphs.c (allocate_image_instance): + use governing_domain instead of cache_domain in naming. + * glyphs.c (Fvalid_image_instance_type_p): fix docs. + * glyphs.c (make_image_instance_1): + * glyphs.c (Fmake_image_instance): + allow for any domain (not just device), and process the + governing domain correctly. very big doc fix. + * glyphs.c (Fimage_instance_domain): + new primitive, to retrieve the governing domain of an image instance. + * glyphs.c (image_instantiate): + use new governing_domain stuff. this fixes a crash you could get + by instantiating certain widget glyphs in frame locales. (should + signal an error instead of crashing.) + * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier. + * glyphs.c (Fglyphp): clean up doc. + * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain. + * glyphs.c (syms_of_glyphs): + declare Fimage_instance_domain, remove unused Qlayout_image_instance_p. + * glyphs.c (image_instantiator_format_create): add some comments about + bogus code. + * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string + for current-display-table. (Apparently Hrjove implemented in 1998 a + design I wrote up in 1996, but didn't update the doc string.) + + * glyphs.h: clean up a doc string. + * glyphs.h (governing_domain): + * glyphs.h (struct image_instantiator_methods): + changes for governing_domain stuff. + + * gutter.c: + * gutter.c (Fgutter_specifier_p): + * gutter.c (Fgutter_size_specifier_p): + * gutter.c (Fgutter_visible_specifier_p): + * objects.c: + * objects.c (Fcolor_specifier_p): + * objects.c (Ffont_specifier_p): + * objects.c (Fface_boolean_specifier_p): + doc strings moved to make-*-specifier. + + * redisplay.c (add_disp_table_entry_runes_1): + * redisplay.c (generate_fstring_runes): + * redisplay.c (screen): + add random comments and doc strings. + + * specifier.c: + * specifier.c (Fmake_specifier): + major overhaul of this doc string. + + * specifier.c (Fvalid_specifier_domain_p): + comment about the bogosity of image instances being domains. + * specifier.c (decode_domain): + now non-static, used in glyphs.c. + * specifier.c (specifier_instance): + comment about the bogosity of image instances being domains. + * specifier.c (Fgeneric_specifier_p): + move doc string to make-generic-specifier. + * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P): + rebackslashify. + + * specifier.h: + * specifier.h (DOMAIN_FRAME): + * specifier.h (DOMAIN_LIVE_P): + * specifier.h (DOMAIN_XDEVICE): + rebackslashify. + add comments about problems with these macros. + prototype for decode_domain. + + * toolbar.c: + * toolbar.c (Ftoolbar_specifier_p): + move doc string to `make-toolbar-specifier'. + + * window.c (window_unmap_subwindows_cache_mapper): + ************************************************************* + allow for nil. THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE + HAVE BEEN GETTING. + ************************************************************* + +2000-05-09 Andy Piper + + * glyphs.h: declare reset_frame_subwindow_instance_cache. + + * window.c (Fset_window_configuration): reset the frame subwindow + cache and re-initialize the window subwindow caches. + + * glyphs.c (reset_frame_subwindow_instance_cache): new function. + +2000-05-09 Ben Wing + + * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to + DWORD. + +2000-04-26 Mike Woolley + + * ntheap.c: Changed recreate_heap to limit the amount reserved + for the heap to that which is actually available. Also now + displays a message box (with some dignostics) in the event that + it still can't start. + +2000-05-07 Jan Vroonhof + + * callproc.c (Fold_call_process_internal): GCPRO path + +2000-05-08 Jan Vroonhof + + Patch by Bill Perry. + + * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call + back data instead of #ifdef. + (Fscrollbar_page_down): ditto. + +2000-05-07 Ben Wing + + * buffer.h: + Kludge for defining Qmswindows_tstr. + + * nt.c: + * nt.c (open_input_file): + * nt.c (open_output_file): + * nt.c (rva_to_section): + * nt.c (mswindows_executable_type): + Move all memory-mapped-file routines here (some were in unexnt.c, + which is bad because they are used by process-nt.c, and unexnt + won't be around when portable dumping). Synched the above routines + with FSF 20.6. + + * nt.h: + Removed ifdef'd out bogus code. + Fixed some prototypes. + + * nt.h (file_data): + * nt.h (OFFSET_TO_RVA): + * nt.h (RVA_TO_OFFSET): + * nt.h (RVA_TO_PTR): + Moved the memory-mapped-file structures, macros and prototypes + here, to parallel nt.c. ntheap.h should really be removed + entirely, and it's a non-portable-dumper specific file. + + * ntheap.h (round_to_next): + Moved the memory-mapped-file structures, macros and prototypes + to nt.h. + + * ntproc.c (compare_env): + Moved rva_to_section and mswindows_executable_type to nt.c. + Moved compare_env to process-nt.c. + ntproc.c will die, one day. + + * ntproc.c (sys_spawnve): + Account for win32_ -> mswindows_. + + * process-nt.c: + * process-nt.c (struct nt_process_data): + * process-nt.c (ensure_console_window_exists): + * process-nt.c (compare_env): + * process-nt.c (nt_create_process): + * process-nt.c (nt_kill_process_by_pid): + * process-nt.c (syms_of_process_nt): + * process-nt.c (vars_of_process_nt): + Introduce variable `mswindows-quote-process-args', from FSF 20.6. + Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization + changes). Eliminate our old `nt-quote-process-args' mechanism. + Synch up nt_create_process with FSF 20.6 sys_spawnve. + Move compare_env here from ntproc.c. + + * process.c (Fprocess_send_region): + Takes an optional fourth argument, BUFFER, which should fix some + problems with call-process. + + * syscommctrl.h: + Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning. + + * syswindows.h: + Move ICC_BAR_CLASSES to syscommctrl.h. + Add preliminary macros for MSWindows/Mule. More to come. + + * unexnt.c: + * unexnt.c (unexec): + open_output_file moved to nt.c. + + +2000-05-05 Andy Piper + + * window.c (window_unmap_subwindows_cache_mapper): remove the dead + instance from the frame cache also since GC may catch up too late + to make frame deletion sane. + +2000-05-04 Andy Piper + + * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks. + (x_finalize_image_instance): ungcpro on deletion. + + * glyphs.c (image_instantiator_format_create): give pointers a + query geometry method so that the geometry is at least set. + + * glyphs-x.c (image_instantiator_format_create_glyphs_x): only + initialize layouts if using widgets. + +2000-05-03 Andy Piper + + * nt.c: remove bogus reference to sysmmsystem.h + + * gui-x.c (popup_selection_callback): fix no selection abort. + +2000-05-02 Andy Piper + + * glyphs-msw.c (mswindows_update_widget): cope with nil text. + (mswindows_widget_instantiate): ditto. + + * glyphs-widget.c (initialize_widget_image_instance): initialize + children correctly. + (widget_instantiate): cope with children and items in the same + instance. + + * glyphs.c (mark_image_instance): cope with children as a first + class member. + (image_instance_equal): ditto. + (image_instance_hash): ditto. + (image_instance_changed): ditto. + +2000-04-30 Andy Piper + + * glyphs.c (subwindow_query_geometry): new function. Return some + defaults. + (subwindow_instantiate): don't assign dimensions if none have been + given. + (image_instantiator_format_create): add subwindow_query_geometry. + (print_image_instance): cope with layouts as widgets. + +2000-04-29 Andy Piper + + * frame.c (delete_frame_internal): call + free_frame_subwindow_instance_cache so that all subwindows are + finalized before their parent. + (mark_frame): remove subwindow_cachels. + (Fmake_frame): remove subwindow_cachel manipulation. + (allocate_frame_core): subwindow_instance_cache is a weak list. + (delete_frame_internal): set subwindow_instance_cache to nil. + + * glyphs-msw.c (mswindows_finalize_image_instance): make double + finalization safe. + (mswindows_finalize_image_instance): use the device + not the domain as the domain may have died already. + + * glyphs-x.c (x_finalize_image_instance): ditto. + (x_subwindow_instantiate): remove SUBWINDOW_WIDTH & + HEIGHT. + + * redisplay-output.c (redisplay_unmap_subwindows): update for + subwindow instance cache as a weak list. + (redisplay_unmap_subwindows_maybe): ditto. + (redisplay_unmap_subwindows_except_us): ditto. + + * glyphs.c (unmap_subwindow): error checking will check the domain + so don't deal with it here. Don't use cachels anymore. + (map_subwindow): ditto. + (update_subwindow_cachel_data): remove old accessor names. + (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT. + (Fresize_subwindow): don't update cachel. + (mark_subwindow_cachels): + (update_subwindow_cachel_data): + (add_subwindow_cachel): + (get_subwindow_cachel_index): + (update_subwindow_cachel): + (reset_subwindow_cachels): + (mark_subwindow_cachels_as_not_updated): deleted. + (cache_subwindow_instance_in_frame_maybe): new function. Add a + subwindow instance to the frame cache. + (find_matching_subwindow): update for subwindow instance cache as + a weak list. + (update_widget_instances): ditto. + (image_instance_type_to_mask):inlined. + (free_frame_subwindow_instance_cache): new function. finalize all + subwindows that are instantiated. + + * glyphs.h (struct Lisp_Image_Instance): add display_data instead + of cachel information. + (IMAGE_INSTANCE_DISPLAY_X): + (IMAGE_INSTANCE_DISPLAY_Y): + (IMAGE_INSTANCE_DISPLAY_WIDTH): + (IMAGE_INSTANCE_DISPLAY_HEIGHT): + (XIMAGE_INSTANCE_DISPLAY_X): + (XIMAGE_INSTANCE_DISPLAY_Y): + (XIMAGE_INSTANCE_DISPLAY_WIDTH): + (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors. + remove subwindow_cachel structure and function references. + (image_instance_type_to_mask): inline from glyphs.c + + * redisplay.c (redisplay_frame): remove subwindow_cachel + references. + + * frame.h (struct frame): remove subwindow_cachels. + (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache. + + * frameslots.h: add subwindow_instance_cache. + + * window.c (replace_window): check subwindow cache of replacement. + (window_unmap_subwindows_cache_mapper): + (window_unmap_subwindows): new functions. Unmap all subwindows + cached on this window. + (mark_window_as_deleted): unmap all subwindows. + +2000-04-27 Andy Piper + + * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths. + + * glyphs-widget.c (widget_layout): return something. + (layout_layout): return something. Fail if not intialized. + (layout_query_geometry): ditto. + (image_instantiator_native_layout): new function. Initialized the + native layout type. + (widget_instantiate): don't do layout stuff here. + + * glyphs.c (instantiate_image_instantiator): reorded calling or + instantiate and post_instantiate with layout in between. + (image_instance_layout): be more selective about deciding whether + the layout has been done or not. + + * glyphs.h (struct image_instantiator_methods): return a value + from layout_method. + +2000-04-26 Andy Piper + + * glyphs.c (allocate_image_instance): make initial width and + height unspecified. Set initialized to 0. + + * syscommctrl.h new file. Encapsulates commctrl.h. + + * syswindows.h new file. Encapsulates windows.h. + + * ntplay.c: use new syswindows.h and syscommctrl.h header. + * nt.c: ditto. + * console-msw.h: ditto. + + * redisplay-tty.c (tty_output_display_block): remove layout references. + + * glyphs-msw.c (mswindows_widget_instantiate): use the domain + window handle rather than just the frame. + + * glyphs.c (mark_image_instance): remove layout references. + (print_image_instance): ditto. + (image_instance_equal): ditto. + (image_instance_hash): ditto. + (decode_image_instance_type): ditto. + (encode_image_instance_type): ditto. + (image_instantiate): ditto. + (allocate_glyph): ditto. + (Fimage_instance_height): ditto. + (Fimage_instance_width): ditto. + (update_subwindow): ditto. + + * redisplay-x.c (x_output_display_block): recode for layouts as + widgets. + + * redisplay-output.c (redisplay_output_layout): recode for layouts + as widgets. + (compare_runes): remove layout references. + + * redisplay-msw.c (mswindows_output_display_block): recode for + layouts as widgets. + + * glyphs-widget.c (image_instantiator_layout): remove + layout_possible_dest_types. + (layout_possible_dest_types): deleted. + + * glyphs.h (image_instance_type): remove layout references. + (struct Lisp_Image_Instance): ditto. Add initialized flag. + (IMAGE_INSTANCE_INITIALIZED): new accessor. + (XIMAGE_INSTANCE_INITIALIZED): ditto. + +2000-04-25 Andy Piper + + * glyphs-widget.c (image_instantiator_buttons): + (image_instantiator_edit_fields): + (image_instantiator_combo_box): + (image_instantiator_scrollbar): + (image_instantiator_progress_guage): + (image_instantiator_tree_view): + (image_instantiator_tab_control): + (image_instantiator_labels): + (image_instantiator_layout): call default post_instantiate method. + (widget_post_instantiate): new function. Simply lays out the + widgets. + + * glyphs.h (struct image_instantiator_methods): add + post_instantiate method. + + * glyphs.c (instantiate_image_instantiator): add post_instantiate + method calls. + +2000-04-23 Andy Piper + + * glyphs.h (struct image_instantiator_methods): add + decode_domain_method. + (struct Lisp_Image_Instance): remove subwindow frame - it can be + derived from the domain. + (IMAGE_INSTANCE_FRAME): new accessor. + (XIMAGE_INSTANCE_FRAME): ditto. + + * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME + instead of _SUBWINDOW_FRAME. + (finalize_image_instance): ditto. + (Fimage_instance_foreground): ditto. + (Fimage_instance_background): ditto. + (image_instantiate): ditto. + (update_subwindow_cachel): ditto. + (update_subwindow): ditto. + (unmap_subwindow): ditto. + (map_subwindow): ditto + (subwindow_instantiate): ditto. + * glyphs-msw.c (mswindows_update_widget): ditto. + (mswindows_progress_gauge_instantiate): ditto. + (mswindows_tab_control_update): ditto. + * glyphs-x.c (x_update_widget): ditto. + (x_widget_instantiate): ditto. + (x_tab_control_instantiate): ditto. + (x_tab_control_update): ditto. + * event-msw.c (mswindows_wnd_proc): ditto + + * glyphs-widget.c (image_instantiator_layout): use + subwindow_decode_domain. + (image_instantiator_buttons): ditto. + (image_instantiator_edit_fields): ditto. + (image_instantiator_combo_box): ditto. + (image_instantiator_scrollbar): ditto. + (image_instantiator_progress_guage): ditto. + (image_instantiator_tree_view): ditto. + (image_instantiator_tab_control): ditto. + (image_instantiator_labels): ditto. + (image_instantiator_layout): ditto. + + * glyphs.c: add instance error checking to many functions. + (instantiate_image_instantiator): decode device from cache_domain. + (image_instantiate): partially rewrite by using + decode_image_instantiator_domain to determine what domain the + instance needs to be cached in. + (decode_image_instantiator_domain): new function. Determine what + domain the image needs to be cached in. + (check_window_subwindow_cache): new error checking function. + (check_instance_cache_mapper): ditto. + (check_image_instance_structure): ditto. + (subwindow_decode_domain): new function. Encodes a window as a + subwindow's cache domain. + (image_instantiator_format_create): use it for text and + subwindows. + +2000-04-21 Andy Piper + + * glyphs.c (image_instance_device): new function. + (image_instance_frame): new function. + (image_instance_window): new function. + (image_instance_live_p): new function. + + * window.c (mark_window_as_deleted): reset the subwindow_instance_ + cache to nil. + + * glyphs.h (struct Lisp_Image_Instance): device->domain. + (IMAGE_INSTANCE_DOMAIN): new accessor. + (XIMAGE_INSTANCE_DOMAIN): ditto. + + * glyphs-x.c (x_finalize_image_instance): device->domain. + + * glyphs-msw.c (init_image_instance_geometry): device->domain. + (mswindows_finalize_image_instance): ditto. + + * glyphs-eimage.c (jpeg_instantiate): device->domain. + (gif_instantiate): ditto. + (png_instantiate): ditto. + (tiff_instantiate): ditto. + + * glyphs.c (instantiate_image_instantiator): use domain rather + than device. + (mark_image_instance): device -> domain. + (print_image_instance): ditto. + (finalize_image_instance): ditto. + (image_instance_equal): ditto. + (allocate_image_instance): ditto. + (Fcolorize_image_instance): ditto. + (query_string_geometry): ditto. + (image_instantiate): ditto + (query_string_font): ditto. + (image_instantiate): ditto. + (update_subwindow): ditto. + (unmap_subwindow): ditto. + (map_subwindow): ditto. + (subwindow_instantiate): ditto. + + * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder. + (DOMAIN_FRAME): ditto. + (DOMAIN_WINDOW): ditto. + (DOMAIN_LIVE_P): ditto. + (XDOMAIN_DEVICE): ditto. + (XDOMAIN_FRAME): ditto. + (XDOMAIN_WINDOW): ditto. + + * specifier.c (Fvalid_specifier_domain_p): add image instances as + a valid specifier domain. + +2000-04-19 Andy Piper + + * glyphs-widget.c (syms_of_glyphs_widget): remove + widget-callback-current-channel. + (vars_of_glyphs_widget): ditto. + * glyphs.h: ditto + + * gui.c (get_gui_callback): revert to previous behaviour. + +2000-04-18 Andy Piper + + * glyphs.h (struct Lisp_Image_Instance): add margin_width. + (IMAGE_INSTANCE_MARGIN_WIDTH): new. + (XIMAGE_INSTANCE_MARGIN_WIDTH): new. + + * glyphs.c (image_instance_equal): add margin_width. + (image_instance_hash): ditto. + + * glyphs-widget.c (widget_instantiate): deal with margin-width. + (layout_query_geometry): ditto. + (layout_layout): ditto. + (syms_of_glyphs_widget): add margin-width. + (image_instantiator_layout): allow margin-width. + + * glyphs.c (update_widget_instances): make a normal function. + (syms_of_glyphs): remove Qupdate_widget_instances. + * glyphs.h: ditto. + + * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event + so that we don't corrupt ideas about the last event or + command. Remove widget-callback-current-channel fiddling. + * gui-msw.c (mswindows_handle_gui_wm_command): ditto. + +2000-05-01 Martin Buchholz + + * XEmacs 21.2.33 is released. + +2000-05-01 Yoshiki Hayashi + + * make-src-depend: Allow dots in header file name. + +2000-05-01 Yoshiki Hayashi + + * mule-charset.h (struct charset_lookup): Add + next_allocated_1_byte_leading_byte and + next_allocated_2_byte_leading_byte. + * mule-charset.c: Move above two variables so that those values + will be dumped. + +2000-04-26 Yoshiki Hayashi + + * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii + when string length is zero. + (find_charsets_in_emchar_string): Ditto. + +2000-04-29 Bjrn Torkelsson + + * lisp.h: extern Qdialog and Qmenubar. + + * gui-x.c: added events.h. + also fixed typo which made the file uncompilable. + + * general.c: Added Qmenubar and Qdialog + +2000-04-28 Ben Wing + + * frame-msw.c (mswindows_init_frame_1): + * frame-msw.c (mswindows_mark_frame): + * event-msw.c (mswindows_enqueue_dispatch_event): + * console-msw.h: + * console-msw.h (struct mswindows_frame): + * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1): + there are now three hash tables for callbacks. + mswindows_enqueue_dispatch_event is no longer static. + + * dialog-x.c (maybe_run_dbox_text_callback): + * dialog-x.c (dbox_descriptor_to_widget_value): + switch to new cons3 form for callbacks. + + * glyphs-msw.c (mswindows_register_gui_item): + * glyphs-msw.c (mswindows_widget_instantiate): + * glyphs-msw.c (add_tree_item): + * glyphs-msw.c (add_tab_item): + new image instance parameter, so it can be passed to callback-ex. + respect :callback-ex as well as :callback. + + * glyphs-widget.c (VALID_GUI_KEYWORDS): + add :callback-ex. + + * glyphs.c (print_image_instance): + prettify, e.g. now prints widget type. + + * gui-x.h: + certain funs have new image instance parameter. + + * gui.c: + * gui.c (get_gui_callback): + * gui.c (gui_item_add_keyval_pair): + * gui.c (gui_item_init): + * gui.c (gui_add_item_keywords_to_plist): + * gui.c (mark_gui_item): + * gui.c (gui_item_hash): + * gui.c (gui_item_equal): + * gui.c (copy_gui_item): + * gui.c (syms_of_gui): + recognize callback-ex in a number of places. + also, fix the annoying "can't get out of yes-no dialog" bug. + + * gui.h: + * gui.h (struct Lisp_Gui_Item): + recognize callback-ex in a number of places. + + * menubar-x.c (menu_item_descriptor_to_widget_value_1): + new parameter in button_item_to_widget_value. + + * glyphs-x.c (x_update_widget): + * glyphs-x.c (x_button_instantiate): + * glyphs-x.c (x_button_update): + * glyphs-x.c (x_progress_gauge_instantiate): + * glyphs-x.c (x_edit_field_instantiate): + * glyphs-x.c (x_combo_box_instantiate): + * glyphs-x.c (x_tab_control_instantiate): + * glyphs-x.c (x_label_instantiate): + new image instance parameter in various places. + + * event-Xt.c: + * event-Xt.c (enqueue_Xt_dispatch_event): + this fun gets exported. + + * gui-msw.c: + * gui-msw.c (mswindows_handle_gui_wm_command): + handle both :callback and :callback-ex, and generate our own + event because it's one of the callback-ex arguments. + + * gui-x.c: + * gui-x.c (popup_selection_callback): + handle both :callback and :callback-ex, and generate our own + event because it's one of the callback-ex arguments. + * gui-x.c (button_item_to_widget_value): + * gui-x.c (gui_items_to_widget_values_1): + * gui-x.c (gui_item_children_to_widget_values): + * gui-x.c (gui_items_to_widget_values): + new image instance parameter in various places. + + * fns.c (Freplace_list): + fix small typo in doc string. + + * lisp.h: + declare enqueue_Xt_dispatch_event. + +2000-04-28 Ben Wing + + * buffer.c: + * buffer.c (Frecord_buffer): + * buffer.c (syms_of_buffer): + delete record-buffer-hook. + + * fns.c: + * fns.c (Freplace_list): + * fns.c (syms_of_fns): + new primitive replace-list. + + * frameslots.h: + slot for old buffer-alist. + + * lisp.h: + exfun replace-list. + + * redisplay.c: + * redisplay.c (redisplay_frame): + * redisplay.c (syms_of_redisplay): + * redisplay.c (vars_of_redisplay): + new hook buffer-list-changed-hook. + call it. + +2000-04-27 Ben Wing + + * extents.h: extern in_modeline_generation. + + * redisplay.c (generate_formatted_string_db): set + in_modeline_generation. + + * extents.c (extent_changed_for_redisplay): don't mark redisplay + flags if in modeline generation. otherwise frame-modified-tick + is ticked far too often. + Declare in_modeline_generation. + +2000-04-26 Ben Wing + + * emacs.c (vars_of_emacs): document quick-build "error-checking" + option. + (vars_of_emacs): add quick-build as an error-checking option. + A bit kludgy, but there doesn't seem much point in creating + a real var for this. + + * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE. + +2000-04-14 IKEYAMA Tomonori + + * redisplay.h (struct display_line): Add a new variable, + line_continuation. + + * redisplay.c (create_text_block): Set dl->line_continuation if + the line continues. + (create_string_text_block): Ditto. + (regenerate_window_incrementally): Use line_continuation instead + of searching continuation glyph. + (add_margin_runes): Call add_glyph_rune. + (add_glyph_rune): Handle margin glyph. + +2000-04-20 Martin Buchholz + + * filelock.c (fill_in_lock_file_name): + ANSIfy. + Check for IS_ANY_SEP instead of '/'. + (lock_file_1): + Avoid generating gratuitous garbage. Call user_login_name() directly. + Never check errno without first seeing that system call failed. + (unlock_file): Add GCPRO. + (Flock_buffer): Fix docstring. + (Ffile_locked_p): Fix docstring. Add GCPRO. + +2000-04-19 Martin Buchholz + + * sysdep.c (get_pty_max_bytes): + Fix hangs on DEC OSF 4.0 when (process-send-string) sends + strings longer than 252 bytes. + + * md5.c: Unconditionally include ANSI header + + * glyphs-x.c (convert_EImage_to_XImage): + * lisp-union.h (union Lisp_Object): + Use consistently the syntax #ifdef FEATURE, not #if FEATURE. + +2000-04-13 Yoshiki Hayashi + + * filelock.c (current_lock_owner): Remove unused variable o, p. + +2000-04-17 Norbert Koch + + * callint.c: Remove multiply defined symbol Qlet + (syms_of_callint): ditto. + +2000-04-14 Andy Piper + + * general.c (syms_of_general): add last-command, this-command, let + and funcall. + + * lisp.h: declare various symbols. + + * glyphs.h: declare Qwidget_callback_current_channel; + + * glyphs-widget.c (syms_of_glyphs_widget): add + Qgui_callback_current_channel. + (vars_of_glyphs_widget): add Vgui_callback_current_channel. + + * gui-msw.c (mswindows_handle_gui_wm_command): bind + widget-callback-current-channel when invoking the interactive + arg. Also bind last-command and next-command when invoking the + widget updates. + * gui-x.c (popup_selection_callback): ditto. + + * gui.c (get_gui_callback): massage args so that we are always + calling eval. This allows us to add our own variable bindings + outside. + + * glyphs-x.c (x_button_instantiate): use + gui_items_to_widget_values since this is GC safe. + (x_progress_gauge_instantiate): ditto. + (x_edit_field_instantiate): ditto. + (x_label_instantiate): ditto. + + * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs. + (emacs_Xt_event_widget_focus_out): new function + (emacs_Xt_event_widget_focus_in): new function. Set the keyboard + focus. + (emacs_Xt_event_add_widget_actions): new function. add focus + functions as actions. + (init_event_Xt_late): use it. + +2000-04-14 Hrvoje Niksic + + * event-stream.c (Fdispatch_event): Doc fix. + +2000-03-29 SL Baur + + * postgresql.c: Remove all references to PQsetenv*. + + * postgresql.h: Remove references to PGsetenvHandler object. + * lrecord.h (lrecord_type): Ditto. + +2000-04-11 Kirill 'Big K' Katsnelson + + * glyphs-msw.h (struct mswindows_image_instance_data): Added + real_heigh and real_width members, and accessor macros for these. + + * glyphs-msw.c (init_image_instance_geometry): New function. + (init_image_instance_from_dibitmap): Use it. + (mswindows_resource_instantiate): Use it. + (init_image_instance_from_xbm_inline): Use it. + (mswindows_initialize_image_instance_mask): Use real bitmap + geometry. + (mswindows_create_resized_bitmap): Ditto. + (mswindows_create_resized_mask): Ditto. + + * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask + and bitmap to their surface size. + +2000-04-11 Jan Vroonhof + + * process-unix.c (unix_send_process): Guard against process MIA + after Faccept_process_output. + +2000-04-11 Ben Wing + + * eval.c (unbind_to_hairy): fix brokenness introduced by + nanosecond speed improvements. + +2000-04-07 Raymond Toy + + * sunplay.c (init_device): To play sounds correctly, the device + apparently needs to be initialized at least once by XEmacs. Make + it so. + +2000-04-10 IKEYAMA Tomonori + + * redisplay.c (add_margin_runes): Add text image glyph + handling. + +2000-04-06 Yoshiki Hayashi + + * lisp.h (DOESNT_RETURN): Don't declare as volatile when + gcc is newer than 2.5. + +2000-04-06 Colin Rafferty + + * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created. + + * fns.c (size_bit_vector): + * alloc.c (size_vector): + (make_vector_internal): + (make_bit_vector_internal): + (sweep_bit_vectors_1): + Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro. + +2000-04-06 Andy Piper + + * gmalloc.c (malloc): undo previous change. + (malloc): ditto. + (free): ditto. + (realloc): ditto. + +2000-04-06 IKEYAMA Tomonori + + * line-number.c (buffer_line_number): Revert to former version. + +2000-04-06 Andy Piper + + * gmalloc.c (malloc): add error checking. + (malloc): ditto. + (free): ditto. + (realloc): ditto. + + * dialog-x.c (dbox_descriptor_to_widget_value): add extra + button_item_to_widget_value arg. + + * glyphs-x.c (x_button_instantiate): add extra + button_item_to_widget_value arg. + (x_progress_gauge_instantiate): ditto. + (x_edit_field_instantiate): ditto. + (x_label_instantiate): ditto. + + * gui-x.c (gui_items_to_widget_values_1): add extra + button_item_to_widget_value arg. + (button_item_to_widget_value): add extra menu_item_p arg. + + * gui-x.h: change signature of button_item_to_widget_value. + + * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra + button_item_to_widget_value arg. + +2000-04-03 Yoshiki Hayashi + + * buffer.h (struct buffer): auto_save_modified should be long. + +2000-04-05 Andy Piper + + * glyphs-widget.c (widget_instantiate): pixwidth != pixheight + type. + (button_query_geometry): give a little more room so that athena + buttons fit. + +2000-04-05 Andy Piper + + * faces.c (complex_vars_of_faces): The widget face should inherit + the font of the gui-element face. + +2000-04-04 Andy Piper + + * glyphs-x.c (x_button_update): new function. unconditionally + update a button's state when the instance is dirty. + (image_instantiator_format_create_glyphs_x): add x_button_update. + (x_widget_instantiate): remove old resize cruft. + +2000-04-02 Andy Piper + + * frame.c (change_frame_size_1): The introduction of gutters means + that we need to allow 0 as a potential frame dimension. + +2000-04-02 IKEYAMA Tomonori + + * 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. + + * redisplay-output.c (redisplay_move_cursor): Do nothing even if + text not in buffer. + (redisplay_output_layout): Call ensure_face_cachel_complete for + text image glyph. + + +2000-03-16 IKEYAMA Tomonori + + * redisplay.c (add_glyph_rune): Adding text image as text runes. + + * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text + not in buffer + + * redisplay-tty.c (tty_output_display_block): Delete the routine + for text image glyph + * redisplay-x.c (x_output_display_block): ditto + * redisplay-msw.c (mswindows_output_display_block): ditto + +2000-02-02 Mike Alexander + + Note: Some of these were committed by accident as part of other + patches. + + * regex.c (regex_compile): Avoid compiler warnings. + + * ntproc.c (sys_spawnve): Avoid compiler warnings. + + * nt.h: Declare term_ntproc correctly. + + * nt.c: Remove incorrect declaration of get_home_directory which + is declared correctly in lisp.h. + + * keymap.c (get_keyelt): Avoid compiler warnings. + (raw_lookup_key_mapper): Avoid compiler warnings. + + * gutter.c (gutter_was_visible): Add return statement to avoid warning. + + * glyphs-eimage.c (png_instantiate): Avoid compiler warnings. + + * filemode.c (mode_string): Avoid compiler warnings. + + * file-coding.c (Fcoding_system_aliasee): Add return statement to + avoid warning. + + * events-mod.h: Undef some things that winuser.h defines differently. + + * data.c (Faset): Avoid compiler warnings. + + * alloc.c (Fmake_byte_code): Avoid compiler warnings. + +2000-03-03 Jan Vroonhof + + * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts. + Fall through to simple beep on error. + Replace "extern" by real header file. + + * linuxplay.c: Use nativesound.h + (play_sound_data): Return error code. Be less verbose on error. + + * sunplay.c: Use nativesound.h + (play_sound_data): Return error code. Be less verbose on error. + + * ntplay.c: Use nativesound.h + (play_sound_data): Return fake error code + + * sgiplay.c: Use nativesound.h + (play_sound_data): Return error code + + * hpplay.c: Use nativesound.h, partially implement + new error code. Break compilation until finished. + (play_sound_data): error code. + + * nativesound.h (play_sound_file): + (play_sound_data): Prototype in new header. + +2000-03-31 Andy Piper + + * glyphs-widget.c: (button_query_geometry): new function. Adjust + for toggle and radio buttons. + (image_instantiator_buttons): use it. + +2000-03-03 Jan Vroonhof + + * scrollbar-x.c (x_update_vertical_scrollbar_callback): + (x_update_horizontal_scrollbar_callback): Return if no mirror was + found. Scrollbar event probably belonged to some old config. + +2000-03-31 Andy Piper + + * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather + than 1. + (initialize_widget_image_instance): default layout to + LAYOUT_HORIZONTAL rather than 0. + (widget_instantiate): reverse the item list at the end rather than + every iteration. + (layout_layout): re-code for the border text at the front of the + item list rather than at the end. + (layout_query_geometry): ditto. Pick up fixed and dynamic sizes + provided by the user. + (widget_query_geometry): comment. + +2000-03-30 Andy Piper + + * glyphs-widget.c (image_instantiator_layout): allow standard + widget keywords in layouts. + + * gutter.c (output_gutter): cope with nil gutter contents. + + * frame.c (Fset_frame_properties): add gutter docs. + +2000-03-29 Andy Piper + + * toolbar-msw.c (TBSTYLE_FLAT): add. + (mswindows_output_toolbar): minor fiddling. + +2000-03-29 Andy Piper + + * gutter.c (output_gutter): force gutter size recalculation if + what we are trying to display won't fit. + (update_gutter_geometry): new function. A per-gutter version of + update_frame_gutter_geometry. + (update_frame_gutter_geometry): use it. + (redraw_exposed_gutter): add extra debugging output. + +2000-03-28 Mike Alexander + + * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only) + (pdump_file_unmap): Implement it on Windows + (pdump_file_get): Save alocated handles for pdump_file_unmap + +2000-03-28 Andy Piper + + * gui.c (get_gui_callback): treat Quit specially. + +2000-03-27 Andy Piper + + * glyphs.c (image_instantiate): be careful to check in the same + way we assigned. + +2000-03-27 Didier Verna + + * config.h.in: define the proper SMART_INCLUDE macro. + handle renaming of `foo_h_path' to `foo_h_file'. + + * database.c: ditto. + + * emacs.c: ditto. + + * linuxplay.c: ditto. + + * terminfo.c: ditto. + + * tooltalk.h: ditto. + +2000-03-27 Andy Piper + + * glyphs-msw.c (mswindows_update_widget): make sure the widget + gets updated whenever the face might have changed. + +2000-03-26 Mike Alexander + + * dumper.c (pdump_resource_free): Fix the comment. + +2000-03-21 Olivier Galibert + + * input-method-xlib.c (XIM_init_frame): Remove painful warning. + +2000-03-22 Mike Alexander + + * dumper.c: Include Windows headers on Windows + (pdump_resource_free): Add a body to the function + (pdump_load): exe_name -> exe_path and add some comments. + +2000-03-25 Mike Alexander + + * gui.c (copy_gui_item_tree): Return a value in all cases + +2000-03-21 Didier Verna + + * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from + lwlib/config.h.in. + (SMART_INCLUDE): new macro. + (POSTGRES_INCLUDE): new macro to include postgresql headers from + the proper location. + + * postgresql.c: use it. + + * inline.c: ditto. + +2000-03-24 Andy Piper + + * gutter.c (redraw_exposed_gutters): must be "in display" when we + do this. + +2000-03-24 Andy Piper + + * redisplay-output.c (compare_runes): use image_instance_changed + to detect changes. Do not depend on glyphs_changed, only depend on + dirtiness. + (redisplay_output_layout): add debug messages. + (compare_runes): ditto. + + * glyphs.h: declare new functions. + (struct Lisp_Image_Instance): remove percent and associated + accessors. + + * gui.h: declare new copying functions. + + * gui.c (copy_gui_item_tree): new function. + (copy_gui_item): new function. + (gui_item_id_hash): revert to standard hash. + (gui_item_hash): ditto. + (gui_item_hash_internal): deleted. + (mark_gui_item): mark value. + (gui_item_add_keyval_pair): add value. + (gui_item_init): ditto. + (gui_add_item_keywords_to_plist): ditto. + (gui_item_equal): ditto. + (syms_of_gui): add Q_value. + + * glyphs-x.c (x_progress_gauge_update): use pending items and + value for setting the state. + (x_update_widget): don't set items from pending here. + + * glyphs-widget.c (update_widget): update items here. + (progress_gauge_set_property): use items for storing value. Put + new value in pending items. + + * glyphs-msw.c (mswindows_progress_gauge_update): use pending + items for new value. Convert percent -> value. + (mswindows_tab_control_update): don't update items here. + + * glyphs.c (Fupdate_widget_instances): use image_instance_changed. + (update_subwindow): ditto. + (image_instance_changed): new function. Compare hash values and + past and present widget items. + (image_instantiate): We more careful about where we instantiate + things. + (image_instantiate): add error checking. + + * gutter.c (syms_of_gutter): use -hook. + +2000-03-20 Yoshiki Hayashi + + * console-tty.c (Fset_console_tty_input_coding_system): Use + Qkeyboard. + (Fset_console_tty_output_coding_system): Use Qterminal. + (tty_init_console): Use Qkeyboard and Qterminal. + +2000-03-21 Ben Wing + + * ntproc.c (create_child): remove bogus HAVE_NTGUI's. + From Mike Alexander . + +2000-03-21 Ben Wing + + * event-msw.c (mswindows_need_event): Horrible kludge to fix + process brokenness. Proper implementation to come. + * callproc.c: + Rename call-process-internal to old-call-process-internal. + New impl. in process.el. + +2000-03-21 Martin Buchholz + + * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments. + +2000-03-20 Andy Piper + + * glyphs.c (full_list_hash): make hashes of the same elements in + different orders return different values. + +2000-03-20 Martin Buchholz + + * XEmacs 21.2.32 is released. + +2000-03-20 Martin Buchholz + + * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA): + (DFC_MALLOC_USE_CONVERTED_DATA): + Add aliasing-safe casts to allow use with char* or unsigned char* + lvalues. + + * eldap.c (Fldap_open): + (Fldap_search_basic): + (Fldap_add): + (Fldap_modify): + Make C++-compilable. + Make sure GCPRO'ed variables are initialized. + Use temp variables to avoid repeated calls to Flength. + +2000-03-16 Martin Buchholz + + * sysfile.h: + Make sure PATH_MAX is always defined. + Include limits.h for PATH_MAX. + Deprecate use of MAXPATHLEN. + +2000-03-10 Martin Buchholz + + * emacs.c: Add reinit_vars_of_fileio. + * symsinit.h: Add reinit_vars_of_fileio. + * fileio.c (reinit_vars_of_fileio): New. + * fileio.c (Fmake_temp_name): + Initialize temp_name random number from microseconds to make + collisions even less likely. Initialize always at process startup + time. (make-temp-name) used to return the same file name twice in + a row when PDUMP. + Random stylistic fiddling. + Comment fixes. + +2000-03-20 Andy Piper + + * glyphs.c (image_instantiate): allow text glyphs to be + instantiated in the minibuffer window. + +2000-03-19 Andy Piper + + * glyphs.c (image_instance_hash): be careful about which items we + hash on. + + * glyphs-widget.c (tab_control_set_property): record into pending + items rather than the actual items. + + * glyphs-x.c (x_update_widget): use pending items to update with. + + * glyphs-msw.c (mswindows_tab_control_update): use pending items + to update with. + + * glyphs.c (mark_image_instance): mark pending items. + + * window.c (Fset_window_configuration): record the buffer. + (Fselect_window): totally revert previous change which breaks many + things. + +2000-03-18 Andy Piper + + * glyphs-msw.c (mswindows_tab_control_update): force selected + item. + + * glyphs.c (image_instantiate): don't allow the minibuffer as a + window domain cache, otherwise we get inconsistencies at + startup. There is something fishy at startup which can lead to the + minibuffer being the selected window when the gutter content is + instantiated. + + * gui.c (parse_gui_item_tree_list): add probably unneccessary + gcpros. + (parse_gui_item_tree_children): ditto. + (parse_gui_item_tree_item): ditto. + + * glyphs.c (Fupdate_widget_instances): return something. + +2000-03-18 Yoshiki Hayashi + + * window.c (Fselect_window): Undo 2000-03-17 change. + +2000-03-17 SL Baur + + * postgresql.c (Fpq_setenv): Remove this turkey when linking + against v7.0 libraries. Insta-coredump city until the postgres + folks fix it. + +2000-03-17 Andy Piper + + * faces.c (complex_vars_of_faces): don't give the widget face an + inherited background pixmap. + + * glyphs-msw.c (mswindows_tab_control_instantiate): select the + selected item. + + * event-stream.c (Fdispatch_non_command_events): return something. + + * gutter.c (output_gutter): use widget face. + (clear_gutter): ditto. + + * NEWS: adjust again. + + * window.c (Fselect_window): make sure this runs to completion to + avoid oddities with Fset_window_configuration. + (Fcurrent_window_configuration): in general do not save the + minibuffer as the selected window. + + * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase. + +2000-03-16 Olivier Galibert + + * emacs.c (Frunning_temacs_p): Revert previous patch. + (main_1): Reinitialize running_temacs_argc if pdump_load succeeds. + +2000-03-16 Andy Piper + + * glyphs-x.c (x_tab_control_update): if no widget values then + return. + + * NEWS: update for new features. + + * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a + synthetic event to the native system. + (reinit_vars_of_event_Xt): set force_event_pending to + emacs_Xt_force_event_pending. + + * events.h (struct event_stream): add force_event_pending. + + * specifier.c (recompute_one_cached_specifier_in_window): add + comment. + + * redisplay.c (redisplay_frame): don't call + update_frame_subwindows. Reset subwindow cachels when + subwindows_changed, removing this was an optimization too far. + + * redisplay-output.c (compare_runes): reorganize so that we catch + glyph changes when we want them. Set optimize_output when this + would help layouts. + (redisplay_output_layout): remove frame_really_changed, use + optimize_output instead. + + * redisplay-msw.c (mswindows_output_display_block): reset + optimize_output after outputting a glyph. + * redisplay-x.c (x_output_display_block): ditto. + * redisplay-tty.c (tty_output_display_block): ditto. + + * gutter.c: (specifier_vars_of_gutter): use new spec changed + functions. + (gutter_specs_changed): do specific gutter positions. + (top_gutter_specs_changed): new function. Only update the + specified gutter specs. + (bottom_gutter_specs_changed): ditto. + (left_gutter_specs_changed): ditto. + (right_gutter_specs_changed): ditto. + + * gui.c (gui_item_hash_internal): new function, does a real hash. + (gui_item_id_hash): use it. + (gui_item_hash): hash the eval'ed gui_item. + + * gui-x.c (popup_selection_callback): send an eval event to call + Fupdate_widget_instances. + + * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event + to call Fupdate_widget_instances. + + * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag. + (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it. + + * glyphs.c: (update_frame_subwindows): deleted. + (Fupdate_widget_instances): new function for updating the dirty + state of widgets that might have changed. + (syms_of_glyphs): add Qupdate_widget_instances. + (full_list_hash): hash a list completely. + (image_instance_hash): use it for items and properties. + + * frame-msw.c (mswindows_size_frame_internal): remove unused + variable. + + * faces.h (struct face_cachel): fix comment. + + * event-stream.c (Fdispatch_non_command_events): new + function. Process non-command events, forcing an event cycle + beforehand. + (syms_of_event_stream): declare. + (event_stream_force_event_pending): new function. Force an event + on the native event queue so that an event cycle will occur next + time we check. + + * event-msw.c: + (struct ntpipe_shove_stream): + (mswindows_enqueue_dispatch_event): + (mswindows_dequeue_dispatch_event): + (mswindows_cancel_dispatch_event): + (mswindows_pump_outstanding_events): + (mswindows_drain_windows_queue): + (mswindows_handle_paint): + (mswindows_wnd_proc): + (mswindows_key_to_emacs_keysym): + (get_process_input_waitable): + (emacs_mswindows_delete_stream_pair): re-indent file. + (mswindows_need_event): do not process further fds if the windows + fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This + fixes the 100% cpu problem. + (reinit_vars_of_event_mswindows): set force_event_pending to 0. + +2000-03-15 Olivier Galibert + + * alloc.h: New. + * dumper.h: New. + * dumper.c: New. + + * emacs.c: Moved dump file searching to dumper.c. + (Frunning_temacs_p): Fixed. + + * alloc.c: Moved everything pdump-related to dumper.c. Removed + last_lrecord_type_index_assigned. + +2000-02-20 Olivier Galibert + + * symsinit.h: Added reinit parameter to init_console_stream + declaration. + + * lisp.h: Added file parameter to pdump_load declaration. + + * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id + support. Added dump file searching. + + * config.h.in: Added EMACS_PROGNAME. + + * console-stream.c (init_console_stream): Fix reinitialisation + when running from temacs. + + * alloc.c (pdump): Add id support. + (pdump_load): Add file parameter and signature/id support. + + * Makefile.in.in: Add full pdump support. + +2000-03-15 SL Baur + + * postgresql.c: Update documentation to reflect latest code + status. + (print_result): Show tuple counts in printed representation when + appropriate. + (Fpq_put_nbytes): MULE-ize. + (Fpq_get_line_async): Ditto. + +2000-03-14 SL Baur + + * postgresql.c (Fpq_lo_import): Fix return value. + Suggested by: Kenji Itoh . + +2000-03-13 Ben Wing + + * alloc.c (pdump_load): + Fix compile warning under mswin. + +2000-03-14 SL Baur + + * postgresql.c: Mule-ization, bug fixes. + Use PG_CODING to encapsulate coding system name changes. + Backport a version of TO_EXTERNAL format for 21.1/InfoDock. + (pg-coding-system): Create. + + (Fpq_conn_defaults): Mule-ize. + (Fpq_connectdb): Mule-ize & bug fix. + (Fpq_connect_start): Mule-ize. + (Fpq_set_client_encoding): Mule-ize. + (Fpq_finish): Document `DEAD' connection status. + (Fpq_clear): Ditto. + (Fpq_pgconn): Mule-ize. + (Fpq_exec): Mule-ize & bug fix. + (Fpq_send_query): Ditto. + (Fpq_get_result): Ditto. + (Fpq_res_status): Mule-ize. + (Fpq_result_error_message): Mule-ize. + (Fpq_ntuples): fix comments. + (Fpq_fname): Mule-ize. + (Fpq_fnumber): Mule-ize. + (Fpq_ftype): fix comments. + (Fpq_get_value): Mule-ize. + (Fpq_cmd_status): Ditto. + (Fpq_cmd_tuples): Ditto. + (Fpq_oid_value): Ditto. + (Fpq_notifies): Ditto. + (Fpq_lo_import): Ditto. + (Fpq_lo_export): Ditto. + (Fpq_get_line): Ditto. + (Fpq_put_line): Mule-ize and bug fix. + (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system. + +2000-03-10 SL Baur + + * postgresql.c (vars_of_postgresql): Mule-ize. + (Fpq_conn_defaults): Ditto. + +2000-03-12 Ben Wing + + * alloc.c (Fmake_byte_code): + * alloc.c (debug_string_purity_print): + * alloc.c (pdump_backtrace): + * alloc.c (pdump_get_indirect_count): + * alloc.c (pdump_register_sub): + * alloc.c (pdump_register_object): + * alloc.c (pdump_register_struct): + * alloc.c (pdump_dump_data): + * alloc.c (pdump_reloc_one): + Minor cleanups. + + * console-msw.c: + * console-msw.c (GetConsoleHwnd): + * console-msw.c (msw_hide_console): + * console-msw.c (msw_show_console): + * console-msw.c (msw_ensure_console_buffered): + * 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. + + 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: + * event-Xt.c: + * event-Xt.c (x_event_to_emacs_event): + * event-Xt.c (describe_event_window): + * events-mod.h (XEMACS_MOD_CONTROL): + * events.c: + * events.c (Fmake_event): + * events.c (character_to_event): + * events.c (event_to_character): + * events.c (format_event_object): + * events.c (Fevent_modifiers): + * events.h: + * events.h (struct key_data): + * events.h (struct button_data): + * events.h (struct misc_user_data): + * frame-x.c (Fcde_start_drag_internal): + * frame-x.c (Foffix_start_drag_internal): + * gpmevent.c (Freceive_gpm_event): + * keymap.c: + * keymap.c (bucky_sym_to_bucky_bit): + * keymap.c (control_meta_superify): + * keymap.c (make_key_description): + * keymap.c (keymap_lookup_directly): + * keymap.c (create_bucky_submap): + * keymap.c (keymap_store): + * keymap.c (define_key_check_and_coerce_keysym): + * keymap.c (define_key_parser): + * keymap.c (define_key_alternate_name): + * keymap.c (Fdefine_key): + * keymap.c (raw_lookup_key_mapper): + * keymap.c (struct map_keymap_unsorted_closure): + * keymap.c (map_keymap_unsorted_mapper): + * keymap.c (map_keymap_sort_predicate): + * keymap.c (map_keymap_sorted): + * keymap.c (accessible_keymaps_mapper_1): + * keymap.c (where_is_recursive_mapper): + * keymap.c (describe_map_mapper): + * keymap.c (describe_map_sort_predicate): + * keymap.c (describe_map): + * keymap.c (complex_vars_of_keymap): + And a number of other files, the key modifier preprocessor + constants that xemacs uses have names that conflict with constants + defined under MS Windows for other purposes, so they were renamed + to begin with the prefix XEMACS_. The variables that hold such + modifiers were changed to consistently be of type int to fix + various compile warnings. + + * console.c (complex_vars_of_console): + * device.c: + * device-msw.c: + * device-msw.c (mswindows_finish_init_device): + * 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. + + * 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. + + * dialog.c: + * dialog.c (Fpopup_dialog_box): + 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. + + * emacs.c: + * emacs.c (main_1): + * emacs.c (main): + * minibuf.c (clear_echo_area_internal): + * minibuf.c (echo_area_append): + * print.c: + * print.c (std_handle_out_external): + * print.c (std_handle_out_va): + * print.c (fatal): + * print.c (write_string_to_stdio_stream): + * print.c (output_string): + * 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. + + * eval.c: + * eval.c (DEFEND_AGAINST_THROW_RECURSION): + * eval.c (internal_catch): + * eval.c (unwind_to_catch): + * eval.c (throw_or_bomb_out): + * eval.c (condition_case_1): + * eval.c (signal_1): + * eval.c (check_error_state_sanity): + * eval.c (call_with_suspended_errors_1): + * eval.c (call_with_suspended_errors): + * eval.c (reinit_vars_of_eval): + Added code to catch throw loops and check for a pesky bug that may + be gone now. + + * event-msw.c: + * event-msw.c (key_needs_default_processing_p): + * event-msw.c (mswindows_wnd_proc): + * 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. + + b) Added support for dynamic display size changes under Windows. + + * event-stream.c: + * event-stream.c (maybe_echo_keys): + * event-stream.c (Fnext_event): + * event-stream.c (command_builder_find_leaf): + * event-stream.c (lookup_command_event): + * event-stream.c (execute_command_event): + * event-stream.c (pre_command_hook): + * event-stream.c (post_command_hook): + * event-stream.c (syms_of_event_stream): + * event-stream.c (vars_of_event_stream): + * 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.) + + * event-unixoid.c (poll_fds_for_input): + * lread.c (readchar): + * redisplay-tty.c (tty_clear_frame): + * redisplay-x.c (x_get_gc): + * signal.c (interrupt_signal): + And a whole bunch of other files: fixed up places that printed + directly to stderr to instead call the function stderr_out so that + the changes I made under Windows work correctly. + + * filemode.c (mode_string): + Warning fixes. + + * 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. + + * 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. + + * glyphs-eimage.c (png_instantiate): Fixed some compile warnings. + + * gui-msw.c (mswindows_handle_gui_wm_command): + 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. + + * gui.c: + * gui.c (gui_item_add_keyval_pair): + * gui.c (make_gui_item_from_keywords_internal): + * gui.c (gui_add_item_keywords_to_plist): + * gui.c (gui_item_accelerator): + * gui.c (gui_name_accelerator): + * gui.c (gui_item_included_p): + * gui.c (gui_item_display_flush_left): + * gui.c (gui_item_display_flush_right): + * gui.c (parse_gui_item_tree_item): + * gui.c (parse_gui_item_tree_children): + * gui.c (parse_gui_item_tree_list): + Mule-ized. Cleanup. GCPRO addition. + + * 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. + + * menubar-msw.c: + * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH): + * menubar-msw.c (msw_translate_menu_or_dialog_item): + * menubar-msw.c (displayable_menu_item): + * menubar-msw.c (populate_menu_add_item): + * menubar-msw.c (populate_or_checksum_helper): + * menubar-msw.c (populate_menu): + * menubar-msw.c (update_frame_menubar_maybe): + * menubar-msw.c (prune_menubar): + * menubar-msw.c (msw_char_is_accelerator): + * menubar-msw.c (unsafe_handle_wm_initmenu_1): + * menubar-msw.c (mswindows_handle_wm_command): + * menubar-msw.c (mswindows_handle_wm_initmenupopup): + * menubar-msw.c (mswindows_handle_wm_initmenu): + * 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. + + Much needed GCPROing. + + * menubar-x.c: + * menubar-x.c (menu_item_descriptor_to_widget_value_1): + * menubar-x.c (menu_item_descriptor_to_widget_value): + * menubar-x.c (restore_in_menu_callback): + * menubar-x.c (x_popup_menu): + * menubar-x.c (menu_move_up): + * menubar-x.c (menu_move_down): + * menubar-x.c (menu_move_left): + * menubar-x.c (menu_move_right): + * menubar-x.c (menu_select_item): + * menubar-x.c (command_builder_operate_menu_accelerator): + * menubar-x.c (menu_accelerator_junk_on_error): + * 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. + + * menubar.c: + * menubar.c (menu_parse_submenu_keywords): + * menubar.c (Fmenu_find_real_submenu): + * menubar.c (Fnormalize_menu_item_name): + * menubar.c (syms_of_menubar): + * 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. + + d) GCPROing. + + * ntproc.c: + * ntproc.c (new_child): + * 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. + + * process-nt.c: + * process-nt.c (struct nt_process_data): + * process-nt.c (find_process_from_pid): + * process-nt.c (send_signal_the_nt_way): + * process-nt.c (enable_child_signals): + * process-nt.c (find_child_console): + * process-nt.c (send_signal_the_95_way): + * process-nt.c (nt_finalize_process_data): + * process-nt.c (ensure_console_window_exists): + * process-nt.c (nt_create_process): + * process-nt.c (nt_kill_child_process): + * 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. + + * select-msw.c: + * select-msw.c (mswindows_own_selection): + * select-msw.c (mswindows_get_foreign_selection): + * 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. + + * 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. + + * window.c: + * window.c (Fwindow_text_area_height): + * window.c (Fwindow_width): + * window.c (Fwindow_full_width): + * 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. + +2000-03-12 Kirill 'Big K' Katsnelson + + * nt.c (fstat): Added a comment for another problem with + non-encapsulated [f]stat(), reported by Adrian Aichner + . + +2000-03-11 Andy Piper + + * window.c (make_dummy_parent): initialize subwindow instance + cache. + (Fset_window_configuration): zero extent_modiff. + +2000-03-10 Andy Piper + + * redisplay.c (Fredraw_frame): reset the changed_set flags so that + more changes can be triggered. + (Fredisplay_frame): ditto. + (Fredraw_device): ditto. + (Fredisplay_device): ditto. + (redisplay_frame): make non-static. + (redisplay_frame): call update_frame_gutter_geometry outside of + display proper. + + * gutter.h: declare update_frame_gutter_geometry. + + * redisplay.h: declare redisplay_frame. + + * gutter.c (update_frame_gutter_geometry): move geometry changes + in update_frame_gutters here. Geometry changes can only occur + outside of redisplay. + (update_frame_gutters): remove geometry change code. + (Fredisplay_gutter_area): make sure that we are in display when we + update and that we have flushed any size changes. + +2000-03-11 Andy Piper + + * alloc.c (pdump_dump_data): remove i & count shadows. + +2000-02-27 Mike Alexander + + * sysdep.h: Declare pdump_read_file + + * sysdep.c (pdump_read_file): New function + + * alloc.c (pdump_load): Call pdump_read_file to get the portable + dump data + +2000-03-10 SL Baur + + * lrecord.h: add `lrecord_type_pgsetenv'. + +2000-03-08 SL Baur + + * symsinit.h: declare (vars|syms)_of* functions. + * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'. + +2000-03-06 SL Baur + + * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7 + + * inline.c: Include postgresql.h lrecord stuffs to placate buggy + GCCs. + + * emacs.c (main_1): Call postgres initialization code. + + * postgresql.h: New file. PostgreSQL RDBMS support. + * postgresql.c: New file. + +2000-03-08 Yoshiki Hayashi + + * redisplay-output.c (redisplay_output_display_block): Disable + redundant code. + +2000-03-09 Yoshiki Hayashi + + * mule-canna.c (Fcanna_henkan_region): Translate doc-string. + (Fcanna_henkan_next): Ditto. + (Fcanna_bunsetu_henkou): Ditto. + (Fcanna_henkan_kakutei): Ditto. + (Fcanna_henkan_end): Ditto. + (Fcanna_henkan_quit): Ditto. + (Fcanna_henkan_next): Set retun value correctly. + (c2mu): Use unsigned char instead of signed char. + +2000-03-09 Yoshiki Hayashi + + * emacs.c (main_1): Always call syms_of_gui. + * inline.c: include gui.h + +2000-03-09 Yoshiki Hayashi + + * redisplay.c (Vvisible_bell): Renamed from visible_bell and + converted to Lisp_Object. + (Qtop_bottom): New variable. + (syms_of_redisplay): Initialize it. + * redisplay.h (Vvisible_bell): Ditto. + * sound.c (ding): Ditto and check if Vvisible_bell is nil. + * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom, + only flash top and bottom. + +2000-03-08 Andy Piper + + * buffer.c (Frename_buffer): record new buffer name the right way. + +2000-03-08 Andy Piper + + * glyphs.c (update_subwindow): increase hash depth so that widget + items get picked up properly. + + * redisplay-output.c (compare_runes): increase hash depth so that + widget items get picked up properly. + +2000-03-08 Andy Piper + + * gutter.c (output_gutter): add some debug. + + * glyphs.h (struct Lisp_Image_Instance): add display_hash. + (IMAGE_INSTANCE_DISPLAY_HASH): new macro. + (XIMAGE_INSTANCE_DISPLAY_HASH): ditto. + + * redisplay-output.c (compare_runes): use display_hash to + determine if glyphs really are not the same. + + * glyphs.c (update_subwindow): check display_hash to see if + anything really needs to be updated. If not then do + nothing. Record the display_hash after updating. + (image_instance_equal): compare the image_instance face also. + +2000-03-07 Yoshiki Hayashi + + * redisplay.h: Fix comment style. + +2000-03-08 Jonathan Harris + + * consle-msw.h (struct mswindows_frame): + Added new member paint_pending to indicate whether a WM_PAINT + magic event has been queued for this frame. + + * event-msw.c (mswindows_drain_windows_queue): + Don't queue a WM_PAINT magic event if one is already queued. + (emacs_mswindows_handle_magic_event): clear paint_pending flag. + + * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag. + +2000-03-07 Didier Verna + + * dired.c: #include `regex.h' after `sysfile.h'. + +2000-03-06 Martin Buchholz + + * sound.c (init_nas_sound): Fix compiler warning. + + * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New. + (FREE_STRUCT_P): + (MARK_STRUCT_AS_FREE): + (MARK_STRUCT_AS_NOT_FREE): + Make `gcc -fstrict-aliasing' work properly. + +2000-03-07 Jonathan Harris + + * device-msw.c (mswindows_finish_init_device): Call CoInitialize(). + (mswindows_delete_device): Call CoUnnitialize(). + + * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts. + +2000-02-25 + + * process-nt.c: MinGW now has , but still needs + . + + * sysdep.c: This extern declaration for environ prevents MinGW + from finding the variable in CRTDLL.DLL. + + * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's + windows headers. + (SHGFI_EXETYPE): .. + (WM_MOUSEWHEEL): .. + (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL + definitions. + (MMRESULT): Removed, now defined in cygwin's windows headers. + (TIMECAPS): .. + (uid_t,gid_t,pid_t,ssize_t): .. + (_timeb): Removed, MinGW defines both _timeb and timeb. + (HAVE_H_ERRNO): Added. + (HAVE_TZNAME): Added, configure is not detecting this. + +2000-02-03 IKEYAMA Tomonori + + * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro. + * syntax.c (syntax_match): Use it. + + * cmds.c: Import auto-fill-chars from FSF Emacs. + (Vauto_fill_chars): New variables. + (internal_self_insert): Check Vauto_fill_chars. + (vars_of_cmds): + Declare auto-fill-chars as a Lisp variable and initialize it. + +2000-03-05 Jonathan Harris + + * fileio.c (Fmake_symbolic_link): + (Ffile_symlink_p): + Run handlers even if local machine doesn't have symlinks. + +2000-03-05 Jonathan Harris + + * event-msw.c (mswindows_drain_windows_queue): + Don't generate paint magic events for non-XEmacs frames. + +2000-03-05 Andy Piper + + * redisplay.c (redisplay_frame): generate_displayable_area and + friends assumes that we are not in GC, we therefore have to make + sure that this doesn't happen. + + * gutter.c (calculate_gutter_size): generate_displayable_area + assumes that we are not in GC, we therefore have to make sure that + this doesn't happen. + +2000-03-05 Martin Buchholz + + * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr + +2000-03-03 Jan Vroonhof + + * redisplay.c (regenerate_window): Make sure we set a sane value + for end_pos even if we jump out of the loop. + (regenerate_window): Answer Ben's question :-). + (start_end_of_last_line): Add may_error argument. + (start_of_last_line): + (end_of_last_line): Pass may_error = 0. + (end_of_last_line_may_error): New function. + (pixel_to_glyph_translation): Use it, so we don't crash in + event_to_glyph. + +2000-03-04 Andy Piper + + * window.h (struct window): add gutter_extent_modiff. + + * window.c (allocate_window): zero out gutter_extent_modiff. + + * redisplay.h: declare sync_display_line_structs. + + * redisplay.c (add_glyph_rune): add a better comment. + + * redisplay-output.c (sync_display_line_structs): made non-static. + (compare_runes): remove unneccesary glyph cachel access. + + * gutter.h: declare gutter_extent_signal_changed_region_maybe. + + * gutter.c (output_gutter): don't output the gutter if extent + changes only involve extents in buffers. use 4 sets of display + lines. + (gutter_extent_signal_changed_region_maybe): new function. Mark + extents in gutters as changed. + (update_frame_gutters): use 4 sets of display lines. + (reset_gutter_display_lines): ditto. + (free_frame_gutters): ditto. + (redraw_exposed_gutter): force output of gutters. + + * frame.h (struct frame): add 4 sets of gutter display lines. + + * extents.c: (extent_changed_for_redisplay): signal changes to + extents in strings in the gutter as well as extents in buffers. + +2000-03-02 Andy Piper + + * gutter.c (specifier_vars_of_gutter): cosmetic changes. + + * frame.c (Fmake_frame): make sure the gutters get initialized + after the frame is visible. + (set_frame_selected_window): re-arrange compilation macros a + little. + (change_frame_size_1): mark gutters changed. + + * device.c (Fset_device_class): mark gutters changed. + +2000-03-01 Andy Piper + + * window.c (window_top_frame_gutter_height): deleted. + (window_bottom_frame_gutter_height): ditto. + (window_left_frame_gutter_height): ditto. + (window_right_frame_gutter_height): ditto. + (window_top_gutter_height): don't use them. + (window_bottom_gutter_height): ditto. + (window_left_gutter_width): ditto. + (window_right_gutter_width): ditto. + (Fsplit_window): ditto. + (Fwindow_pixel_edges): don't use border dimensions here. + + * scrollbar.c (update_scrollbar_instance): don't take gutters into account. + (update_scrollbar_instance): ditto. + + * redisplay.c (generate_modeline): don't take gutters into account. + (generate_modeline): ditto. + (redisplay_frame): small gutter display optimisation. + + * redisplay-x.c (x_output_vertical_divider): don't take gutters into account. + + * redisplay-msw.c (mswindows_output_vertical_divider): don't take + gutters into account. + + * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks + for window position and type. + + * gutter.c (get_gutter_coords): fix for frame gutters. + (update_frame_gutters): update frame geometry if the gutters have + changed. + (init_frame_gutters): record current gutter geometries. + + * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused + var. + (mswindows_widget_instantiate): ditto. + + * frame.h (struct frame): add current_gutter_bounds. + + * frame.c (change_frame_size_1): position window and minibuffer + appropriately taking into account the frame gutters. + + * frame-x.c: (x_initialize_frame_size): take into account the + frame gutters. + +2000-02-29 Stephen J. Turnbull + + * emacs.c (data-directory): Xref `locate-data-file' in docstring. + +2000-02-29 Stephen J. Turnbull + + * alloc.c (dumpopaquevec): Increase dimension for --with-canna. + +1999-12-30 Yoshiki Hayashi + + * file-coding.c (reset_decoding_stream): Clear previous + detection state when autodetect. + +2000-02-29 Didier Verna + + * extents.c (set_extent_glyph_1): don't require extents to be + attached. + +2000-02-27 Andy Piper + + * gutter.c (Fset_default_gutter_position): don't default left and + right gutter visibility to t. + (Fset_default_gutter_position): run + default-gutter-position-changed-hook. + (syms_of_gutter): add default-gutter-position-changed-hook. + +2000-02-26 Andy Piper + + * specifier.c (Fmake_specifier): add gutter references. + + * gutter.h (RAW_WINDOW_GUTTER): new macro. + + * lisp.h: declare Fvalid_plist_p. + + * gutter.c (gutter_geometry_changed_in_window): mark the modeline + as changed. + (default_gutter_visible_p_changed_in_window): invalidate gutter as + well as its visibility so that it gets reconstructed. + (construct_window_gutter_spec): new function. Construct a string + to be displayed in the gutter from a plist of strings. Take care + to only use elements that are declared as visible. + (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of + WINDOW_GUTTER. + (gutter_validate): allow plists of strings in the specifier. + (gutter_specs_changed): construct the real_gutter from the gutter + specs using construct_window_gutter_spec. + (gutter_visible_validate): gutter-visible is a new specifier type. + (Fgutter_visible_specifier_p): new function for the new specifier. + (syms_of_gutter): declare gutter-visible and + Fgutter_visible_specifier_p. + (specifier_type_create_gutter): intitalize new gutter-visible + specifier. + (reinit_specifier_type_create_gutter): ditto. + (specifier_vars_of_gutter): use new specifier type for gutter + visibility. + (init_frame_gutters): construct real_gutter correctly. + (Fgutter_specifier_p): beef up documentation. + (Fgutter_size_specifier_p): ditto. + + * winslots.h: add real_gutter slots. + +2000-02-25 Andy Piper + + * device-msw.c: Be kind to older cygwin versions. From Raymond + Toy . + + * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to + earlier cygwins. From Raymond Toy . + +2000-02-25 Martin Buchholz + + * elhash.c (MARK_OBJ): Practice macro hygiene. + +2000-02-24 Martin Buchholz + + * miscplay.c: s/__inline__/inline/g; + * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline + (get_device_compdc): INLINE ==> static inline + * *.[ch]: Change INLINE to INLINE_HEADER globally. + find -name '*.h' | \ + xargs global-replace \ + 's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g' + +2000-02-25 Andy Piper + + * window.c (window_top_frame_gutter_height): new function. + (window_top_window_gutter_height): ditto. + (window_top_gutter_height): use them. + (window_bottom_frame_gutter_height): new function. + (window_bottom_window_gutter_height): ditto. + (window_bottom_gutter_height): use them. + (window_left_window_gutter_width): new function. + (window_left_frame_gutter_width): ditto. + (window_left_gutter_width): use them. + (window_right_window_gutter_width): new function. + (window_right_frame_gutter_width): ditto. + (window_right_gutter_width): use them. + (window_pixel_height): new function. calulate window pixel height + with frame gutter involvement. + (Fsplit_window): calculate new sizes taking frame gutters into + account. + (window_char_height_to_pixel_height): don't include frame gutters. + (window_char_height): use window_pixel_height. + (window_pixheight): rename from window_pixel_height. + (change_window_height): use it. + (window_pixel_height_to_char_height): don't include frame gutters. + (window_char_width_to_pixel_width): ditto. + +2000-02-25 Andy Piper + + * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash + if it is. + +2000-02-24 Martin Buchholz + + * alloc.c (staticpro): + (staticpro_nodump): + (dumpstruct): + (dumpopaque): + (pdump_wire): + (pdump_wire_list): + (compact_string_chars): + (pdump_dump_wired): + Convert: if (foo) abort(); ==> assert (! foo); + + * eldap.c (Fldap_search_basic): + (Fldap_add): + (Fldap_modify): + (Fldap_delete): + Fix compiler warnings, and possible crashes if (random) return + value were to be used. + +2000-02-21 Kirill 'Big K' Katsnelson + + * device-msw.c: Workaround ResetDC failure. + + * frame-msw.c (msprinter_init_frame_3): Added an assertion before + applying a devmode. + + * redisplay-msw.c (get_frame_dc): Added start_page_p. + (mswindows_text_width): Do not start printer page. + + * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends. + + * glyphs-msw.c: Added image methods to msprinter console and + msprinter-specific image instantiation. + +2000-02-20 Mike Alexander + + * select-msw.c (Fmswindows_set_clipboard): GC protect more things + to avoid crashes when selection-sets-clipboard is on + (mswindows_own_selection): ditto + +2000-02-19 Kirill 'Big K' Katsnelson + + * glyphs-msw.c: + * redisplay-msw.c (get_frame_dc): + (get_frame_compdc): + * console-msw.h: + * device-msw.c (mswindows_init_device): + (mswindows_delete_device): + (msprinter_init_device): + (msprinter_delete_device): + * frame-msw.c (mswindows_init_frame_1): + (mswindows_delete_frame): + (msprinter_init_frame_3): + (msprinter_delete_frame): Move compatible DC to device object from + frame object, for both mswindows and msprinter. Only one at a time + is needed, it is a real waste to have one per frame! + +2000-02-23 Andy Piper + + * glyphs.c: add dynamic width and height elements. + (image_instance_equal): ditto. + + * glyphs-widget.c (widget_query_geometry): calculate width and + height dynamically if required. + (initialize_widget_image_instance): initialize dynamic dimensions. + (widget_instantiate): pick-up dynamic dimensions. + + * glyphs.h (struct Lisp_Image_Instance): add width and height for + dynamic determination. Add appropriate macros. + + * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer + dimensions safe. + (WINDOW_GUTTER_SIZE): ditto. + (WINDOW_GUTTER_SIZE_INTERNAL): ditto. + + * redisplay-msw.c (get_frame_compdc): gcc can't cope with this + inline. + (get_frame_dc): ditto. + + * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces + here. + +2000-02-23 Martin Buchholz + + * XEmacs 21.2.31 is released. + +2000-02-22 Ben Wing + + * ntheap.c (allocate_heap): Make sure `ptr' is initialized. + +2000-02-22 Andy Piper + + * glyphs-x.c (x_widget_instantiate): don't explicitly resize here. + +2000-02-21 Mike Sperber + + * .dbxrc: + * .gdbinit: + * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment + variables. + +2000-02-21 Mike Sperber + + * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is. + 2000-02-21 Martin Buchholz * XEmacs 21.2.30 is released. @@ -39,9 +5206,9 @@ * alloc.c (pdump_load): * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New. * alloc.c (lrecord_type_index): Delete. - Make lisp object type indexes be constant. + Make lisp object type indexes be constant. Makes (byte-compile) 5% faster. - Put all marker functions into their own array. + Put all marker functions into their own array. Makes (garbage-collect) 5% faster. Optimize SYMBOL_VALUE_MAGIC_P. Makes (byte-compile) 2-3% faster. @@ -86,7 +5253,7 @@ * objects-msw.c: (mswindows_X_color_map): tweak some values so they match the default Windows palette. (mswindows_color_to_string): New function. - + 2000-02-21 Jonathan Harris * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6. @@ -95,7 +5262,7 @@ * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS, WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND. - + * symbols.c (init_symbols_once_early): Removed obsolete DATA_SEG_BITS related kludge. (defvar_magic): Ditto. @@ -114,12 +5281,12 @@ 2000-02-16 Kirill 'Big K' Katsnelson - * keymap.c (get_keyelt): + * keymap.c (get_keyelt): * unexnt.c (unexec): * vm-limit.c (memory_warnings): * ntheap.c (recreate_heap): * ntheap.h (UNINIT_PTR): - * select-msw.c (Fmswindows_get_clipboard): + * select-msw.c (Fmswindows_get_clipboard): (Fmswindows_set_clipboard): * objects-msw.h (MSWINDOWS_BAD_HFONT): * objects-msw.c: @@ -129,15 +5296,15 @@ * sysdep.c (sys_subshell): * process-nt.c (nt_create_process): * nt.c (normalize_filename): - (dostounix_filename): + (dostounix_filename): (unixtodos_filename): * ntproc.c (win32_executable_type): * ntplay.c (play_sound_data_1): - (play_sound_file): - * editfns.c (get_home_directory): - * event-msw.c (struct winsock_stream): - (mswindows_dde_callback): - * device-msw.c (msprinter_init_device): + (play_sound_file): + * editfns.c (get_home_directory): + * event-msw.c (struct winsock_stream): + (mswindows_dde_callback): + * device-msw.c (msprinter_init_device): (msprinter_get_devmode_copy): Frobbed syntax frivolities. * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to @@ -150,16 +5317,16 @@ * glyphs-widget.c (update_widget): Fixed comparison notation. * event-msw.c (mswindows_dde_callback): Removed extraneous ';'. - + * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC __declspec(noreturn) syntax. 2000-02-19 Martin Buchholz - * eldap.c (Fldap_open): - (Fldap_search_basic): - (Fldap_add): - (Fldap_modify): + * eldap.c (Fldap_open): + (Fldap_search_basic): + (Fldap_add): + (Fldap_modify): Use new coding system conversion macros. 2000-01-06 Yoshiki Hayashi @@ -168,7 +5335,7 @@ 1999-11-27 Oscar Figueiredo - * eldap.h (Fldap_search) Renamed from Fldap_search_internal: + * eldap.h (Fldap_search) Renamed from Fldap_search_internal: (Fldap_add, Fldap_modify, Fldap_delete): New functions * eldap.c (Qadd, Qreplace): New constant symbols @@ -177,7 +5344,7 @@ Remove unnecessary calls to slow_down_interrupts and speed_up_interrupts (Fldap_search_basic): Renamed from Fldap_search_internal - Added new optional parameter VERBOSE that triggers the + Added new optional parameter VERBOSE that triggers the display of progress messages Remove unnecessary calls to slow_down_interrupts and speed_up_interrupts