(add_emchar_rune): Use `ASCII_TO_CHARC', `CHAR_TO_CHARC' and
[chise/xemacs-chise.git-] / src / ChangeLog
index 15db881..fedc5c2 100644 (file)
-2000-03-20  Martin Buchholz <martin@xemacs.org>
+2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
+       instead of <Emchar_dynarr *> for buf; use
+       `convert_bufbyte_string_into_charc_dynarr' instead of
+       `convert_bufbyte_string_into_emchar_dynarr'; use
+       `find_charsets_in_charc_string' instead of
+       `find_charsets_in_emchar_string'.
+
+       * redisplay.h:
+       - Include "character.h".
+       (struct rune): New member `cglyph'; delete member `chr'.
+
+       * redisplay.c (redisplay_text_width_charc_string): New function;
+       delete `redisplay_text_width_emchar_string'.
+       (rtw_charc_dynarr): New variable; renamed from
+       `rtw_emchar_dynarr'.
+       (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
+       `rtw_emchar_dynarr'; use
+       `convert_bufbyte_string_into_charc_dynarr' instead of
+       `convert_bufbyte_string_into_emchar_dynarr'; use
+       `redisplay_text_width_charc_string' instead of
+       `redisplay_text_width_emchar_string'.
+       (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
+       instead of `rtw_emchar_dynarr'; use
+       `convert_bufbyte_string_into_charc_dynarr' instead of
+       `convert_bufbyte_string_into_emchar_dynarr'.
+       (add_emchar_rune): Add <Charc> instead of <Emchar>; use
+       `redisplay_text_width_charc_string' instead of
+       `redisplay_text_width_emchar_string'.
+       (create_text_block): Modify for <struct rune> change.
+       (generate_formatted_string_db): Likewise.
+       (create_string_text_block): Likewise.
+       (pixel_to_glyph_translation): Likewise.
+
+       * redisplay-x.c (separate_textual_runs): Use <const Charc *>
+       instead of <const Emchar *>.
+       (x_text_width): Likewise.
+       (x_output_display_block): Use <Charc_dynarr *> instead
+       <Emchar_dynarr *>; modify for <structure rune> change.
+       (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
+       *>.
+
+       * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
+       <const Emchar *>; use `charc_string_displayed_columns' instead of
+       `emchar_string_displayed_columns'.
+       (tty_output_display_block): Use <Charc_dynarr *> instead of
+       <Emchar_dynarr *> for buf; modify for <structure rune> change; use
+       `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
+       (tty_output_charc_dynarr_dynarr): New variable; renamed from
+       `tty_output_emchar_dynarr_dynarr'.
+       (tty_output_charc_dynarr): New function; delete
+       `tty_output_charc_dynarr'.
+
+       * redisplay-output.c (compare_runes): Modify for `struct rune'.
+       (redisplay_output_layout): Use <Charc_dynarr *> instead of
+       <Emchar_dynarr *> for buf; use
+       `convert_bufbyte_string_into_charc_dynarr' instead of
+       `convert_bufbyte_string_into_emchar_dynarr'.
+
+       * frame.c (title_string_charc_dynarr): New variable; renamed from
+       `title_string_emchar_dynarr'.
+       (generate_title_string): Use `title_string_charc_dynarr' instead
+       of `title_string_emchar_dynarr'; use
+       `convert_charc_string_into_malloced_string' instead of
+       `convert_emchar_string_into_malloced_string'.
+       (init_frame): Use `title_string_charc_dynarr' instead of
+       `title_string_emchar_dynarr'.
+
+       * console.h:
+       - Include "character.h".
+       (struct console_methods): Use <const Charc *> instead of <const
+       Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
+       <Emchar_dynarr *> in output_string_method.
+
+       * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
+       <Emchar_dynarr *>.
+
+       * console-stream.c (stream_text_width): Use <const Charc *>
+       instead of <const Emchar *>.
+
+       * character.h (Charc_dynarr): New type.
+
+       * char-ucs.h (structure Charc): New structure; define new type
+       `Charc'.
+
+       * char-lb.h (DECODE_CHAR): New inline function.
+       (encode_char_1): New inline function.
+       (ENCODE_CHAR): New macro.
+       (structure Charc): New structure; define new type `Charc'.
+
+       * char-1byte.h (Vcharset_control_1): New macro.
+       (Vcharset_latin_iso8859_1): New macro.
+       (DECODE_CHAR): New inline function.
+       (encode_char_1): New inline function.
+       (ENCODE_CHAR): New macro.
+       (structure Charc): New structure; define new type `Charc'.
+
+       * insdel.c (find_charsets_in_charc_string): New function; delete
+       `find_charsets_in_emchar_string'.
+       (charc_string_displayed_columns): New function; delete
+       `emchar_string_displayed_columns'.
+       (convert_bufbyte_string_into_charc_dynarr): New function; delete
+       `convert_bufbyte_string_into_emchar_dynarr'.
+       (convert_charc_string_into_bufbyte_dynarr): New function; delete
+       `convert_charc_string_into_bufbyte_dynarr'.
+       (convert_charc_string_into_malloced_string): New function; delete
+       `convert_charc_string_into_malloced_string'.
+
+       * buffer.h (find_charsets_in_charc_string): New prototype; delete
+       `find_charsets_in_emchar_string'.
+       (charc_string_displayed_columns): New prototype; delete
+       `emchar_string_displayed_columns'.
+       (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
+       `convert_charc_string_into_bufbyte_dynarr'.
+       (convert_charc_string_into_malloced_string): New prototype; delete
+       `convert_charc_string_into_malloced_string'.
+
+2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
+
+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.
 
-       * XEmacs 21.2.32 is released.
+       * 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.
 
-2000-03-12  Jan Vroonhof  <vroonhof@math.ethz.ch>
+       * 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.
 
-       * sysdep.c: Include proper headers for mmap when pdumping()
+       * 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): 
+       * 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): 
+       * 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.  
+       * sysfile.h:
+       Make sure PATH_MAX is always defined.
        Include limits.h for PATH_MAX.
        Deprecate use of MAXPATHLEN.
 
        * 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): 
+       * 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
 
        * 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.
        * frame-msw.c (mswindows_size_frame_internal): remove unused
        variable.
 
-       * faces.h (struct face_cachel): fix comment. 
+       * faces.h (struct face_cachel): fix comment.
 
        * event-stream.c (Fdispatch_non_command_events): new
        function. Process non-command events, forcing an event cycle
 
        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):
        * 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):
         added.  I will think about this more.)
 
        * event-unixoid.c (poll_fds_for_input):
-        * lread.c (readchar): 
+        * lread.c (readchar):
        * redisplay-tty.c (tty_clear_frame):
        * redisplay-x.c (x_get_gc):
        * signal.c (interrupt_signal):
 
        * 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
        * 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):