+2000-06-07 MORIOKA Tomohiko <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+ * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
+
+ * char-ucs.h: Use <short> for <Charset_ID>.
+
+ * mule-charset.h, char-1byte.h: Use <unsigned char> for
+ <Charset_ID>.
+
+2000-06-02 MORIOKA Tomohiko <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+ * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
+ to 0.16.
+
+2000-06-02 MORIOKA Tomohiko <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+ * 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 <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+ * 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 <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+ * 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 <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+ * 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 <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+ * 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 <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+ * mule-charset.c (decoding_table_check_elements): New function.
+ (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
+
+2000-05-31 MORIOKA Tomohiko <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+ * mule-charset.c (Fset_charset_mapping_table): Use
+ `put_char_ccs_code_point'.
+
+2000-05-31 MORIOKA Tomohiko <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+ * 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 <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+ * 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 <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+ * 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 <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+ * 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 <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+ * 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 <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+ * 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 <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+ * 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 <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+ * 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 <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+ * 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 <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+ * 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 <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+ * text-coding.c (Fmake_coding_system): Add document about
+ `disable-composition' property.
+
+2000-04-27 MORIOKA Tomohiko <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+ * 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 <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+ * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
+ to 0.15.
+
+2000-04-26 MORIOKA Tomohiko <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+ * 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 <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+ * 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 <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+ * 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 <tomo@m17n.org>
+
+ * mule-canna.c (c2mu): Fix problem with UTF-2000.
+
+2000-03-16 MORIOKA Tomohiko <tomo@m17n.org>
+
+ * 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 <tomo@m17n.org>
+
+ * 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 <tomo@m17n.org>
+
+ * mule-charset.c (remove_char_attribute): Fixed.
+
+2000-02-08 MORIOKA Tomohiko <tomo@m17n.org>
+
+ * 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 <tomo@m17n.org>
+
+ * 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 <tomo@etl.go.jp>
+
+ * 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 <tomo@m17n.org>
+
+ * 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 <tomo@m17n.org>
+
+ * 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 <tomo@etl.go.jp>
+
+ * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
+ to 0.14 (Kawachi-Katakami).
+
+2000-01-26 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * text-coding.c (char_encode_shift_jis): Modify for
+ `charset_code_point'.
+ (char_encode_iso2022): Likewise.
+
+ * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
+ (integer) instead of list of <Lisp_Object>s (integers) as the
+ format of code-point of a coded-charset.
+ (range_charset_code_point): Return <int> instead of <Lisp_Object>.
+ (encode_builtin_char_1): New function; delete
+ `split_builtin_char'.
+ (charset_code_point): Return <int> instead of <Lisp_Object>.
+ (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 <int> instead of <Lisp_Object>.
+ (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 <tomo@m17n.org>
+
+ * mule-charset.c (complex_vars_of_mule_charset): Don't define
+ `japanese-jisx0208-1990' in non-UTF-2000 Mule.
+
+2000-01-11 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
+
+ * char-ucs.h (MAX_CHAR_BMP): New macro.
+
+2000-01-10 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * text-coding.c: Sync with r21-2-24.
+
+2000-01-08 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * file-coding.c: Modify for UTF-2000.
+
+2000-01-18 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
+ to 0.13 (Takaida).
+
+2000-01-15 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * 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 <tomo@urania.m17n.org>
+
+ * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
+ coded-charset is not found.
+
+1999-11-16 MORIOKA Tomohiko <tomo@urania.m17n.org>
+
+ * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
+ (Fdefine_char): Use `Fmake_char'.
+
+1999-11-15 MORIOKA Tomohiko <tomo@urania.m17n.org>
+
+ * 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 <tomo@urania.m17n.org>
+
+ * data.c (Fstring_to_number): Don't recognize floating point if
+ base is not 10.
+
+1999-11-15 MORIOKA Tomohiko <tomo@urania.m17n.org>
+
+ * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
+
+1999-11-14 MORIOKA Tomohiko <tomo@urania.m17n.org>
+
+ * mule-charset.c (Qsquare): New variable.
+ (to_char_code): Add `Qsquare'.
+ (syms_of_mule_charset): Add new symbol `square'.
+
+1999-11-14 MORIOKA Tomohiko <tomo@urania.m17n.org>
+
+ * mule-charset.c (Qcircle): New variable.
+ (to_char_code): Add `Qcircle'.
+ (syms_of_mule_charset): Add new symbol `circle'.
+
+1999-11-14 MORIOKA Tomohiko <tomo@urania.m17n.org>
+
+ * mule-charset.c (Qfont): New variable.
+ (to_char_code): Add `Qfont'.
+ (syms_of_mule_charset): Add new symbol `font'.
+
+1999-11-14 MORIOKA Tomohiko <tomo@urania.m17n.org>
+
+ * mule-charset.c (Qsub): New variable.
+ (to_char_code): Add `Qsub'.
+ (syms_of_mule_charset): Add new symbol `sub'.
+
+1999-11-14 MORIOKA Tomohiko <tomo@urania.m17n.org>
+
+ * 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 <tomo@urania.m17n.org>
+
+ * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
+ coded-charset is a GR-set.
+
+1999-11-13 MORIOKA Tomohiko <tomo@urania.m17n.org>
+
+ * 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 <tomo@urania.m17n.org>
+
+ * 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 <tomo@etl.go.jp>
+
+ * mule-charset.c (Fset_charset_mapping_table): Fix problem with
+ `ascii'.
+
+1999-11-12 MORIOKA Tomohiko <tomo@urania.m17n.org>
+
+ * 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 <tomo@urania.m17n.org>
+
+ * 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 <tomo@urania.m17n.org>
+
+ * mule-charset.c (Fchar_attribute_alist): Check the argument is a
+ character; copy the return value.
+
+1999-11-12 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * mule-charset.c (Fmake_charset): Setup byte_offset for
+ {94|96}^n-set.
+
+1999-11-09 MORIOKA Tomohiko <tomo@urania.m17n.org>
+
+ * mule-charset.c (Fdefine_char): Fix problem with non-UCS
+ character.
+
+1999-11-09 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
+ is found.
+
+1999-11-09 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * mule-charset.c (Fcharset_name): Define `byte_offset' in
+ non-UTF-2000 configuration.
+
+1999-10-29 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
+ to 0.10 (Yao).
+
+1999-10-25 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
+ integer.
+
+1999-10-12 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
+ to 0.9.
+
+1999-10-11 MORIOKA Tomohiko <tomo@urania.m17n.org>
+
+ * 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 <tomo@urania.m17n.org>
+
+ * 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 <tomo@urania.m17n.org>
+
+ * 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 <tomo@urania.m17n.org>
+
+ * 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 <tomo@urania.m17n.org>
+
+ * mule-charset.c (Fmake_charset): Allocate final-byte based
+ charset-id for 94-set, 96-set and 94x94-set.
+
+1999-10-11 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * 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 <tomo@urania.m17n.org>
+
+ * mule-charset.c (complex_vars_of_mule_charset): Add font
+ registory of `ucs-bmp'.
+
+1999-10-10 MORIOKA Tomohiko <tomo@urania.m17n.org>
+
+ * 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 <tomo@urania.m17n.org>
+
+ * 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 <tomo@etl.go.jp>
+
+ * mule-charset.c (syms_of_mule_charset): Delete charset alias
+ `vietnamese-viscii-*'.
+
+1999-10-07 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * 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 <tomo@urania.m17n.org>
+
+ * 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 <tomo@urania.m17n.org>
+
+ * char-ucs.h (MAKE_CHAR): Check the result for range-represented
+ charset.
+
+1999-09-30 MORIOKA Tomohiko <tomo@urania.m17n.org>
+
+ * 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 <tomo@etl.go.jp>
+
+ * mule-charset.c (CHAR96): Deleted.
+ (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
+ <Lisp_Object>.
+ (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
+ <Emchar*> to <Lisp_Object> [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 <Emchar*> to <Lisp_Object>.
+ (MAKE_CHAR): Modify for new specification of `decoding_table'.
+
+1999-09-23 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
+ error with non-UTF-2000-Mule.
+
+1999-09-21 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
+
+1999-09-14 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
+
+1999-09-14 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * 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 <tomo@urania.m17n.org>
+
+ * 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 <tomo@urania.m17n.org>
+
+ * 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 <tomo@urania.m17n.org>
+
+ * 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 <tomo@urania.m17n.org>
+
+ * 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 <tomo@etl.go.jp>
+
+ * 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 <tomo@urania.m17n.org>
+
+ * 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 <tomo@urania.m17n.org>
+
+ * 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 <tomo@urania.m17n.org>
+
+ * 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 <tomo@urania.m17n.org>
+
+ * 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 <tomo@urania.m17n.org>
+
+ * 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 <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * text-coding.c (char_encode_shift_jis): Use table
+ `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
+
+1999-09-11 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * file-coding.c (decode_coding_iso2022): Use
+ `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
+
+1999-09-10 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
+ to 0.7 (Hirano).
+
+1999-09-10 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * char-lb.h (CHAR_COLUMNS): New macro.
+
+1999-09-09 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * 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_<CHARSET>' tables.
+
+1999-09-08 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * text-coding.c: New file.
+
+1999-09-07 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
+ to 0.6.
+
+1999-09-05 MORIOKA Tomohiko <tomo@urania.m17n.org>
+
+ * 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 <tomo@urania.m17n.org>
+
+ * 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 <tomo@urania.m17n.org>
+
+ * 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 <tomo@urania.m17n.org>
+
+ * 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 <tomo@urania.m17n.org>
+
+ * 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 <tomo@urania.m17n.org>
+
+ * 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 <tomo@urania.m17n.org>
+
+ * 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 <tomo@m17n.org>
+
+ * 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 <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * character.h (LEADING_BYTE_COMPOSITE): Deleted.
+
+1999-08-29 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
+ condition.
+
+1999-08-28 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
+ and `NUM_LEADING_BYTES' in assert.
+
+1999-08-27 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * mule-charset.c (syms_of_mule_charset): Update to
+ 0.4 (Shin-Imamiya).
+
+1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
+
+ * file-coding.c (encode_coding_sjis): New implementation for
+ UTF2000. (decode_coding_sjis): Ditto.
+
+1999-06-17 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * mule-canna.c (c2mu): New implementation for UTF2000.
+ (m2c): Likewise.
+
+1999-06-15 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
+
+1999-06-15 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * 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 <tomo@etl.go.jp>
+
+ * 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 <martin@xemacs.org>
+
+ * XEmacs 21.2.34 is released.
+
+2000-05-22 Jan Vroonhof <vroonhof@math.ethz.ch>
+
+ * 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 <vroonhof@math.ethz.ch>
+
+ * 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 <yoshiki@xemacs.org>
+
+ * 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 <andy@xemacs.org>
+
+ * 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 <andy@xemacs.org>
+
+ * 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 <CraigL@DyCon.com>
+
+ * 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 <andy@xemacs.org>
+
+ * console-msw.c (mswindows_output_last_error): ; -> ,
+
+2000-05-12 Andy Piper <andy@xemacs.org>
+
+ * console-msw.c (FROB): compare ints with ints.
+
+2000-05-11 Andy Piper <andy@xemacs.org>
+
+ * glyphs-x.c (x_finalize_image_instance): make minimal build
+ happy.
+
+2000-05-20 Ben Wing <ben@xemacs.org>
+
+ * 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 <yoshiki@xemacs.org>
+
+ * redisplay-tty.c (reset_tty_modes):
+ (tty_redisplay_shutdown): Adjust argument type to
+ tty_frame_output_end.
+
+2000-05-11 Yoshiki Hayashi <yoshiki@xemacs.org>
+
+ * eval.c (Fbacktrace): Don't output a line with only right
+ parenthesis.
+
+2000-05-17 Kenji Itoh <keit@tpj.co.jp>
+
+ * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
+ (Fpq_reset_poll): Ditto.
+
+2000-05-16 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
+
+2000-05-16 Ben Wing <ben@xemacs.org>
+
+ * 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 <ben@xemacs.org>
+
+ * 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 <vroonhof@math.ethz.ch>
+
+ 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 <ben@xemacs.org>
+
+ * 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 <yoshiki@xemacs.org>
+
+ * glyphs.c (image_instantiate): Suppress gcc warnings.
+ (Fmake_image_instance): Fix doc string.
+ * specifier.c (Fmake_specifier): Ditto.
+
+2000-05-02 Yoshiki Hayashi <yoshiki@xemacs.org>
+
+ * 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 <yoshiki@xemacs.org>
+
+ * fns.c (Ffeaturep): Update e-mail address in doc-string.
+ Document (featurep '(and xemacs 21.02)).
+
+2000-05-09 Ben Wing <ben@xemacs.org>
+
+ * 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 <andy@xemacs.org>
+
+ * 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 <ben@xemacs.org>
+
+ * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
+ DWORD.
+
+2000-04-26 Mike Woolley <mike@bulsara.com>
+
+ * 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 <vroonhof@math.ethz.ch>
+
+ * callproc.c (Fold_call_process_internal): GCPRO path
+
+2000-05-08 Jan Vroonhof <jan@xemacs.org>
+
+ 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 <ben@xemacs.org>
+
+ * 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 <andy@xemacs.org>
+
+ * 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 <andy@xemacs.org>
+
+ * 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 <andy@xemacs.org>
+
+ * nt.c: remove bogus reference to sysmmsystem.h
+
+ * gui-x.c (popup_selection_callback): fix no selection abort.
+
+2000-05-02 Andy Piper <andy@xemacs.org>
+
+ * 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 <andy@xemacs.org>
+
+ * 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 <andy@xemacs.org>
+
+ * 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 <andy@xemacs.org>
+
+ * 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 <andy@xemacs.org>
+
+ * 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 <andy@xemacs.org>
+
+ * 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 <andy@xemacs.org>
+
+ * 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 <andy@xemacs.org>
+
+ * 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 <andy@xemacs.org>
+
+ * 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 <andy@xemacs.org>
+
+ * 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 <martin@xemacs.org>
+
+ * XEmacs 21.2.33 is released.
+
+2000-05-01 Yoshiki Hayashi <yoshiki@xemacs.org>
+
+ * make-src-depend: Allow dots in header file name.
+
+2000-05-01 Yoshiki Hayashi <yoshiki@xmacs.org>
+
+ * 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 <yoshiki@xemacs.org>
+
+ * 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 <torkel@hpc2n.umu.se>
+
+ * 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 <ben@xemacs.org>
+
+ * 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 <ben@xemacs.org>
+
+ * 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 <ben@xemacs.org>
+
+ * 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 <ben@xemacs.org>
+
+ * 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 <tomonori@suiyokai.org>
+
+ * 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 <martin@xemacs.org>
+
+ * 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 <martin@xemacs.org>
+
+ * 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 <limits.h>
+
+ * 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 <yoshiki@xemacs.org>
+
+ * filelock.c (current_lock_owner): Remove unused variable o, p.
+
+2000-04-17 Norbert Koch <n.koch@eai-delta.de>
+
+ * callint.c: Remove multiply defined symbol Qlet
+ (syms_of_callint): ditto.
+
+2000-04-14 Andy Piper <andy@xemacs.org>
+
+ * 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 <hniksic@iskon.hr>
+
+ * event-stream.c (Fdispatch_event): Doc fix.
+
+2000-03-29 SL Baur <steve@musashimaru.m17n.org>
+
+ * 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 <kkm@dtmx.com>
+
+ * 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 <jan@xemacs.org>
+
+ * process-unix.c (unix_send_process): Guard against process MIA
+ after Faccept_process_output.
+
+2000-04-11 Ben Wing <ben@xemacs.org>
+
+ * eval.c (unbind_to_hairy): fix brokenness introduced by
+ nanosecond speed improvements.
+
+2000-04-07 Raymond Toy <toy@rtp.ericsson.se>
+
+ * 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 <tomonori@suiyokai.org>
+
+ * redisplay.c (add_margin_runes): Add text image glyph
+ handling.
+
+2000-04-06 Yoshiki Hayashi <yoshiki@xemacs.org>
+
+ * lisp.h (DOESNT_RETURN): Don't declare as volatile when
+ gcc is newer than 2.5.
+
+2000-04-06 Colin Rafferty <colin@xemacs.org>
+
+ * 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 <andy@xemacs.org>
+
+ * gmalloc.c (malloc): undo previous change.
+ (malloc): ditto.
+ (free): ditto.
+ (realloc): ditto.
+
+2000-04-06 IKEYAMA Tomonori <tomonori@suiyokai.org>
+
+ * line-number.c (buffer_line_number): Revert to former version.
+
+2000-04-06 Andy Piper <andy@xemacs.org>
+
+ * 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 <yoshiki@xemacs.org>
+
+ * buffer.h (struct buffer): auto_save_modified should be long.
+
+2000-04-05 Andy Piper <andy@xemacs.org>
+
+ * 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 <andy@xemacs.org>
+
+ * faces.c (complex_vars_of_faces): The widget face should inherit
+ the font of the gui-element face.
+
+2000-04-04 Andy Piper <andy@xemacs.org>
+
+ * 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 <andy@xemacs.org>
+
+ * 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 <tomonori@suiyokai.org>
+
+ * 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 <tomonori@suiyokai.org>
+
+ * 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 <mta@arbortext.com>
+
+ 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 <vroonhof@math.ethz.ch>
+
+ * 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 <andy@xemacs.org>
+
+ * glyphs-widget.c: (button_query_geometry): new function. Adjust
+ for toggle and radio buttons.
+ (image_instantiator_buttons): use it.
+
+2000-03-03 Jan Vroonhof <vroonhof@math.ethz.ch>
+
+ * 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 <andy@xemacs.org>
+
+ * 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 <andy@xemacs.org>
+
+ * 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 <andy@xemacs.org>
+
+ * toolbar-msw.c (TBSTYLE_FLAT): add.
+ (mswindows_output_toolbar): minor fiddling.
+
+2000-03-29 Andy Piper <andy@xemacs.org>
+
+ * 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 <mta@arbortext.com>
+
+ * 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 <andy@xemacs.org>
+
+ * gui.c (get_gui_callback): treat Quit specially.
+
+2000-03-27 Andy Piper <andy@xemacs.org>
+
+ * glyphs.c (image_instantiate): be careful to check in the same
+ way we assigned.
+
+2000-03-27 Didier Verna <didier@xemacs.org>
+
+ * 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 <andy@xemacs.org>
+
+ * glyphs-msw.c (mswindows_update_widget): make sure the widget
+ gets updated whenever the face might have changed.
+
+2000-03-26 Mike Alexander <mta@arbortext.com>
+
+ * dumper.c (pdump_resource_free): Fix the comment.
+
+2000-03-21 Olivier Galibert <galibert@pobox.com>
+
+ * input-method-xlib.c (XIM_init_frame): Remove painful warning.
+
+2000-03-22 Mike Alexander <mta@arbortext.com>
+
+ * 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 <mta@arbortext.com>
+
+ * gui.c (copy_gui_item_tree): Return a value in all cases
+
+2000-03-21 Didier Verna <didier@xemacs.org>
+
+ * 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 <andy@xemacs.org>
+
+ * gutter.c (redraw_exposed_gutters): must be "in display" when we
+ do this.
+
+2000-03-24 Andy Piper <andy@xemacs.org>
+
+ * 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 <yoshiki@xemacs.org>
+
+ * 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 <ben@xemacs.org>
+
+ * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
+ From Mike Alexander <mta@arbortext.com>.
+
+2000-03-21 Ben Wing <ben@xemacs.org>
+
+ * 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 <martin@xemacs.org>
+
+ * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
+
+2000-03-20 Andy Piper <andy@xemacs.org>
+
+ * glyphs.c (full_list_hash): make hashes of the same elements in
+ different orders return different values.
+
+2000-03-20 Martin Buchholz <martin@xemacs.org>
+
+ * XEmacs 21.2.32 is released.
+
+2000-03-20 Martin Buchholz <martin@xemacs.org>
+
+ * 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 <martin@xemacs.org>
+
+ * sysfile.h:
+ Make sure PATH_MAX is always defined.
+ Include limits.h for PATH_MAX.
+ Deprecate use of MAXPATHLEN.
+
+2000-03-10 Martin Buchholz <martin@xemacs.org>
+
+ * 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 <andy@xemacs.org>
+
+ * glyphs.c (image_instantiate): allow text glyphs to be
+ instantiated in the minibuffer window.
+
+2000-03-19 Andy Piper <andy@xemacs.org>
+
+ * 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 <andy@xemacs.org>
+
+ * 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 <yoshiki@xemacs.org>
+
+ * window.c (Fselect_window): Undo 2000-03-17 change.
+
+2000-03-17 SL Baur <steve@musashimaru.m17n.org>
+
+ * 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 <andy@xemacs.org>
+
+ * 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 <galibert@pobox.com>
+
+ * emacs.c (Frunning_temacs_p): Revert previous patch.
+ (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
+
+2000-03-16 Andy Piper <andy@xemacs.org>
+
+ * 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 <galibert@pobox.com>
+
+ * 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 <galibert@pobox.com>
+
+ * 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 <steve@musashimaru.m17n.org>
+
+ * 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 <steve@musashimaru.m17n.org>
+
+ * postgresql.c (Fpq_lo_import): Fix return value.
+ Suggested by: Kenji Itoh <keit@tpj.co.jp>.
+
+2000-03-13 Ben Wing <ben@xemacs.org>
+
+ * alloc.c (pdump_load):
+ Fix compile warning under mswin.
+
+2000-03-14 SL Baur <steve@musashimaru.m17n.org>
+
+ * 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 <steve@musashimaru.m17n.org>
+
+ * postgresql.c (vars_of_postgresql): Mule-ize.
+ (Fpq_conn_defaults): Ditto.
+
+2000-03-12 Ben Wing <ben@xemacs.org>
+
+ * 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 <kkm@dtmx.com>
+
+ * nt.c (fstat): Added a comment for another problem with
+ non-encapsulated [f]stat(), reported by Adrian Aichner
+ <aichner@ecf.teradyne.com>.
+
+2000-03-11 Andy Piper <andy@xemacs.org>
+
+ * window.c (make_dummy_parent): initialize subwindow instance
+ cache.
+ (Fset_window_configuration): zero extent_modiff.
+
+2000-03-10 Andy Piper <andy@xemacs.org>
+
+ * 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 <andy@xemacs.org>
+
+ * alloc.c (pdump_dump_data): remove i & count shadows.
+
+2000-02-27 Mike Alexander <mta@arbortext.com>
+
+ * 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 <steve@musashimaru.m17n.org>
+
+ * lrecord.h: add `lrecord_type_pgsetenv'.
+
+2000-03-08 SL Baur <steve@musashimaru.m17n.org>
+
+ * symsinit.h: declare (vars|syms)_of* functions.
+ * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
+
+2000-03-06 SL Baur <steve@musashimaru.m17n.org>
+
+ * 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 <yoshiki@xemacs.org>
+
+ * redisplay-output.c (redisplay_output_display_block): Disable
+ redundant code.
+
+2000-03-09 Yoshiki Hayashi <yoshiki@xemacs.org>
+
+ * 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 <yoshiki@xemacs.org>
+
+ * emacs.c (main_1): Always call syms_of_gui.
+ * inline.c: include gui.h
+
+2000-03-09 Yoshiki Hayashi <yoshiki@xemacs.org>
+
+ * 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 <andy@xemacs.org>
+
+ * buffer.c (Frename_buffer): record new buffer name the right way.
+
+2000-03-08 Andy Piper <andy@xemacs.org>
+
+ * 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 <andy@xemacs.org>
+
+ * 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 <yoshiki@xemacs.org>
+
+ * redisplay.h: Fix comment style.
+
+2000-03-08 Jonathan Harris <jhar@tardis.ed.ac.uk>
+
+ * 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 <didier@xemacs.org>
+
+ * dired.c: #include `regex.h' after `sysfile.h'.
+
+2000-03-06 Martin Buchholz <martin@xemacs.org>
+
+ * 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 <jhar@tardis.ed.ac.uk>
+
+ * 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 <CraigL@DyCon.com>
+
+ * process-nt.c: MinGW now has <shellapi.h>, but still needs
+ <errno.h>.
+
+ * 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 <tomonori@suiyokai.org>
+
+ * 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 <jhar@tardis.ed.ac.uk>
+
+ * fileio.c (Fmake_symbolic_link):
+ (Ffile_symlink_p):
+ Run handlers even if local machine doesn't have symlinks.
+
+2000-03-05 Jonathan Harris <jhar@tardis.ed.ac.uk>
+
+ * event-msw.c (mswindows_drain_windows_queue):
+ Don't generate paint magic events for non-XEmacs frames.
+
+2000-03-05 Andy Piper <andy@xemacs.org>
+
+ * 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 <martin@xemacs.org>
+
+ * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
+
+2000-03-03 Jan Vroonhof <vroonhof@math.ethz.ch>
+
+ * 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 <andy@xemacs.org>
+
+ * 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 <andy@xemacs.org>
+
+ * 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 <andy@xemacs.org>
+
+ * 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 <stephen@xemacs.org>
+
+ * emacs.c (data-directory): Xref `locate-data-file' in docstring.
+
+2000-02-29 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
+
+1999-12-30 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp>
+
+ * file-coding.c (reset_decoding_stream): Clear previous
+ detection state when autodetect.
+
+2000-02-29 Didier Verna <didier@xemacs.org>
+
+ * extents.c (set_extent_glyph_1): don't require extents to be
+ attached.
+
+2000-02-27 Andy Piper <andy@xemacs.org>
+
+ * 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 <andy@xemacs.org>
+
+ * 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 <andy@xemacs.org>
+
+ * device-msw.c: Be kind to older cygwin versions. From Raymond
+ Toy <toy@rtp.ericsson.se>.
+
+ * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
+ earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
+
+2000-02-25 Martin Buchholz <martin@xemacs.org>
+
+ * elhash.c (MARK_OBJ): Practice macro hygiene.
+
+2000-02-24 Martin Buchholz <martin@xemacs.org>
+
+ * 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 <andy@xemacs.org>
+
+ * 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 <andy@xemacs.org>
+
+ * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
+ if it is.
+
+2000-02-24 Martin Buchholz <martin@xemacs.org>
+
+ * 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 <kkm@dtmx.com>
+
+ * 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 <mta@arbortext.com>
+
+ * 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 <kkm@dtmx.com>
+
+ * 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 <andy@xemacs.org>
+
+ * 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 <martin@xemacs.org>
+
+ * XEmacs 21.2.31 is released.
+
+2000-02-22 Ben Wing <ben@xemacs.org>
+
+ * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
+
+2000-02-22 Andy Piper <andy@xemacs.org>
+
+ * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
+
+2000-02-21 Mike Sperber <mike@xemacs.org>
+
+ * .dbxrc:
+ * .gdbinit:
+ * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
+ variables.
+
+2000-02-21 Mike Sperber <mike@xemacs.org>
+
+ * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
+
+2000-02-21 Martin Buchholz <martin@xemacs.org>
+
+ * XEmacs 21.2.30 is released.
+
+2000-02-20 Martin Buchholz <martin@xemacs.org>
+
+ Performance hacking.
+ * *.c (syms_of_*):
+ Add INIT_LRECORD_IMPLEMENTATION macros, paired with
+ DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
+ * emacs.c (main_1):
+ * lisp.h (DEFUN):
+ * console.c (DEFVAR_CONSOLE_LOCAL_1):
+ * buffer.c (DEFVAR_BUFFER_LOCAL_1):
+ * symeval.h (DEFVAR_SYMVAL_FWD):
+ * symbols.c (guts_of_unbound_marker):
+ Make all c_readonly objects also lisp_readonly and marked for life.
+ * lrecord.h (struct lrecord_implementation):
+ Document flags better.
+ * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
+ * lrecord.h (DECLARE_LRECORD):
+ * lrecord.h (XSETRECORD):
+ * lrecord.h (RECORDP):
+ * lrecord.h (RECORD_TYPEP):
+ * lrecord.h (RECORD_MARKER): New.
+ * lrecord.h (error_check_*):
+ * lrecord.h (CONCHECK_NONRECORD):
+ * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
+ * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
+ * lrecord.h (set_lheader_implementation):
+ * lrecord.h (enum lrecord_type): New.
+ * symeval.h (SYMBOL_VALUE_MAGIC_P):
+ * alloc.c (disksave_object_finalization_1):
+ * alloc.c (mark_object):
+ * alloc.c (lrecord_type_index):
+ * alloc.c (tick_lcrecord_stats):
+ * alloc.c (Fgarbage_collect):
+ * alloc.c (init_alloc_once_early):
+ * alloc.c (pdump_load):
+ * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
+ * alloc.c (lrecord_type_index): Delete.
+ Make lisp object type indexes be constant.
+ Makes (byte-compile) 5% faster.
+ Put all marker functions into their own array.
+ Makes (garbage-collect) 5% faster.
+ Optimize SYMBOL_VALUE_MAGIC_P.
+ Makes (byte-compile) 2-3% faster.
+ * config.h.in (gc_checking_assert): New.
+ * alloc.c: Use gc_checking_assert().
+ * .dbxrc: Make compatible with new object type implementation.
+ * .gdbinit: Make compatible with new object type implementation.
+ * alloc.c: Delete all symbols defined only for debugging, such as
+ Lisp_Type_Vector and lrecord_charset.
+
+2000-02-21 Andy Piper <andy@xemacs.org>
+
+ * gui-msw.c (Fmswindows_shell_execute): fix file location
+ problems.
+
+ * buffer.c (Fkill_buffer): remove buffer from alist buffer
+ unshowing so that set_window_buffer doesn't undo
+ kill_buffer_hook's hard work.
+
+ * glyphs-widget.c (tab_control_query_geometry): don't count the
+ first item when calculating geometry.
+
+ * glyphs.c (map_subwindow): remove redundant code.
+ (update_frame_subwindows): be more circumspect about when to
+ update subwindows.
+
+ * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
+ when items haven't changed. Update faces if faces have changed as
+ well as just the widget face.
+ (x_tab_control_update): Update faces if faces have changed as well
+ as just the widget face.
+
+2000-02-21 Jonathan Harris <jhar@tardis.ed.ac.uk>
+
+ * device-msw.c: (mswindows_delete_device): Remove redundant DDE
+ registration.
+ (build_syscolor_string): Use mswindows_color_to_string to try to
+ get a named color.
+ (mswindows_device_system_metrics): Reverse the foreground and
+ background colors so that they match the documentation.
+
+ * 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 <jhar@tardis.ed.ac.uk>
+
+ * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
+
+2000-02-18 Olivier Galibert <galibert@pobox.com>
+
+ * 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.
+
+ * malloc.c: Removed obsolete DATA_SEG_BITS
+ * ralloc.c: Ditto.
+ * mem-limits.h: Ditto.
+
+ * Makefile.in.in: Removed obsolete HAVE_SHM
+ * emacs.c: Ditto.
+
+2000-02-13 Jonathan Harris <jhar@tardis.ed.ac.uk>
+
+ * device-msw.c (mswindows_delete_device): Free DDE string
+ handles.
+
+2000-02-16 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
+
+ * 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):
+ (Fmswindows_set_clipboard):
+ * objects-msw.h (MSWINDOWS_BAD_HFONT):
+ * objects-msw.c:
+ * menubar-msw.c (displayable_menu_item):
+ * glyphs-msw.c:
+ * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
+ * sysdep.c (sys_subshell):
+ * process-nt.c (nt_create_process):
+ * nt.c (normalize_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):
+ (msprinter_get_devmode_copy): Frobbed syntax frivolities.
+
+ * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
+ mswindows_clear_toolbar were swapped!
+
+ * objects-msw.c:(colormap_t):
+ (fontmap_t):
+ * emacs.c (struct standard_args): Fixed const jumble.
+
+ * 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 <martin@xemacs.org>
+
+ * eldap.c (Fldap_open):
+ (Fldap_search_basic):
+ (Fldap_add):
+ (Fldap_modify):
+ Use new coding system conversion macros.
+
+2000-01-06 Yoshiki Hayashi <t90553@mail.ecc.u-tokyo.ac.jp>
+
+ * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
+
+1999-11-27 Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch>
+
+ * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
+ (Fldap_add, Fldap_modify, Fldap_delete): New functions
+
+ * eldap.c (Qadd, Qreplace): New constant symbols
+ (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
+ interruptions by XEmacs signals
+ 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
+ display of progress messages
+ Remove unnecessary calls to slow_down_interrupts and
+ speed_up_interrupts
+ LDAP result code analysis rewritten
+ (Fldap_add, Fldap_modify, Fldap_delete): New functions
+ (syms_of_eldap): Define the new symbols and functions
+
+
+2000-02-17 Martin Buchholz <martin@xemacs.org>
+
+ * realpath.c: Determine PATH_MAX maximally portably.
+
+ * insdel.c (bytecount_to_charcount): Optimize.
+ The function used to be optimized for entirely ASCII sequences.
+ Now it is optimized for successive characters from the same
+ charset. This also wins big for _mostly_ ASCII sequences.
+
+ * fileio.c (Ffile_truename): convert return from realpath() using
+ Qfile_name, not Qbinary. Fixes obvious bug with non-ASCII symlinks.
+ - Rewrite GCPROing slightly.
+
+ * sysdep.c (sys_open): Do filename conversion, like all other
+ sys_* functions. Fixes bug:
+ (let ((file-name-coding-system 'iso-8859-2))
+ (write-region x y latin2-name))
+ ==> writes filename using internal encoding.
+
+2000-02-18 Martin Buchholz <martin@xemacs.org>
+
+ * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
+ * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
+ * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
+ * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
+ * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
+ * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
+ * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
+ (CONST_IF_NOT_DEBUG): Delete.
+ * alloc.c (this_one_is_unmarkable): Delete.
+ (mark_object): Don't check for this_one_is_unmarkable. Use the
+ c_readonly flag instead.
+ * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
+
+2000-02-18 Jonathan Harris <jhar@tardis.ed.ac.uk>
+
+ * event-msw.c (mswindows_drain_windows_queue):
+ (emacs_mswindows_handle_magic_event): Remove attempt to optimise
+ away redundant repaint events.
+
+2000-02-17 Andy Piper <andy@xemacs.org>
+
+ * redisplay.h: declare mark_redisplay_structs.
+
+ * redisplay.c (redisplay_window):
+ (redisplay_frame): don't check subwindows_state_changed.
+ (mark_redisplay): mark gutters here.
+
+ * glyphs.c: (instantiate_image_instantiator): always layout if we
+ haven't done so already.
+ (allocate_image_instance): don't mark as dirty.
+ (update_subwindow): bind inhibit_quit.
+
+ * gutter.c (mark_gutters): new function.
+
+ * glyphs-x.c (x_update_widget): Always resize to get round a
+ widget bug.
+
+ * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
+ breaking absolutely everything.
+
+ * gutter.h: declare mark_gutters.
+
2000-02-16 Martin Buchholz <martin@xemacs.org>
* XEmacs 21.2.29 is released.
* general.c (syms_of_general): Initialized it.
* redisplay-msw.c (get_frame_dc): Conditionally start a new page.
- (get_frame_dc):
+ (get_frame_dc):
(get_frame_compdc): Made inline.
* console.h (struct console_methods): Added eject_page method.
* device.c (Fdevice_printer_p): Used these.
* frame.c (allocate_frame_core): Initialize page number.
- (Fprint_job_page_number):
+ (Fprint_job_page_number):
(Fprint_job_eject_page): Implemented.
* frame-msw.c (msprinter_eject_page): Added method.
* alloc.c (alloc_lcrecord): Add more type checking assertions.
(vector_hash): New. Code from internal_hash.
- * lrecord.h:
+ * lrecord.h:
Fix up allocation subsystem comments.
* config.h.in: Add __EXTENSIONS__ for Solaris.
* sunplay.c (sighandler): Fix prototype to use SIGTYPE.
* lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
- * fns.c (size_bit_vector):
- * alloc.c (size_vector):
- (make_vector_internal):
- (make_bit_vector_internal):
- (sweep_bit_vectors_1):
+ * fns.c (size_bit_vector):
+ * alloc.c (size_vector):
+ (make_vector_internal):
+ (make_bit_vector_internal):
+ (sweep_bit_vectors_1):
Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
2000-02-10 Martin Buchholz <martin@xemacs.org>
* config.h.in: Add HAVE_XCONVERTCASE.
2000-02-07 Andy Piper <andy@xemacs.org>
-
+
* glyphs.c (image_instance_layout): undo 2000-01-29 change since
it breaks many things.
* minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
- * ExternalShell.c:
- * ExternalClient.c:
- * EmacsShell-sub.c:
- * EmacsManager.c:
- * EmacsFrame.c:
+ * ExternalShell.c:
+ * ExternalClient.c:
+ * EmacsShell-sub.c:
+ * EmacsManager.c:
+ * EmacsFrame.c:
Use consistent style for specifying X resources.
* symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
This makes (dontusethis-set-symbol-value-handler) actually usable.
* lrecord.h (lrecord_decription_type):
- * alloc.c (pdump_register_sub):
- (pdump_dump_data):
- (pdump_reloc_one):
+ * alloc.c (pdump_register_sub):
+ (pdump_dump_data):
+ (pdump_reloc_one):
Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
Comply with XEmacs coding style.
All lrecord descriptions updated to use XD_LISP_OBJECT with 2
args, and XD_LISP_OBJECT_ARRAY with 3 args.
- * keymap.c (Faccessible_keymaps):
+ * keymap.c (Faccessible_keymaps):
Make (accessible-keymaps map "\C-h") do the Right Thing.
Make (accessible-keymaps map []) do the Right Thing.
Make (accessible-keymaps map "") do the Right Thing.
2000-01-30 Martin Buchholz <martin@xemacs.org>
* redisplay.c (init_redisplay): Fix small memory leak.
- * elhash.h:
- * elhash.c (pdump_reorganize_hash_table):
+ * elhash.h:
+ * elhash.c (pdump_reorganize_hash_table):
Rename from reorganize_hash_table. Change prototype.
Reuse the original memory for hentries. Save 100k.
* alloc.c (PDUMP_READ): new macro.
ifdefs in readable order.
(NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
(start_of_text):
- (end_of_text):
+ (end_of_text):
(end_of_data): Do not compile in if using PDUMP.
* symsinit.h: Protptyped vars_of_nt().
(fstat, stat): Do not compile in if using MSVC 5.0 and above -
stat has been fixed in the C runtime.
(vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
-
+
* file-coding.c (struct file_coding_dump): Do not define
ucs_to_mule_table in the struct if not MULE.
(struct struct lrecord_description fcd_description_1): Do not dump
* faces.c: Moved 'left-margin and 'right-margin defsymbols to
general.c.
- * console-msw.h: Added more msprinter device private slots.
+ * console-msw.h: Added more msprinter device private slots.
2000-02-01 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
only.
* console-msw.h: Moved a few function prototypes here from
- event-msw.c.
+ event-msw.c.
* gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
parameter from unsigned short to unsigned long.
2000-01-27 URA Hiroshi <ura@hiru.aoba.yokohama.jp>
- * sysdep.c (init_system_name):
- process-unix.c (unix_canonicalized_host_name):
+ * sysdep.c (init_system_name):
+ process-unix.c (unix_canonicalized_host_name):
Don't call freeaddrinfo() if getaddrinfo() fails.
* process-unix.c (unix_open_unix_network_stream):
2000-01-27 Martin Buchholz <martin@xemacs.org>
- * buffer.c (reinit_vars_of_buffer):
+ * buffer.c (reinit_vars_of_buffer):
The right place to initialize conversion_in_dynarr and
conversion_out_dynarr.
file-name-coding-system, terminal-coding-system, and
keyboard-coding-system magical variables that are equivalent to
defining the corresponding coding system aliases.
-
+
* file-coding.c (Fcoding_system_canonical_name_p): New function.
* file-coding.c (Fcoding_system_alias_p): New function.
* file-coding.c (Fcoding_system_aliasee): New function.
2000-01-24 Martin Buchholz <martin@xemacs.org>
- * realpath.c (xrealpath):
+ * realpath.c (xrealpath):
Don't call getwd().
2000-01-25 Martin Buchholz <martin@xemacs.org>
2000-01-24 Martin Buchholz <martin@xemacs.org>
- * glyphs-widget.c (layout_query_geometry):
+ * glyphs-widget.c (layout_query_geometry):
(layout_layout): Use correct types for gheight, gwidth.
2000-01-24 Martin Buchholz <martin@xemacs.org>
2000-01-23 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
- * callproc.c:
- * dired-msw.c:
- * fileio.c:
- * process-nt.c:
- * redisplay-msw.c:
+ * callproc.c:
+ * dired-msw.c:
+ * fileio.c:
+ * process-nt.c:
+ * redisplay-msw.c:
* sysdep.c: Removed redundant #include <windows.h>
2000-01-22 Kirill 'Big K' Katsnelson <kkm@dtmx.com>
* frame.c (delete_frame_internal): Do not delete device when its
implementation so declares.
(delete_frame_internal): Set device selected frame to nil when
- last frame goes away.
+ last frame goes away.
* device-msw.c (msprinter_device_system_metrics): Implemented.
(mswindows_device_system_metrics): Added 'device-dpi property.
2000-01-22 Martin Buchholz <martin@xemacs.org>
* process.c (Fset_process_coding_system):
- * device-x.c (Fx_keysym_hash_table):
+ * device-x.c (Fx_keysym_hash_table):
Docstring fixes.
* lstream.c (Lstream_write): Return documented value, not 0.
- * fileio.c (directory_file_name):
- (Fsubstitute_in_file_name):
- (Fsubstitute_insert_file_contents_internal):
+ * fileio.c (directory_file_name):
+ (Fsubstitute_in_file_name):
+ (Fsubstitute_insert_file_contents_internal):
(Fwrite_region_internal):
* emacs.c:
* sysdep.c:
- * getloadavg.c:
+ * getloadavg.c:
* systty.h:
Remove vestigial APOLLO-conditional code.
* miscplay.h: Add guard macros.
* *.h: Use consistent C-standards-approved guard macro names.
- * opaque.c (make_opaque): Switch parameter order.
+ * opaque.c (make_opaque): Switch parameter order.
* opaque.h (make_opaque): Switch parameter order.
Update all callers.
* buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.