update.
[chise/xemacs-chise.git-] / src / ChangeLog
index 7d4753c..38d405c 100644 (file)
+2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
+       support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
+
+       * doprnt.c (unsigned_int_converters): Add `c'.
+       (emacs_doprnt_1): Use `XUINT' for unsigned integers.
+
+       * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
+       (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
+       `MIN_CHAR_MOJIKYO'.
+       (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
+       (MAX_CHAR_MOJIKYO_0): New macro.
+       (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
+
+2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Fdefine_char): Delete cemented out code.
+       (encode_builtin_char_1): Modify for new allocation of builtin
+       Mojikyo characters.
+
+       * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
+
+2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharset_ucs_cns): New variable.
+       (Qucs_cns): New variable.
+       (syms_of_mule_charset): Add new symbol `ucs-cns'.
+       (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
+
+2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
+
+2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
+
+       * search.c (search_buffer): Make `charset_base_code' as
+       character-id >> 6 to eliminate the corresponding last byte in
+       UTF-8 representation [I'm not sure it is right thing].
+       (boyer_moore): Likewise.
+
+2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
+
+       * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
+       representation in MULE.
+
+2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (Fmake_coding_system): Use
+       `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
+       `EXTERNAL_PROPERTY_LIST_LOOP'.
+
+2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (decode_output_utf8_partial_char): New function.
+       (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
+
+2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (decode_coding_utf8): Output original byte
+       sequence if it is broken; change order of conditions.
+
+       * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
+       of conditions.
+
+       * mb-multibyte.h (BYTE_ASCII_P):
+       Use bit ops for char-signedness safety.
+       (BYTE_C0_P): Use bit ops for char-signedness safety.
+       (BYTE_C1_P): Use bit ops for char-signedness safety.
+
+       * character.h: (XCHAR_OR_CHAR_INT):
+       Always use inline function.
+       Remove redundant type checking assert() - XINT will abort quite
+       nicely.
+
+2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c: (Fencode_shift_jis_char):
+       (Fencode_big5_char):
+       Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
+       Replace 0 with '\0' when working with bytes.
+       Replace initial "(" with "\(" in docstrings.
+
+       (Fmake_coding_system):
+       When type is ccl and value is vector, register it with a proper
+       symbol.  And checks whether the given ccl program is valid.
+       (mule_decode): When calling ccl_driver, if src indicates
+       NULL pointer, set an empty string instead.
+       (mule_encode): Likewise.
+
+       (detect_eol_type):
+       (detect_coding_sjis):
+       (decode_coding_sjis):
+       (detect_coding_big5):
+       (decode_coding_big5):
+       (detect_coding_ucs4):
+       (decode_coding_ucs4):
+       (detect_coding_utf8):
+       (decode_coding_utf8):
+       (detect_coding_iso2022):
+       (decode_coding_iso2022):
+       (decode_coding_no_conversion):
+       (mule_decode):
+       Make all detecting and decoding functions take an Extbyte * arg.
+       (text_encode_generic):
+       (encode_coding_big5):
+       (encode_coding_no_conversion):
+       (mule_encode):
+       Make all encoding functions take a Bufbyte * arg.
+       Use size_t instead of unsigned int for memory sizes.
+       Only cast to unsigned char whenever dereferencing Extbyte *.
+
+       (struct lrecord_description fcd_description_1): Use countof.
+       (complex_vars_of_file_coding):
+       Use countof instead of sizeof.
+       Use CHECK_NATNUM instead of CHECK_INT.
+
+2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Fget_char_attribute): Add new optional argument
+       `default-value'.
+       (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
+       (remove_char_ccs): Likewise.
+
+2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (char_encode_shift_jis): New implementation in
+       UTF-2000.
+       (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
+       ...)'.
+
+       * mule-charset.c (Vcharset_chinese_big5): New variable in
+       UTF-2000.
+       (Qchinese_big5): New variable in UTF-2000.
+       (BIG5_SAME_ROW): New macro in UTF-2000.
+       (make_builtin_char): Use builtin characters of
+       `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
+       characters of `Vcharset_chinese_big5'.
+       (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
+       (complex_vars_of_mule_charset): Add new coded-charset
+       `chinese-big5' in UTF-2000.
+
+       * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
+       (Vcharset_chinese_big5): New external variable declaration.
+       (Vcharset_japanese_jisx0208_1990): Likewise.
+
+2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (expand_uint8_byte_table_to_uint16): New
+       function.
+       (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
+
+2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (complex_vars_of_mule_charset): Define new macro
+       `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
+       `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
+       `mojikyo-pj-*'.
+
+2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (decode_coding_big5): Modify for UTF-2000.
+
+2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
+       to 0.17.
+
+2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
+       for `CHARSET_BY_ATTRIBUTES'.
+       (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
+       `CHARSET_BY_ATTRIBUTES'.
+
+       * text-coding.c (struct decoding_stream): Rename member `CH' to
+       `CPOS'.
+       (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
+       (decode_coding_sjis): Likewise.
+       (decode_coding_big5): Likewise.
+       (decode_coding_ucs4): Likewise.
+       (decode_coding_utf8): Likewise.
+       (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
+       `CHARSET_BY_ATTRIBUTES'.
+       (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
+       `str->counter'; decode 3, 4 bytes sets.
+       (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
+       sets.
+       (decode_coding_no_conversion): Use `str->cpos' instead of
+       `str->ch'.
+
+       * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
+       (Qmojikyo_2022_1): New variable.
+       (make_charset): Don't use `CHARSET_TYPE_*'.
+       (range_charset_code_point): Support coded-charset
+       `mojikyo-2022-1'.
+       (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
+       (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
+       `CHARSET_BY_ATTRIBUTES'.
+       (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
+       `CHARSET_BY_ATTRIBUTES'.
+       (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
+       (complex_vars_of_mule_charset): Add new coded-charset
+       `mojikyo-2022-1'.
+
+       * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
+       interface; changed to inline function.
+
+       * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
+       (LEADING_BYTE_MOJIKYO_2022_1): New macro.
+       (LEADING_BYTE_MOJIKYO_2022_2): New macro.
+       (CHARSET_TYPE_94): Deleted.
+       (CHARSET_TYPE_94X94): Deleted.
+       (CHARSET_TYPE_96): Deleted.
+       (CHARSET_TYPE_96X96): Deleted.
+       (CHARSET_TYPE_128): Deleted.
+       (CHARSET_TYPE_128X128): Deleted.
+       (CHARSET_TYPE_256): Deleted.
+       (CHARSET_TYPE_256X256): Deleted.
+       (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
+       to inline function.
+       (DECODE_MOJIKYO_2022): New inline function.
+       (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
+       `Vcharset_mojikyo_2022_1'.
+
+2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
+       instead of `EQ'.
+       (put_byte_table): Likewise.
+       (char_id_table_equal): Use `get_byte_table' [new implementation].
+
+2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c: Include <limits.h> in UTF-2000.
+       (BT_UINT8_MIN): New macro in UTF-2000.
+       (BT_UINT8_MAX): New macro in UTF-2000.
+       (BT_UINT8_t): New macro in UTF-2000.
+       (BT_UINT8_nil): New macro in UTF-2000.
+       (BT_UINT8_unbound): New macro in UTF-2000.
+       (INT_UINT8_P): New inline function in UTF-2000.
+       (UINT8_VALUE_P): New inline function in UTF-2000.
+       (UINT8_ENCODE): New inline function in UTF-2000.
+       (UINT8_DECODE): New inline function in UTF-2000.
+       (mark_uint8_byte_table): New function in UTF-2000.
+       (print_uint8_byte_table): New function in UTF-2000.
+       (uint8_byte_table_equal): New function in UTF-2000.
+       (uint8_byte_table_hash): New function in UTF-2000.
+       (make_uint8_byte_table): New function in UTF-2000.
+       (uint8_byte_table_same_value_p): New function in UTF-2000.
+       (BT_UINT16_MIN): New macro in UTF-2000.
+       (BT_UINT16_MAX): New macro in UTF-2000.
+       (BT_UINT16_t): New macro in UTF-2000.
+       (BT_UINT16_nil): New macro in UTF-2000.
+       (BT_UINT16_unbound): New macro in UTF-2000.
+       (INT_UINT16_P): New inline function in UTF-2000.
+       (UINT16_VALUE_P): New inline function in UTF-2000.
+       (UINT16_ENCODE): New inline function in UTF-2000.
+       (UINT16_DECODE): New inline function in UTF-2000.
+       (UINT8_TO_UINT16): New inline function in UTF-2000.
+       (mark_uint16_byte_table): New function in UTF-2000.
+       (print_uint16_byte_table): New function in UTF-2000.
+       (uint16_byte_table_equal): New function in UTF-2000.
+       (uint16_byte_table_hash): New function in UTF-2000.
+       (make_uint16_byte_table): New function in UTF-2000.
+       (uint16_byte_table_same_value_p): New function in UTF-2000.
+       (print_byte_table): New function in UTF-2000.
+       (byte-table): Use `print_byte_table' as printer.
+       (make_byte_table): Delete second argument `older'.
+       (byte_table_same_value_p): New function in UTF-2000.
+       (copy_byte_table): Deleted.
+       (get_byte_table): New function in UTF-2000.
+       (put_byte_table): New function in UTF-2000.
+       (print_char_id_table): New function in UTF-2000.
+       (char-id-table): Use `print_char_id_table' as printer.
+       (make_char_id_table): Delete second argument `older'.
+       (get_char_id_table): Use `get_byte_table [new implementation].
+       (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
+       implementation].
+       (Ffind_char_attribute_table): New function in UTF-2000.
+       (mark_charset): Mark `cs->encoding_table' in UTF-2000.
+       (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
+       `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
+       (syms_of_mule_charset): Add new function
+       `find-char-attribute-table' in UTF-2000.
+
+       * lrecord.h (enum lrecord_type): Add
+       `lrecord_type_uint16_byte_table' and
+       `lrecord_type_uint8_byte_table'.
+
+       * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
+       (Lisp_Uint8_Byte_Table): New type.
+       (XUINT8_BYTE_TABLE): New macro.
+       (XSETUINT8_BYTE_TABLE): New macro.
+       (UINT8_BYTE_TABLE_P): New macro.
+       (GC_UINT8_BYTE_TABLE_P): New macro.
+       (struct Lisp_Uint16_Byte_Table): New structure.
+       (Lisp_Uint16_Byte_Table): New type.
+       (XUINT16_BYTE_TABLE): New macro.
+       (XSETUINT16_BYTE_TABLE): New macro.
+       (UINT16_BYTE_TABLE_P): New macro.
+       (GC_UINT16_BYTE_TABLE_P): New macro.
+
+2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
+       (Vcharacter_ideographic_strokes_table): Deleted.
+       (Vcharacter_total_strokes_table): Deleted.
+       (Vcharacter_morohashi_daikanwa_table): Deleted.
+       (Vcharacter_decomposition_table): Deleted.
+       (Qname): Deleted because it is duplicated.
+       (Qideographic_radical): Deleted.
+       (Qideographic_strokes): Deleted.
+       (Qtotal_strokes): Deleted.
+       (Qmorohashi_daikanwa): Deleted.
+       (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
+       `ideographic-radical', `ideographic-strokes', `total-strokes',
+       `morohashi-daikanwa' and `->decomposition'.
+       (Fget_char_attribute): Likewise.
+       (Fput_char_attribute): Likewise; use `make-vector' instead of
+       `make_older_vector' for `->decomposition' value.
+       (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
+       `ideograph-daikanwa'.
+       (syms_of_mule_charset): Delete builtin symbols `name',
+       `ideographic-radical', `ideographic-strokes', `total-strokes' and
+       `morohashi-daikanwa'.
+       (vars_of_mule_charset): Don't setup
+       `Vcharacter_ideographic_radical_table',
+       `Vcharacter_ideographic_strokes_table',
+       `Vcharacter_total_strokes_table',
+       `Vcharacter_morohashi_daikanwa_table' and
+       `Vcharacter_decomposition_table'.
+
+2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
+       `make_older_vector', `make_vector_newer_1' and
+       `make_vector_newer'.
+
+       * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
+       `make_older_vector' and `make_vector_newer'.
+
+       * config.h.in (HAVE_GGC): New macro.
+
+2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (struct char_attribute_list_closure): New
+       structure in UTF-2000.
+       (add_char_attribute_to_list_mapper): New function in UTF-2000.
+       (Fchar_attribute_list): Likewise.
+       (Fset_charset_mapping_table): Use `make_vector_newer'.
+       (Fdecode_builtin_char): New function in UTF-2000.
+       (syms_of_mule_charset): Add new function `char-attribute-list' and
+       `decode-builtin-char' in UTF-2000.
+
+       * lisp.h (make_vector_newer): New prototype.
+
+       * alloc.c (make_vector_newer_1): New function.
+       (make_vector_newer): New function.
+
+2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
+       50100)'.
+
+2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vchar_attribute_hash_table): New variable.
+       (Vcharacter_attribute_table): Deleted.
+       (Vcharacter_name_table): Deleted.
+       (put_char_attribute): Deleted.
+       (remove_char_attribute): Deleted.
+       (struct char_attribute_alist_closure): New structure.
+       (add_char_attribute_alist_mapper): New function.
+       (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
+       of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
+       (Fget_char_attribute): Likewise.
+       (Fput_char_attribute): Likewise.
+       (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
+       of `remove_char_attribute'.
+       (Fdefine_char): Return character.
+       (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
+       and `Vcharacter_name_table'.
+       (complex_vars_of_mule_charset): Likewise
+       `Vchar_attribute_hash_table'.
+
+2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * character.h (CHARC_CHARSET): New macro.
+       (CHARC_CHARSET_ID): New macro.
+       (CHARC_CODE_POINT): New macro.
+       (CHARC_COLUMNS): New macro.
+       (CHARC_TO_CHAR): New inline function.
+       (CHARC_EQ): New inline function.
+       (CHARC_ASCII_EQ): New inline function.
+       (CHARC_IS_SPACE): New inline function.
+       (ASCII_TO_CHARC): New inline function.
+
+       * char-ucs.h (encode_char_2): Deleted.
+       (ENCODE_CHAR): Use `encode_char_1' again.
+       (breakup_char_1): Likewise.
+       (CHAR_TO_CHARC): New inline function.
+
+       * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
+
+2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
+       `CHAR_TO_CHARC' and `CHARC_CHARSET'.
+       (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
+       (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
+       (create_string_text_block): Use `CHARC_ASCII_EQ' and
+       `CHARC_IS_SPACE'.
+       (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
+
+       * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
+       `CHARC_CODE_POINT'.
+       (x_output_display_block): Use `CHARC_CHARSET' and
+       `CHARC_ASCII_EQ'.
+
+       * redisplay-tty.c (tty_output_display_block): Use
+       `CHARC_ASCII_EQ'.
+       (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
+
+       * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
+
+       * insdel.c (find_charsets_in_charc_string): Use
+       `CHARC_CHARSET_ID'.
+       (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
+       (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
+       (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
+       (convert_charc_string_into_malloced_string): Likewise.
+
+2000-06-09  MORIOKA Tomohiko  <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-12-05  Martin Buchholz <martin@xemacs.org>
+
+       * XEmacs 21.2.38 is released.
+
+2000-12-05  Martin Buchholz  <martin@xemacs.org>
+
+       * symsinit.h: Add init_postgresql_from_environment.
+
+2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * regex.c: Convert to clean C.
+
+2000-12-05  Dan Holmsand  <dan@eyebee.com>
+
+       * realpath.c:
+       Don't #include sysfile.h. Revert to duplicating PATH_MAX
+       initialization.
+       (sys_readlink): renamed to system_readlink to avoid conflict with
+       the other sys_readlink.
+
+2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
+
+       * dumper.c (pdump_file_get): Correct uses of pdump_fd.
+
+2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * postgresql.c (init_postgresql_from_environment): new function.
+       (vars_of_postgresql): Move code initializing Lisp variables out and
+       into init_postgresql_from_environment.
+       emacs.c (main_1): Call init_postgresql_from_environment if and only
+       if running a dumped XEmacs.
+
+2000-08-31  Dan Holmsand  <dan@eyebee.com>
+
+       * buffer.c: Make find-file-compare-truenames default to true on
+       windows.
+
+       * realpath.c (win32_abs_start): 
+       (cygwin_readlink):
+       (win32_readlink): New functions.
+       (xrealpath): Return really real filenames on windows.
+
+       * fileio.c (Ffile_truename): Make file-truename work on windows.
+
+2000-11-29  Didier Verna  <didier@xemacs.org>
+
+       * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
+       * faces.c (update_face_cachel_data): use it.
+       * faces.c (add_face_cachel): use it. Complete background pixmap
+       frobbing in face cache if `update_face_cachel_data' has not done so.
+
+2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * search.c (string_match_1): Don't set last_thing_searched
+       when search failed.
+
+2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * buffer.c: Include casetab.h
+       (common_init_complex_vars_of_buffer): Use new case-table object.
+       * buffer.h: Include casetab.h
+       * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
+       (DOWNCASE_TABLE_OF): Ditto.
+       * bufslots.h: Remove char-tables and add case-table.
+       * casetab.c: Include casetab.h
+       (CASE_TABLE_P): Removed.
+       (mark_case_table): New function.
+       (allocate_case_table): New function.
+       (Fcase_table_p): Use new case-table.
+       (case_table_char): New function.
+       (Fget_case_table): Ditto.
+       (Fput_case_table): Ditto.
+       (Fput_case_table_pair): Ditto.
+       (Fcopy_case_table): Ditto.
+       (Fcurrent_case_table): Return case-table.
+       (Fstandard_case_table): Return case-table.
+       (Fset_case_table): Fix doc-string.
+       (set_case_table): Use case-table
+       (syms_of_casetab): DEFSUBR new functions.
+       (complex_vars_of_casetab): Set up standard case-table.
+       * casetab.h: New file.
+       * editfns.c: Include casetab.h
+       (Fcompare_buffer_substrings): Use case-table.
+       * inline.c: Include casetab.h
+       * lisp.h: Remove bogus extern.
+       * lrecord.h (lrecord_type): Add lrecord_type_case_table.
+       * search.c: Include casetab.h
+       (TRANSLATE_ASCII): Removed.
+       (TRANSLATE): Unconditionally translate character.
+       (looking_at_1): Use case-table.
+       (string_match_1): Ditto.
+       (fast_string_match): Ditto.
+       (search_command): Ditto.
+       (search_buffer): Separate boyer_moore.  Check whether
+       boyer_moore is poosible.
+       (simple_search): New function.
+       (boyer_moore): Separated from search_buffer. Translate char.
+
+2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * regex.c (RE_TR_ASCII): Removed.
+       (RE_TRANSLATE): Unconditionally use TRT_TABLE.
+       (PATFETCH): Call PATFETCH_RAW.
+       (PATFETCH_RAW): Fetch Emchar.
+       (PATUNFETCH): Decrement charptr.
+       (GET_BUFFER_SPACE): Rename b to buf_end.
+       (BUF_PUSH): Ditto.
+       (BUF_PUSH_2): Ditto.
+       (BUF_PUSH_3): Ditto.
+       (EXTEND_BUFFER): Ditto.
+       (SET_LIST_BIT): Ditto.
+       (regex_compile): Ditto.  Translate non ASCII char.
+       (compile_range): Ditto.
+       (re_search_2): Ditto.
+       (re_match_2_internal): Compare Emchar.
+       (bcmp_translate): Ditto.
+
+2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
+
+       * lisp.h (basic char/int typedefs):  comment improvement.
+
+2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
+
+       * emacs.c (main_1):  unconditional pdump unstomping; don't save and
+       unstomp inhibit_site_lisp.  Improve comments.
+
+2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
+
+       * mule-charset.c (Fcharset_property):  improve type checking, comments.
+
+2000-11-28  Andy Piper  <andy@xemacs.org>
+
+       * redisplay-output.c (redisplay_output_subwindow): make sure we do
+       clipped display for windows in the gutter also.
+       (redisplay_display_boxes_in_window_p): change semantics of return
+       codes to be more intuitive.
+
+       * gutter.h: declare display_boxes_in_gutter_p.
+
+       * gutter.c (display_boxes_in_gutter_p): new function for
+       redisplay.
+
+2000-11-22  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
+       autodetect domain.
+
+2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * callproc.c (Fold_call_process_internal):
+       * gpm.c (Freceive_gpm_event):
+       (tty_get_foreign_selection): Might be just warning supression.
+       * fileio.c (Fwrite_region_internal):
+       (Fset_visited_file_modtime):
+       * keymap.c (event_matches_key_specifier_p):
+       Initialize GCPROed variable.
+
+       * menubar-x.c (command_builder_find_menu_accelerator):
+       Initialize before use.
+
+2000-11-23  Andy Piper  <andy@xemacs.org>
+
+       * unexcw.c (unexec): make the resulting executable executable.
+
+2000-11-21  Martin Buchholz  <martin@xemacs.org>
+
+       * doc.c (get_doc_string):
+       Use size_t, not int, for result of XSTRING_LENGTH.
+
+       * cmds.c (Fdelete_char):
+       * cmds.c (Fpoint_at_eol):
+       * cmds.c (Fself_insert_command):
+       Use EMACS_INT, not int, for result of XINT.
+       Someday, someone will want to insert more than 2**31 identical characters.
+
+       * cmds.c (Fdelete_char):
+       * cmds.c (Fdelete_backward_char):
+       * syntax.c (Fforward_word):
+       * syntax.c (Fforward_comment):
+       Make COUNT argument optional, for consistency with forward-char et al.
+
+2000-11-22  Martin Buchholz  <martin@xemacs.org>
+
+       * lisp.h:
+       * print.c (long_to_string):
+       Return a useful value: the pointer at end of data written.
+
+       * doprnt.c:
+       Use `static const char * const' for constant strings.
+       (union printf_arg): Delete `i', `ui' members.
+       (get_doprnt_args):
+       (emacs_doprnt_1):
+       Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
+       Do all printf-ing via the `l' specifier.
+       Use EMACS_INT instead of int.
+       Optimize.
+
+2000-11-20  Didier Verna  <didier@xemacs.org>
+
+       * faces.c (update_face_cachel_data): don't frob the background
+       pixmap when the window is being created. The face is needed but
+       does not exist yet.
+
+2000-11-20  Andy Piper  <andy@xemacs.org>
+
+       * unexcw.c (copy_executable_and_dump_data_section): Only do bss
+       messing with a debug environment.
+
+2000-11-20  Martin Buchholz  <martin@xemacs.org>
+
+       * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
+
+2000-11-20  Martin Buchholz  <martin@xemacs.org>
+
+       * casetab.c (Fcase_table_p): Fix compile error and crash.
+
+2000-11-18  Philip Aston  <philipa@mail.com>
+
+       * s/cygwin32.h: Cygwin has SVR4-like pty support.
+
+2000-11-18  Martin Buchholz  <martin@xemacs.org>
+
+       * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
+       * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
+
+2000-11-17  Martin Buchholz  <martin@xemacs.org>
+
+       * config.h.in: Define HAVE_ELF_H if elf.h exists.
+       * unexelf.c: Use HAVE_ELF_H.
+       * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
+       I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
+       Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
+       Greg Harrington <greg_harrington@hotmail.com> provided a machine
+       for testing.
+       So this is an unexelfsgi.c from a different line of development.
+
+2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * regex.c (RE_TR_ASCII): New function.
+       (RE_TRANSLATE): Call it.
+
+2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * buffer.h (TRT_TABLE_OF): Remove assert.
+       (IN_TRT_TABLE_DOMAIN): Removed.
+
+2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
+
+       * free-hook.c (log_gcpro):
+       (show_gcprohist): Add support for GCPRO5.
+
+2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * emacs.c (main_1): Improve -sd error message when --pdump=no.
+
+2000-11-16  Olivier Galibert  <galibert@xemacs.org>
+
+       * symeval.h: Declare flush_all_buffer_local_cache.
+
+       * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
+       (flush_buffer_local_cache): Added.
+       (flush_all_buffer_local_cache): Added.
+
+       * lrecord.h: Remove unused XD_LO_RESET_NIL.
+
+       * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
+       (pdump_dump_data): Ditto.
+       (pdump_reloc_one): Ditto.
+       (pdump): Remove unused pdump_qnil.  Flush buffer local caches
+       before dumping.
+
+
+2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * buffer.c: Remove if 0'ed entry.
+       * buffer.h: Rewrite TRT to use char-table.
+       * bufslots.h: Remove mirror tables.
+       * casetab.c: Remove mirror tables.
+       (CASE_TABLE_P): New macro.
+       (Fcase_table_p): Element of a case table is string or char-table.
+       (make_mirror_trt_table): Removed.
+       (set_case_table): Setup char-table from strings for backward
+       compatibility.
+       * dired.c (Fdirectory_files):
+       * dired-msw.c: (mswindows_get_files):
+       * lisp.h: Change prototype of re_pattern_buffer.
+       * regex.c: (RE_TRANSLATE): New macro.
+       (TRANSLATE_P): Ditto.
+       Change translate to type RE_TRANSLATE_TYPE.
+       * regex.h: Define RE_TRANSLATE_TYPE
+       * search.c (TRANSLATE): New macro.
+       (TRANSLATE_ASCII): New macro.
+       Translate table is changed to Lisp_Object.
+       (signal_failure): Inhibit return.
+
+2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * device-msw.c:
+       * eldap.c:
+       * event-Xt.c:
+       * event-stream.c:
+       * print.c:
+       Do UNGCPRO before return.
+
+2000-11-14  Martin Buchholz <martin@xemacs.org>
+
+       * XEmacs 21.2.37 is released.
+
+2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
+       Add comments about discarded return value.
+
+2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * callint.c:
+       * event-stream.c: Fix comments.  Remove some #if 0'ed part.
+
+2000-10-27  Andy Piper  <andy@xemacs.org>
+
+       * gutter.c (Fset_default_gutter_position): default left and right
+       gutters to visible.
+       (calculate_gutter_size): calculate resonable heuristic for left
+       and right gutter sizes.
+       (specifier_vars_of_gutter): change left and right gutter sizes to
+       autodetect.
+       (calculate_gutter_size_from_display_lines): new function.
+       (output_gutter): check for resizing on left and right gutters.
+       (clear_gutter): don't special case top and left gutters.
+       (specifier_vars_of_gutter): use new signature for
+       set_specifier_caching.
+
+       * glyphs-x.c (x_redisplay_widget): spelling fix.
+       * glyphs.c (specifier_vars_of_glyphs):
+       * menubar.c (specifier_vars_of_menubar):
+       * redisplay.c (specifier_vars_of_redisplay):
+       * toolbar.c (specifier_vars_of_toolbar):
+       * window.c (specifier_vars_of_window):
+       * scrollbar.c (specifier_vars_of_scrollbar):
+       (complex_vars_of_scrollbar): use new signature for
+       set_specifier_caching.
+
+       * specifier.c (set_specifier_caching): include recompute flag.
+       (recompute_one_cached_specifier_in_window): always recompute if
+       flag set.
+       (recompute_one_cached_specifier_in_frame): ditto.
+
+       * specifier.h (struct specifier_caching): add recompute flag.
+
+2000-10-24  Andy Piper  <andy@xemacs.org>
+
+       * unexcw.c (copy_executable_and_dump_data_section): add new
+       BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
+       5.0 happy.
+
+2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * console-x.h (x_device): New member modifier_release_time.
+       * event-Xt.c (x_handle_sticky_modifiers):
+       Bound interval modifier keys are sticky.
+       * event-stream.c (Vmodifier_keys_sticky_time): New variable.
+       * events.h: extern it.
+
+2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
+
+2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * event-stream.c (execute_command_event): Preserve current_events
+       and the like when event is misc-user-event.
+       Inhibit quit during the call to maybe_echo_keys.
+
+2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
+       symlink when buffer is killed.
+       (inhibit_clash_detection): New variable.
+
+2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * console.c (Fset_input_method): Trigger redisplay on tty.
+
+2000-11-07  Martin Buchholz  <martin@xemacs.org>
+
+       * process.c (Fprocess_status): Revert to previous behavior:
+       (process-status "nosuchprocess") ==> nil
+
+2000-11-06  Martin Buchholz  <martin@xemacs.org>
+
+       * mule-charset.h (CHARSET_BY_LEADING_BYTE):
+       Work around another GCC 2.95.2 optimizer bug.
+
+2000-11-02  Martin Buchholz  <martin@xemacs.org>
+
+       * process.c (Fget_process): Use LIST_LOOP_2.
+       (kill_buffer_processes): Use LIST_LOOP_2.
+
+       * minibuf.c (Fall_completions):
+       Delete old non-functional code for FSF fourth argument.
+
+       * frame.c (frame_matches_frame_spec):
+       Renamed from `frame_matches_frametype'.  Update all callers.
+       (device_matches_device_spec):
+       Renamed from 'device_matches_console_spec'.  Update all callers.
+
+       * doc.c (Fsubstitute_command_keys):
+       Remove buffer overflow crash.  Small code cleanups.
+
+       * casetab.c (check_case_table): Simpler code.
+
+       * window.c (Freplace_buffer_in_windows):
+       Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
+       (and similar implementation) as Fdelete_windows_on.
+       Update all callers.
+
+       * alloc.c (Fmake_list):
+       * alloc.c (make_vector):
+       * alloc.c (Fmake_vector):
+       * alloc.c (make_bit_vector):
+       * alloc.c (Fmake_bit_vector):
+       * alloc.c (Fbit_vector):
+       * alloc.c (Fmake_string):
+       * alloc.c (Fpurecopy):
+       * alloc.c (Fmemory_limit):
+       * buffer.c:
+       * buffer.c (Fget_buffer):
+       * buffer.c (Fkill_buffer):
+       * buffer.c (complex_vars_of_buffer):
+       * bytecode.c (Fcompiled_function_stack_depth):
+       * callint.c (Fprefix_numeric_value):
+       * event-stream.c:
+       * event-stream.c (Fread_key_sequence):
+       * casetab.c:
+       * casetab.c (Fcase_table_p):
+       * casetab.c (check_case_table):
+       * casetab.c (Fset_case_table):
+       * casetab.c (Fset_standard_case_table):
+       * chartab.c:
+       * chartab.c (Fchar_table_type):
+       * chartab.c (Freset_char_table):
+       * chartab.c (Fget_char_table):
+       * chartab.c (Fget_range_char_table):
+       * chartab.c (Fput_char_table):
+       * chartab.c (Fmap_char_table):
+       * chartab.c (Fcategory_table_p):
+       * chartab.c (Fcheck_category_at):
+       * chartab.c (Fchar_in_category_p):
+       * chartab.c (Fcategory_table):
+       * chartab.c (Fcopy_category_table):
+       * chartab.c (Fset_category_table):
+       * chartab.c (Fcategory_designator_p):
+       * chartab.c (Fcategory_table_value_p):
+       * cmds.c (Fdelete_char):
+       * cmds.c (Fdelete_backward_char):
+       * cmds.c (Fself_insert_command):
+       * cmds.c (Fself_insert_internal):
+       * console.c (Fvalid_console_type_p):
+       * console.c (Fcdfw_console):
+       * console.c (Fconsole_type):
+       * console.c (Fconsole_name):
+       * console.c (Fconsole_device_list):
+       * console.c (Fconsole_on_window_system_p):
+       * data.c:
+       * data.c (Feq):
+       * data.c (Fold_eq):
+       * data.c (Fsubr_interactive):
+       * data.c (Fchar_to_int):
+       * data.c (Fint_to_char):
+       * data.c (Fsetcar):
+       * data.c (Fsetcdr):
+       * data.c (Fnumber_to_string):
+       * data.c (Fstring_to_number):
+       * data.c (Frem):
+       * database.c (mark_database):
+       * database.c (finalize_database):
+       * database.c (Fdatabase_live_p):
+       * database.c (Fdatabasep):
+       * device-x.c (Fx_get_resource):
+       * device.c (Fdfw_device):
+       * dired.c:
+       * dired.c (Ffile_name_completion):
+       * dired.c (Ffile_name_all_completions):
+       * dired.c (Fuser_name_completion):
+       * dired.c (Fuser_name_completion_1):
+       * dired.c (Fuser_name_all_completions):
+       * doc.c (Fdocumentation):
+       * doc.c (Fdocumentation_property):
+       * doc.c (Fsubstitute_command_keys):
+       * editfns.c:
+       * editfns.c (Fchar_to_string):
+       * editfns.c (Fstring_to_char):
+       * editfns.c (Ftemp_directory):
+       * editfns.c (Finsert_char):
+       * editfns.c (Fbuffer_substring_no_properties):
+       * editfns.c (Fnarrow_to_region):
+       * editfns.c (Fchar_equal):
+       * editfns.c (Fchar_Equal):
+       * editfns.c (Ftranspose_regions):
+       * emacs.c (Fdump_emacs):
+       * eval.c (Fthrow):
+       * eval.c (Fcommand_execute):
+       * eval.c (Fautoload):
+       * eval.c (Fbacktrace):
+       * eval.c (Fbacktrace_frame):
+       * events.c:
+       * events.c (Fcopy_event):
+       * events.c (Fcharacter_to_event):
+       * events.c (Fevent_button):
+       * events.c (Fevent_process):
+       * extents.c:
+       * extents.c (Fnext_extent_change):
+       * extents.c (Fextent_property):
+       * faces.c (Ffacep):
+       * faces.c (Fmake_face):
+       * file-coding.c:
+       * file-coding.c (Fencode_shift_jis_char):
+       * file-coding.c (Fencode_big5_char):
+       * fileio.c (Ffile_name_directory):
+       * fileio.c (Ffile_name_nondirectory):
+       * fileio.c (Ffile_name_as_directory):
+       * fileio.c (Fdirectory_file_name):
+       * fileio.c (Ffile_truename):
+       * fileio.c (Fsubstitute_in_file_name):
+       * fileio.c (Ffile_modes):
+       * fileio.c (Fset_file_modes):
+       * fileio.c (Fset_default_file_modes):
+       * fileio.c (Fverify_visited_file_modtime):
+       * floatfns.c (Facos):
+       * floatfns.c (Fasin):
+       * floatfns.c (Fatan):
+       * floatfns.c (Fcos):
+       * floatfns.c (Fsin):
+       * floatfns.c (Ftan):
+       * floatfns.c (Fbessel_j0):
+       * floatfns.c (Fbessel_j1):
+       * floatfns.c (Fbessel_jn):
+       * floatfns.c (Fbessel_y0):
+       * floatfns.c (Fbessel_y1):
+       * floatfns.c (Fbessel_yn):
+       * floatfns.c (Ferf):
+       * floatfns.c (Ferfc):
+       * floatfns.c (Flog_gamma):
+       * floatfns.c (Fexp):
+       * floatfns.c (Fexpt):
+       * floatfns.c (Flog):
+       * floatfns.c (Flog10):
+       * floatfns.c (Fsqrt):
+       * floatfns.c (Fcube_root):
+       * floatfns.c (Facosh):
+       * floatfns.c (Fasinh):
+       * floatfns.c (Fatanh):
+       * floatfns.c (Fcosh):
+       * floatfns.c (Fsinh):
+       * floatfns.c (Ftanh):
+       * floatfns.c (Fabs):
+       * floatfns.c (Ffloat):
+       * floatfns.c (Flogb):
+       * floatfns.c (Fceiling):
+       * floatfns.c (Ffloor):
+       * floatfns.c (Fround):
+       * floatfns.c (Ftruncate):
+       * floatfns.c (Ffceiling):
+       * floatfns.c (Fffloor):
+       * floatfns.c (Ffround):
+       * floatfns.c (Fftruncate):
+       * fns.c (Fstring_equal):
+       * fns.c (Fstring_lessp):
+       * fns.c (concat2):
+       * fns.c (concat3):
+       * fns.c (vconcat2):
+       * fns.c (vconcat3):
+       * fns.c (Fsubstring):
+       * fns.c (Fassoc):
+       * fns.c (Fold_assoc):
+       * fns.c (assoc_no_quit):
+       * fns.c (Fassq):
+       * fns.c (Fold_assq):
+       * fns.c (assq_no_quit):
+       * fns.c (Frassoc):
+       * fns.c (Fold_rassoc):
+       * fns.c (Frassq):
+       * fns.c (Fold_rassq):
+       * fns.c (rassq_no_quit):
+       * fns.c (Fremassoc):
+       * fns.c (remassoc_no_quit):
+       * fns.c (Fremassq):
+       * fns.c (remassq_no_quit):
+       * fns.c (Fremrassoc):
+       * fns.c (Fremrassq):
+       * fns.c (remrassq_no_quit):
+       * fns.c (Fsort):
+       * fns.c (Fplist_get):
+       * fns.c (Fplist_put):
+       * fns.c (Fplist_remprop):
+       * fns.c (Fplist_member):
+       * fns.c (Flax_plist_get):
+       * fns.c (Flax_plist_put):
+       * fns.c (Flax_plist_remprop):
+       * fns.c (Flax_plist_member):
+       * fns.c (Fequal):
+       * fns.c (Fold_equal):
+       * fns.c (Frequire):
+       * fns.c (Fbase64_encode_region):
+       * fns.c (Fbase64_encode_string):
+       * fns.c (Fbase64_decode_region):
+       * frame.c:
+       * frame.c (frame_matches_frame_spec):
+       * frame.c (device_matches_device_spec):
+       * frame.c (next_frame):
+       * frame.c (previous_frame):
+       * frame.c (Fnext_frame):
+       * frame.c (Fprevious_frame):
+       * frame.c (Fframe_property):
+       * frame.c (Fset_frame_height):
+       * frame.c (Fset_frame_size):
+       * frame.h:
+       * glyphs.c:
+       * glyphs.c (if):
+       * glyphs.c (decode_error_behavior_flag):
+       * glyphs.c (Fmake_image_instance):
+       * indent.c (Findent_to):
+       * intl.c (Fignore_defer_gettext):
+       * keymap.c (Fkeymapp):
+       * keymap.c (Flookup_key):
+       * lread.c:
+       * lread.c (Fload_internal):
+       * lread.c (Feval_buffer):
+       * lread.c (Feval_region):
+       * macros.c (Fexecute_kbd_macro):
+       * marker.c (set_marker_internal):
+       * marker.c (Fset_marker):
+       * marker.c (set_marker_restricted):
+       * marker.c (Fcopy_marker):
+       * marker.c (noseeum_copy_marker):
+       * menubar.c:
+       * menubar.c (Fpopup_menu):
+       * minibuf.c:
+       * mule-charset.c (Fcharset_name):
+       * mule-charset.c (Fchar_charset):
+       * mule-charset.c (Fchar_octet):
+       * mule-charset.c (Fsplit_char):
+       * mule-wnnfns.c (Fwnn_open):
+       * mule-wnnfns.c (Fwnn_dict_comment):
+       * mule-wnnfns.c (Fwnn_quit_henkan):
+       * mule-wnnfns.c (Fwnn_word_toroku):
+       * mule-wnnfns.c (Fwnn_word_sakujo):
+       * mule-wnnfns.c (Fwnn_word_use):
+       * mule-wnnfns.c (Fwnn_hindo_set):
+       * objects.c:
+       * objects.c (Fmake_color_instance):
+       * objects.c (Fmake_font_instance):
+       * print.c (Fwrite_char):
+       * process.c:
+       * process.c (mark_process):
+       * process.c (print_process):
+       * process.c (get_process_from_usid):
+       * process.c (Fprocessp):
+       * process.c (Fprocess_live_p):
+       * process.c (Fget_process):
+       * process.c (Fget_buffer_process):
+       * process.c (get_process):
+       * process.c (Fprocess_id):
+       * process.c (Fprocess_name):
+       * process.c (Fprocess_command):
+       * process.c (init_process_io_handles):
+       * process.c (start_process_unwind):
+       * process.c (Fstart_process_internal):
+       * process.c (Fopen_multicast_group_internal):
+       * process.c (Fset_process_window_size):
+       * process.c (read_process_output):
+       * process.c (send_process):
+       * process.c (Fprocess_tty_name):
+       * process.c (Fset_process_buffer):
+       * process.c (Fprocess_buffer):
+       * process.c (Fprocess_mark):
+       * process.c (set_process_filter):
+       * process.c (Fset_process_filter):
+       * process.c (Fprocess_filter):
+       * process.c (Fprocess_send_region):
+       * process.c (Fprocess_send_string):
+       * process.c (exec_sentinel):
+       * process.c (Fset_process_sentinel):
+       * process.c (Fprocess_sentinel):
+       * process.c (status_notify):
+       * process.c (Fprocess_status):
+       * process.c (Fprocess_exit_status):
+       * process.c (process_send_signal):
+       * process.c (Fprocess_send_eof):
+       * process.c (deactivate_process):
+       * process.c (remove_process):
+       * process.c (Fdelete_process):
+       * process.c (kill_buffer_processes):
+       * process.c (Fprocess_kill_without_query):
+       * process.c (Fprocess_kill_without_query_p):
+       * rangetab.c:
+       * rangetab.c (Fget_range_table):
+       * rangetab.c (Fput_range_table):
+       * rangetab.c (Fremove_range_table):
+       * rangetab.c (Fclear_range_table):
+       * search.c:
+       * search.c (Fskip_chars_forward):
+       * search.c (Fskip_chars_backward):
+       * search.c (Fskip_syntax_forward):
+       * search.c (Fskip_syntax_backward):
+       * search.c (search_command):
+       * search.c (Freplace_match):
+       * search.c (Fregexp_quote):
+       * select.c (Fown_selection_internal):
+       * select.c (Fselection_owner_p):
+       * select.c (Fselection_exists_p):
+       * select.c (Fget_selection_internal):
+       * specifier.c:
+       * symbols.c:
+       * symbols.c (Fintern):
+       * symbols.c (Fintern_soft):
+       * symbols.c (Funintern):
+       * symbols.c (Fapropos_internal):
+       * symbols.c (Fset_default):
+       * syntax.c:
+       * syntax.c (Fsyntax_table_p):
+       * syntax.c (Fcopy_syntax_table):
+       * syntax.c (Fset_syntax_table):
+       * syntax.c (Fchar_syntax):
+       * syntax.c (syntax_match):
+       * syntax.c (Fmatching_paren):
+       * syntax.c (Fforward_word):
+       * syntax.c (scan_lists):
+       * syntax.c (Fscan_lists):
+       * syntax.c (Fscan_sexps):
+       * syntax.c (Fparse_partial_sexp):
+       * toolbar.c (Fcheck_toolbar_button_syntax):
+       * tooltalk.doc:
+       * window.c:
+       * window.c (Fwindowp):
+       * window.c (Fwindow_live_p):
+       * window.c (Fwindow_point):
+       * window.c (Fdelete_window):
+       * window.c (Fnext_window):
+       * window.c (Fprevious_window):
+       * window.c (Fother_window):
+       * window.c (window_loop):
+       * window.c (Fget_lru_window):
+       * window.c (Fsplit_window):
+       * window.c (Fenlarge_window):
+       * window.c (Fenlarge_window_pixels):
+       * window.c (Fshrink_window):
+       * window.c (Fshrink_window_pixels):
+       * window.c (change_window_height):
+       * window.c (Fwindow_configuration_p):
+       * window.c (Fcurrent_window_configuration):
+       * window.h:
+       * casefiddle.c (casify_object):
+       * casefiddle.c (Fupcase):
+       * casefiddle.c (Fdowncase):
+       * casefiddle.c (Fcapitalize):
+       * casefiddle.c (Fupcase_initials):
+       * casefiddle.c (casify_region_internal):
+       * casefiddle.c (casify_region):
+       * casefiddle.c (Fupcase_region):
+       * casefiddle.c (Fdowncase_region):
+       * casefiddle.c (Fcapitalize_region):
+       * casefiddle.c (Fupcase_initials_region):
+       * casefiddle.c (Fupcase_word):
+       * casefiddle.c (Fdowncase_word):
+       * casefiddle.c (Fcapitalize_word):
+       Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
+       Replace 0 with '\0' when working with bytes.
+       Replace initial "(" with "\(" in docstrings.
+
+2000-11-01  Martin Buchholz  <martin@xemacs.org>
+
+       * config.h.in: Handle alloca with Compaq C on Alpha Linux.
+
+       * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
+
+2000-10-31  Martin Buchholz  <martin@xemacs.org>
+
+       * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
+
+2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
+       correctly.
+
+2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
+       (inhibit_auto_save_session): New variable.
+       (vars_of_fileio): Declare and initialize them.
+       * fileio.c (Fdo_auto_save): Don't create session file if
+       Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
+
+2000-10-31  Martin Buchholz  <martin@xemacs.org>
+
+       * sgiplay.c (play_internal): C++ compilability.
+       * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
+       * callproc.c (Fold_call_process_internal):
+       Remove unused vars `env', `first'.
+       * scrollbar.c (update_scrollbar_instance):
+       #### unused var `current_window'.
+       * redisplay-tty.c: Put currently unused vars insert_mode_on,
+       etc. within #ifdef NOT_YET.
+       * emacs.c: #### unused vars `initial_argc', `initial_argv'.
+       * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
+       * specifier.c (specifier_instance):
+       #### unused var `tag'.
+       Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
+
+2000-10-27  Martin Buchholz  <martin@xemacs.org>
+
+       * fns.c (Fbutlast):
+       * fns.c (list_sort):
+       * fns.c (Ffillarray):
+       * fns.c (bytecode_nconc2):
+       * fns.c (Fnconc):
+       * fns.c (mapcar1):
+       * fns.c (Fmapconcat):
+       Be pedantically 64-bit correct.  For the time when someone will
+       want to have a list with length > 2**32.
+
+       * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
+       Work around MIPSpro compiler bug.
+
+       * process-unix.c (unix_kill_child_process): Add snarky comment.
+       * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
+
+       * config.h.in: Oops, _getpt ==> _getpty
+
+2000-10-26  Martin Buchholz  <martin@xemacs.org>
+
+       * config.h.in:
+       * regex.c:
+       Use void*, not char*, as return type of alloca().
+
+       * alloc.c (free_marker): Side effect inside assert expression!
+
+2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
+
+       * mule-charset.c (Fset_charset_ccl_program): To check
+       if the given ccl program is valid, use setup_ccl_program()
+       instead of CHECK_VECTOR().
+       (Fmake_charset): Likewise.
+
+2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
+
+       * faces.c (get_extent_fragment_face_cache_index):
+       Fix cachel.merged_faces memory leak.
+
+2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
+
+       * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
+       Reset MSB of octets obtained by DECODE_SJIS
+       because of the incompatibility with Emacs.
+       (ccl_driver)<CCL_ENCODE_SJIS>:
+       Set MSB of octets before passing them to
+       ENCODE_SJIS because of the incompatibility
+       with Emacs.
+
+2000-10-18   Daiki Ueno  <ueno@unixuser.org>
+
+       * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
+       (DECLARE_LRECORD): Undo the last change.
+       (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
+
+2000-10-17   Daiki Ueno  <ueno@unixuser.org>
+
+       * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
+       the implementation to lrecord_implementations_table.
+
+2000-10-14   Daiki Ueno  <ueno@unixuser.org>
+
+       * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
+       initial value of `lrecord_type_##c_name' and
+       `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
+       (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
+       [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
+       [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
+       [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
+
+2000-10-17  Martin Buchholz  <martin@xemacs.org>
+
+       * miscplay.c (sndcnv8S_2mono):
+       (sndcnv2monounsigned):
+       (sndcnvULaw_2linear):
+       (sndcnv16swap):
+       Remove implementation-defined behavior.
+
+2000-10-12  Martin Buchholz  <martin@xemacs.org>
+
+       * input-method-xlib.c: Warning suppression.
+
+2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
+
+       * mule-ccl.c: Sync up with Emacs 21.0.90.
+       (ccl_driver)<CCL_TranslateCharacter>: Disabled.
+       Do nothing.
+       (ccl_driver)<CCL_TranslateCharacterConstTbl>:
+       Likewise.
+       (ccl_driver[WriteMultibyteChar2]): Bug fix.
+       Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
+       MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
+       leading char belongs to official 2-dimensional charset.
+       (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
+       write the given character as is.  Otherwise,
+       if it is a multibyte char, convert it by
+       non_ascii_set_charptr_emchar, then write it.
+       (CCL_WRITE_STRING): Likewise.
+       (ccl_get_compiled_code): New function.
+       (setup_ccl_program): When ccl_prog is invalid,
+       return -1.
+       (Fregister_code_conversion_map): New function.
+       (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
+
+       * mule-ccl.h: Sync up with Emacs 21.0.90.
+       (Fregister_ccl_program): export it.
+
+       * redisplay-msw.c (separate_textual_runs):
+       If ccl program is not valid, don't do ccl conversion.
+
+       * redisplay-x.c (separate_textual_runs): Ditto.
+
+       * file-coding.c (Fmake_coding_system):
+       When type is ccl and value is vector, register it
+       with a proper symbol.  And checks whether the
+       given ccl program is valid.
+       (mule_decode): When calling ccl_driver, if src indicates
+       NULL pointer, set an empty string instead.
+       (mule_encode): Likewise.
+
+2000-10-11  Martin Buchholz  <martin@xemacs.org>
+
+       The following large batch of changes gets us back to a state of
+       C++ compilability.  Extbyte is now a char, which means that
+       Extbyte * and Bufbyte * cannot be freely interchanged - a win!
+
+       * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
+
+       * sound.c (Fplay_sound): Type correctness.
+
+       * select-x.c (hack_motif_clipboard_selection): Type correctness.
+       (x_get_window_property): Type correctness.
+       (receive_incremental_selection): unsigned char ==> Extbyte
+       (selection_data_to_lisp_data): unsigned char ==> Extbyte
+       (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
+       (Fx_store_cutbuffer_internal): Type correctness.
+
+       * process-unix.c (try_to_initialize_subtty): Type correctness.
+
+       * objects-x.c (x_print_color_instance): Type correctness.
+       (x_print_font_instance): Type correctness.
+       (x_list_fonts): SExtbyte ==> Extbyte.
+       (valid_x_font_name_p): SExtbyte ==> Extbyte.
+       (x_find_charset_font): SExtbyte ==> Extbyte.
+       Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
+       (truename_via_XListFonts): SExtbyte ==> Extbyte.
+       (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
+       Use bufbyte_strcmp.
+
+       * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
+       (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
+       (BYTE_ASCII_P): Use bit ops for char-signedness safety.
+       (BYTE_C0_P): Use bit ops for char-signedness safety.
+       (BYTE_C1_P): Use bit ops for char-signedness safety.
+       (CHARSET_BY_LEADING_BYTE):
+       (CHARSET_BY_ATTRIBUTES):
+       Always use inline function.
+       Use type_checking_assert.
+       Hide chlook.
+
+       * mule-charset.c (non_ascii_charptr_copy_char):
+       Modify to work with both ASCII and non-ASCII characters.
+       Improve docs and variable names.
+       Replace over-clever fall-through switch with a simple loop.
+       (Lstream_get_emchar_1):
+       Replace over-clever fall-through switch with a simple loop.
+
+       * menubar-x.c (menu_item_descriptor_to_widget_value_1):
+       Warning suppression.
+
+       * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
+       the return value of Lstream_getc, which could be EOF as well.
+
+       * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
+
+       * lisp.h: Make Extbyte a char, not unsigned char, so that external
+       APIs can be used on Extbytes without casts.  Risky!
+       (SExtbyte): Remove.
+       (UExtbyte): Remove.
+
+       * input-method-xlib.c (XIM_init_device):
+       Use Xlib.h instead of IntrinsicP.h.
+       Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
+       which will break in X11R7.
+       Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
+       to call XRegisterIMInstantiateCallback with correct types.
+
+       * gui-x.c (button_item_to_widget_value): Type correctness.
+
+       * glyphs.c (bitmap_to_lisp_data):  Type correctness.
+
+       * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
+       (xbm_instantiate_1): Type correctness.
+       (BUILD_GLYPH_INST):  Type correctness.
+
+       * fileio.c (Fsubstitute_in_file_name): Type correctness.
+
+       * file-coding.c:
+       (decode_coding_sjis):
+       (decode_coding_big5):
+       (decode_coding_ucs4):
+       (decode_coding_utf8):
+       (decode_coding_iso2022):
+       (decode_coding_no_conversion):
+       Make all decoding functions take an Extbyte * arg.
+       (encode_coding_sjis):
+       (encode_coding_big5):
+       (encode_coding_ucs4):
+       (encode_coding_utf8):
+       (encode_coding_iso2022):
+       (encode_coding_no_conversion):
+       Make all encoding functions take a Bufbyte * arg.
+       Use size_t instead of unsigned int for memory sizes.
+       Only cast to unsigned char whenever dereferencing Extbyte *.
+
+       * doc.c (unparesseuxify_doc_string): Type correctness.
+
+       * console-x.c (split_up_display_spec):
+       Rewrite without using details of internal string representation.
+       (x_semi_canonicalize_device_connection): Type correctness.
+
+       * config.h.in:
+       (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
+       (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
+       (HAVE_XFREE386): Removed.
+
+       * buffer.h (DEC_CHARPTR): `const' correctness.
+       (bufbyte_strcmp): New.
+       (bufbyte_memcmp): New.
+
+       * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
+
+       * buffer.h (XCHAR_OR_CHAR_INT):
+       Always use inline function.
+       Remove redundant type checking assert() - XINT will abort quite nicely.
+
+2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * search.c (Freplace_match): Set newtext to an empty string.
+
+2000-10-10  Martin Buchholz  <martin@xemacs.org>
+
+       * s/decosf1-3.h: Remove #include of stropts.h
+       * s/ptx.h: Remove #include of stropts.h
+       * s/usg5-4.h: Remove #include of stropts.h
+       * sysproc.h:
+       * config.h.in:
+       Use stropts.h, not sys/stropts.h.
+       Use strtio.h, not sys/strtio.h.
+
+2000-10-04  Martin Buchholz <martin@xemacs.org>
+
+       * XEmacs 21.2.36 is released.
+
+2000-09-21  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-x.c (x_redisplay_widget): make sure non-structural
+       changes still involve copying the widget tree.
+       (update_widget_face): make sure a change is register in the widget
+       tree. Call update_tab_widget_face appropriately.
+       (update_tab_widget_face): ditto.
+       (x_tab_control_redisplay): make sure non-structural changes still
+       involve copying the widget tree.
+
+2000-08-31   Daiki Ueno  <ueno@unixuser.org>
+
+       * lread.c (locate_file): Check the path element is non-nil.
+
+2000-10-02  Martin Buchholz  <martin@xemacs.org>
+
+       * lisp.h: Warning suppression for SCO compilers.
+
+       * redisplay-tty.c (reset_tty_modes): Fix crash.
+       E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
+
+2000-09-27  Martin Buchholz  <martin@xemacs.org>
+
+       Big signal/process handling overhaul.  Bugs fixed:
+       M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
+       M-x comint-kill-subjob should work for both values nil and t of
+       process-connection-type. It was broken on most platforms.
+       Testing on Irix and Cygwin still needed.  Other plaforms tested.
+       * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
+       * process-unix.c: Signal/Process handling overhaul.
+       (pty_name): make 64 bytes, as `expect' does, for paranoia.
+       (allocate_pty): Use all available modern methods of allocating
+       ptys, falling back to old style BSD allocation as a last resort.
+       Use allegedly more secure Unix98 pty allocation by default.
+       (allocate_pty_the_old_fashioned_way): New. the last resort.
+       (unix_create_process): Push ptem, ldterm, ttcompat where
+       available.  Autoconfiscate.
+       (try_to_initialize_subtty): New.
+       (unix_kill_child_process): Proper signal handling for ptys on most
+       platforms, using special knowledge of AIX, BSD, etc...
+       (unix_create_process): Always disconnect_controlling_terminal() for
+       subprocesses, whether using ptys or not.
+       * process.h: Remove old getpt-dependent PTY code.
+       * process.c (Fprocess_send_signal): New, obvious generic function.
+       (decode_signal): New.
+       (Finterrupt_process):
+       (Fkill_process):
+       (Fquit_process):
+       (Fstop_process):
+       (Fcontinue_process):
+       (Fsignal_process): Use decode_signal.
+       (process_send_signal):
+       Many docstring corrections.
+       Allow any signal to be sent to a process object.
+       * config.h.in: Add symbols for big signal/process overhaul.
+       * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
+       * sysproc.h: Include process-related headers, where available:
+       sys/stropts.h sys/strtio.h pty.h libutil.h
+       * s/irix4-0.h:
+       * s/irix5-0.h:
+       * s/cygwin32.h:
+       * s/gnu.h:
+       * s/linux.h:
+       * s/hpux.h:
+       * s/aix3-1.h:
+       Remove old S&M pty stuff.
+       * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
+       * systty.h: Simplify cpp hackery, improve comments.
+       Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
+
+       * editfns.c (Fformat_time_string):
+       Be a little more paranoid with the return value of ctime.
+
+       * fileio.c (check_executable):
+       (check_writable):
+       Use symbolic constants X_OK, W_OK.
+
+       * console-x.c (split_up_display_spec): Fix a warning.
+
+2000-10-02  Martin Buchholz  <martin@xemacs.org>
+
+       * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
+       * ntproc.c (sys_spawnve): make_string ==> build_string
+       Small clarity improvements.
+
+2000-09-30  Martin Buchholz  <martin@xemacs.org>
+
+       * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
+
+       * s/windowsnt.h (HAVE_STRCASECMP): Remove.
+
+       * config.h.in (HAVE_STRCASECMP): Remove.
+
+2000-09-29  Martin Buchholz  <martin@xemacs.org>
+
+       * redisplay-output.c (redisplay_output_pixmap):
+       Cleaner and possibly more 64-bit correct code.
+
+2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * dumper.c (pdump_load_finish): move restoration of
+       `noninteractive1' to emacs.c (main_1).
+       * emacs.c (main_1): protect LISP-visible command-line flags
+       from pdump_load().
+
+2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * Makefile.in.in (versionclean):  Use EXE_TARGET and
+       DUMP_TARGET instead of literal program names.
+
+2000-09-20  Martin Buchholz  <martin@xemacs.org>
+
+       * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
+
+2000-09-19  Martin Buchholz  <martin@xemacs.org>
+
+       * *: Spelling mega-patch
+
+2000-09-19  Martin Buchholz  <martin@xemacs.org>
+
+       * fns.c (bad_bad_turtle):
+       Delete "Eek!" comment, since we fixed the bug to which it refers.
+
+2000-09-16  Martin Buchholz  <martin@xemacs.org>
+
+       * alloca.c: Replace REGISTER with register.
+
+2000-09-16   Daiki Ueno  <ueno@unixuser.org>
+
+       * file-coding.c (ucs_to_char): Use countof.
+
+2000-09-16  Martin Buchholz  <martin@xemacs.org>
+
+       * file-coding.c: (ucs_to_char):
+       (complex_vars_of_file_coding):
+       Use countof instead of sizeof.
+       Use CHECK_NATNUM instead of CHECK_INT.
+
+       * sysdep.c (strcasecmp): Remove.
+       * device-x.c (ascii_strcasecmp): New.
+       * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
+       Avoid using non-standard non-portable strcasecmp.
+
+2000-09-16  Martin Buchholz  <martin@xemacs.org>
+
+       * Makefile.in.in (mostlyclean): remove reference to prefix-args.
+       * font-lock.c: remove reference to emacsfns.h.
+       * search.c: small doc improvement.
+       * event-Xt.c: correct file names in comments.
+       * console-x.h Correct file names in comments.
+       * frame.c: Correct file names in comments.
+       * event-stream.c: remove Energize from comments.
+
+2000-09-15  Martin Buchholz  <martin@xemacs.org>
+
+       * symeval.h (DEFERROR_STANDARD):
+       (DEFERROR):
+       (DEFSYMBOL):
+       (DEFSYMBOL_NO_DUMP):
+       (DEFSYMBOL_MULTIWORD_PREDICATE):
+       (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
+       (DEFKEYWORD):
+       The construct &##name is not sensible C.
+       Fixes compilation errors with Unixware native compiler.
+
+2000-09-14  Martin Buchholz  <martin@xemacs.org>
+
+       * frame.c (device_matches_console_spec): no longer takes a `frame' arg
+       (next_frame_internal): Removed.  We now just have next_frame.
+       (next_frame):
+       Write a simpler and cleaner one-pass algorithm.
+       Remove called_from_delete_device arg and #ifdefed-out code.
+       (previous_frame):
+       Renamed from prev_frame.  Update callers.
+       Cleaned up to have an analogous implementation to next_frame.
+       (other_visible_frames_internal): Remove the
+       called_from_delete_device bogus arg, and hence, remove this
+       function.  Just use other_visible_frames().
+
+       * window.c (Fnext_window):
+       Prettify docstring.
+       Since next_frame() is guaranteed to return a frame, remove check
+       for nil inserted in previous patch.
+       (Fprevious_window):
+       Prettify docstring.
+       Make code look more like Fnext_window.
+       (window_loop):
+       Respect the `console' arg when iterating through windows.
+       Fixes bug: (get-buffer-window buffer t device) not respecting
+       the `device' arg.
+       This function needs more work, as others have pointed out.
+
+       * frame.h: Rename prev_frame to previous_frame.
+       device_matches_console_spec no longer takes a `frame' arg.
+
+       * s/gnu.h:
+       * s/linux.h:
+       * s/hpux.h:
+       Use EMACS_BLOCK_SIGNAL instead of sigblock.
+       From "Golubev I. N." <gin@mo.msk.ru>.
+
+       * make-src-depend: Fix typo.
+
+2000-09-13  Martin Buchholz  <martin@xemacs.org>
+
+       * window.c (Fnext_window):
+       next_frame() might return nil, not a frame.
+       Fixes this crash:
+       (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
+
+       * frame.c (next_frame_internal):
+       We've passed a frame if we've passed its device.
+       Fixes this crash:
+       (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
+Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
+
+2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
+
+       * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
+       Allow option to suppress accelerators in menu/dialog items.
+       (populate_or_checksum_helper): Pass dialog title through above.
+
+2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
+
+       * event-msw.c (mswindows_key_to_emacs_keysym):
+       Add "pause" key, fix "menu" key.
+
+2000-09-09  Martin Buchholz  <martin@xemacs.org>
+
+       * eval.c (reinit_vars_of_eval):
+       Increase max_lisp_eval_depth to 1000,
+       required for thai-xtis.el to byte-compile under some circumstances.
+
+2000-09-04  Martin Buchholz  <martin@xemacs.org>
+
+       * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
+       From Kenichi Handa.
+
+2000-09-01  Martin Buchholz  <martin@xemacs.org>
+
+       * make-src-depend: Make the generated Makefiles smaller.
+
+       * s/hpux.h (SETUP_SLAVE_PTY):
+       Provide a %d in the format string for the errno argument.
+
+       * editfns.c (Ftemp_directory):
+       Warning fix.
+       Avoid buffer overrun on very long file name.
+
+       * input-method-xlib.c (XIM_init_device):
+       6th parameter of XRegisterIMInstantiateCallback has different
+       pointer types on different OSes, so simply cast to (void *).
+
+       * unexhp9k800.c: Warning fixes.  Fiddly changes.
+
+       * sysdll.c (dll_open):
+       shl_load will hang hard if passed a NULL filename.
+       Simply return NULL for compatibility with dlopen.
+       * sysdll.c: Conform to XEmacs coding standards.
+
+       * sysdep.c (get_pty_max_bytes):
+       Support pty input lines longer than 512 bytes on HP-UX 10.20.
+
+2000-08-31  Martin Buchholz  <martin@xemacs.org>
+
+       * tooltalk.c: Add #include <syssignal.h>
+
+2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
+
+       * s/hpux.h: Don't use undefined function sigunblock().
+
+2000-08-31  Martin Buchholz  <martin@xemacs.org>
+
+       * config.h.in: Add HAVE_BALLOON_HELP.
+       * emacs.c: Use HAVE_BALLOON_HELP.
+       * Makefile.in.in (x_objs):
+       Make Balloon Help conditional on finding shape.h.
+
+2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * syntax.c (regex_emacs_buffer_p): New variable.
+       * syntax.h (regex_emacs_buffer_p): extern.
+       * search.c (looking_at_1):
+       (string_match_1):
+       (fast_string_match):
+       (search_buffer): Set regex_emacs_buffer_p.
+       * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
+       when before_dot, at_dot, after_dot.
+
+2000-08-23  Andy Piper  <andy@xemacs.org>
+
+       * gui-x.c (popup_selection_callback): Only set action_occurred
+       when we really have an image instance.
+       * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
+
+2000-08-23  Andy Piper  <andy@xemacs.org>
+
+       * gui-msw.c (mswindows_handle_gui_wm_command): set
+       action_occurred.
+       * gui-x.c (popup_selection_callback): ditto.
+
+       * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
+       (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
+       (struct Lisp_Image_Instance): add action_occurred flag.
+
+       * glyphs.c (redisplay_subwindow): use action_occurred flag.
+       (image_instance_changed): ditto.
+       (reset_frame_subwindow_instance_cache): only unmap windows - do
+       not remove them from the cache also.
+
+       * glyphs-widget.c (tab_control_update): better debug.
+       (progress_gauge_update): ditto.
+       (layout_update): ditto.
+       (layout_instantiate): ditto.
+       (tab_control_order_only_changed): cope with null pending items.
+
+       * glyphs-msw.c (mswindows_tab_control_redisplay): add better
+       debug. Force selection of an item when an action occurred. Cope
+       with null pending_items.
+       (mswindows_progress_gauge_redisplay): better debug.
+       * glyphs-x.c (x_tab_control_redisplay): ditto.
+
+       * redisplay.c (redisplay_frame): reset the frame cache if the
+       frame is garbaged.
+
+       * window.c (Fset_window_configuration): potentially re-enable
+       frame cache reset.
+       (window_unmap_subwindows): need to finalize instances here since
+       it is only used in mark_window_as_deleted.
+
+2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * nas.c (SndOpenDataForReading):
+       nas.c (WaveOpenDataForReading):
+       nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
+       Somehow escaped from the 2000-08-14 patch.
+
+2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
+       of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
+
+2000-08-21  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
+       window if it is not already displayed.
+
+       * glyphs-msw.c (mswindows_map_subwindow): only map the window if
+       it is not already displayed.
+
+       * window.c (Fset_window_configuration): don't reset the frame
+       cache.
+
+       * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
+       instances from the frame cache if we are actually finalizing them.
+       (reset_frame_subwindow_instance_cache): reset frame cache only
+       after unmapping everything.
+       (map_subwindow): set displayed flag after mapping.
+
+2000-08-21  Martin Buchholz  <martin@xemacs.org>
+
+       * data.c (indirect_function):
+       Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
+
+       * eval.c (function_argcount):
+       Use original function when signaling errors.
+
+2000-08-18  Andy Piper  <andy@xemacs.org>
+
+       * frame.c (delete_frame_internal): use new
+       free_frame_subwindow_instances name.
+
+       * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
+       (add_tab_item): make return type correct.
+       (mswindows_tab_control_instantiate): assert index of tab.
+       (mswindows_tab_control_redisplay): Re-code to use
+       gui_item_equal_sans_selected and gui_item_list_find_selected.
+
+       * glyphs-widget.c (tab_control_update): Correct comment.
+
+       * window.c (window_unmap_subwindows): use new
+       unmap_subwindow_instance_cache_mapper.
+       (window_unmap_subwindows_cache_mapper): deleted.
+       (Fset_window_configuration): comparisons should now be with
+       EQ. Preserve the subwindow instance cache across configuration
+       changes.
+       (allocate_window): ditto.
+       (make_dummy_parent): ditto.
+
+       * glyphs.c (free_frame_subwindow_instances): rename from
+       free_frame_subwindow_instance_cache. finalize all instances rather
+       than just those in the display cache.
+       (finalize_all_subwindow_instances): walk windows unmapping and
+       finalizing subwindows.
+       (unmap_subwindow_instance_cache_mapper): moved from
+       window.c. Allow finalization as well as unmapping.
+
+       * gui.c (gui_item_list_find_selected): new function.
+
+       * gui.h (gui_item_list_find_selected): declare.
+
+       * glyphs-x.c (x_tab_control_redisplay): pick tab
+       explicitly. Re-code to use gui_item_equal_sans_selected and
+       gui_item_list_find_selected.
+
+       * glyphs-x.h: add lwlib-utils.h
+
+       * buffer.c (Frecord_buffer): undo previous change.
+
+2000-08-09  Vin Shelton  <acs@xemacs.org>
+
+       * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
+       possible.  Create temporary files more securely.  The patch was
+       generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
+       <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
+       http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
+       for details.
+
+2000-08-07  Ben Wing  <ben@xemacs.org>
+
+       * getloadavg.c: remove duplicate (and windows-breaking)
+       includes of fcntl.h and sys/file.h.
+
+       * nt.c: remove duplicate getloadavg() definition.
+
+       * sysdll.h (Qdll_filename_encoding): add missing stand-in
+       encodings.
+
+2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
+
+       * eval.c (function_argcount): If function needs to be autoloaded
+       actually use the loaded definition.
+       GCPRO function.
+
+2000-08-05  Ben Wing  <ben@xemacs.org>
+
+       * getloadavg.c: add prototype for getloadavg().  remove
+       duplicate WIN32_NATIVE/CYGWIN code (already in the middle
+       of the code).  remove duplicate header includes.
+
+       * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
+
+       * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
+       don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
+       useful load average.
+
+       * alloc.c (reinit_alloc_once_early): removed references to
+       VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
+       the lisp vars are the only things referencing the malloc_sbrk_*
+       vars, and they were already if 0'd out.  these vars only exist
+       in the older malloc.c, which is basically unused, and they're
+       only for informational purposes.
+
+       * m\*.h: removed useless VIRT_ADDR_VARIES.
+
+       * m\powerpc.h: removed stray NO_ARG_ARRAY.
+
+2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
+
+        * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
+        color if the image is a mono pixmap.
+
+2000-07-30  Ben Wing  <ben@xemacs.org>
+
+       * Makefile.in.in (release):
+       Remove stray @.
+
+       * buffer.c (directory_is_current_directory):
+       * dired-msw.c (mswindows_get_files):
+       * dired.c:
+       * dired.c (Fdirectory_files):
+       * dired.c (file_name_completion_stat):
+       * dired.c (Ffile_attributes):
+       [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
+       preprocessor tricks, to avoid problems on some machines
+       (e.g. SCO).
+
+       * callproc.c (egetenv): GC docs.
+
+       * console-msw.h:
+       * console-msw.h (struct mswindows_dialog_id):
+       * lrecord.h (lrecord_type):
+       New object for use with MSW dialogs.
+
+       * console.h (struct console_methods):
+       New enable/disable frame methods, for proper modal dialogs.
+
+       * device-msw.c (msprinter_default_printer): Fix to follow
+       proper Mule conventions.
+
+       * device-msw.c:
+       * device-msw.c (signal_open_printer_error):
+       * device-msw.c (msprinter_init_device):
+       * device-msw.c (ensure_not_printing):
+       * device-msw.c (plist_get_margin):
+       * device-msw.c (Fmsprinter_select_settings):
+       * device-msw.c (finalize_devmode):
+       * device-msw.c (Fmsprinter_settings_despecialize):
+       * device-msw.c (signal_enum_priner_error):
+       * extents.c (decode_extent):
+       * extents.c (decode_map_extents_flags):
+       * extents.c (decode_extent_at_flag):
+       * extents.c (Fextent_at):
+       * extents.c (Fextents_at):
+       * extents.c (symbol_to_glyph_layout):
+       [[[[2]]]] Use structured errors.
+
+       * dialog-msw.c:
+       * dialog-msw.c (mswindows_is_dialog_msg):
+       * dialog-msw.c (mark_mswindows_dialog_id):
+       * dialog-msw.c (dialog_proc):
+       * dialog-msw.c (handle_question_dialog_box):
+       * dialog-msw.c (syms_of_dialog_mswindows):
+       Define new object to clean up marking; use it as a dialog identifier.
+       Call new delete-dialog-box-hook.
+
+       * dialog-x.c (dbox_selection_callback):
+       * dialog-x.c (dbox_descriptor_to_widget_value):
+       * dialog-x.c (x_make_dialog_box_internal):
+       Call new delete-dialog-box-hook.
+       Return an id.
+
+       * dialog.c:
+       * dialog.c (syms_of_dialog):
+       * dialog.c (vars_of_dialog):
+       Define new delete-dialog-box-hook, for use w/modal dialog boxes.
+
+       * eval.c:
+       * eval.c (signal_call_debugger):
+       when noninteractive, output stack traces on the console instead
+       of in a (never-seen) buffer.
+
+       * eval.c (signal_type_error):
+       * eval.c (invalid_argument_2):
+       * lisp.h:
+       new funs for use w/structured errors.
+
+       * event-Xt.c:
+       * event-Xt.c (x_to_emacs_keysym):
+       * event-Xt.c (describe_event):
+       * event-Xt.c (emacs_Xt_event_handler):
+       * event-Xt.c (vars_of_event_Xt):
+       * event-msw.c:
+       * event-msw.c (mswindows_wnd_proc):
+       * event-msw.c (vars_of_event_mswindows):
+       rename {x,mswindows}-debug-events to debug-{}-events for
+       consistency with other debug-foo variables.
+
+       * event-stream.c:
+       document next-event more clearly.
+
+       * fileio.c (Ffile_name_directory):
+       * fileio.c (Ffile_name_nondirectory):
+       * fileio.c (Funhandled_file_name_directory):
+       * fileio.c (file_name_as_directory):
+       * fileio.c (Ffile_name_as_directory):
+       * fileio.c (directory_file_name):
+       * fileio.c (Fdirectory_file_name):
+       * fileio.c (Fmake_temp_name):
+       * fileio.c (Ffile_truename):
+       * fileio.c (Fsubstitute_in_file_name):
+       * fileio.c (expand_and_dir_to_file):
+       * fileio.c (barf_or_query_if_file_exists):
+       * fileio.c (check_executable):
+       * fileio.c (Ffile_exists_p):
+       * fileio.c (Ffile_writable_p):
+       * fileio.c (Ffile_directory_p):
+       * fileio.c (Ffile_regular_p):
+       * fileio.c (Ffile_modes):
+       * fileio.c (Ffile_newer_than_file_p):
+       * fileio.c (Fverify_visited_file_modtime):
+       * fileio.c (Fset_visited_file_modtime):
+       * fileio.c (auto_save_1):
+       (1). (2).
+       fix up gcpro's.
+
+       * frame-msw.c:
+       * frame-msw.c (mswindows_init_frame_1):
+       * frame-msw.c (mswindows_enable_frame):
+       * frame-msw.c (error_frame_unsizable):
+       * frame-msw.c (msprinter_init_frame_1):
+       * frame-msw.c (msprinter_init_frame_3):
+       * frame-msw.c (console_type_create_frame_mswindows):
+       (2).
+       implement new enable/disable frame methods.
+
+       * frame-x.c:
+       * frame-x.c (x_enable_frame):
+       * frame-x.c (console_type_create_frame_x):
+       implement new enable/disable frame methods.
+
+       * frame.c:
+       * frame.c (Fdisable_frame):
+       * frame.c (syms_of_frame):
+       * frame.h (struct frame):
+       implement new enable/disable frame methods/functions.
+
+       * general-slots.h:
+       add initial-focus.
+
+       * glyphs-msw.c (mswindows_widget_instantiate):
+       comment that initial-focus should be implemented.
+
+       * glyphs-widget.c:
+       * glyphs-widget.c (check_valid_instantiator):
+       * glyphs-widget.c (check_valid_orientation):
+       * glyphs-widget.c (check_valid_tab_orientation):
+       * glyphs-widget.c (check_valid_justification):
+       * glyphs-widget.c (check_valid_border):
+       * glyphs-widget.c (check_valid_callback):
+       * glyphs-widget.c (check_valid_int_or_function):
+       * glyphs-widget.c (check_valid_string_or_vector):
+       * glyphs-widget.c (check_valid_item_list_1):
+       * glyphs-widget.c (widget_validate):
+       * glyphs-widget.c (combo_box_validate):
+       * glyphs-widget.c (widget_instantiate):
+       * glyphs-widget.c (syms_of_glyphs_widget):
+       * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
+       * glyphs-widget.c (image_instantiator_combo_box):
+       * glyphs-widget.c (image_instantiator_scrollbar):
+       * glyphs-widget.c (image_instantiator_tab_control):
+       * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
+       (2).
+       support (unimplemented) keyword initial-focus.
+       reindent long macros.
+
+       * glyphs-x.c (x_redisplay_widget):
+       * glyphs-x.c (x_button_instantiate):
+       * glyphs-x.c (x_button_redisplay):
+       * 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):
+       * gui-x.c:
+       * 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):
+       * gui-x.h:
+       * menubar-x.c (menu_item_descriptor_to_widget_value_1):
+       add new flag to gui-parsing routines to indicate whether
+       accelerator specs should be supported.
+
+       * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
+
+       * glyphs.h (struct Lisp_Image_Instance):
+       * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
+       add initial-focus flag.
+
+       * gui.c:
+       * gui.c (syms_of_gui):
+       * gui.c (vars_of_gui):
+       clean up menu-no-selection-hook.
+
+       * gui.h:
+       support delete-dialog-box-hook.
+
+       * lread.c (Fload_internal):
+       * lread.c (locate_file_in_directory_mapper):
+       (1).
+
+       * lrecord.h:
+       * lrecord.h (struct toolbar_button):
+       * lrecord.h (syms_of_toolbar):
+       document how to create a new object.
+
+       * menubar-msw.c (mswindows_char_is_accelerator):
+       may be called on frames w/o menus.
+
+       * menubar.c (vars_of_menubar):
+       clean up :filter docs.
+
+       * nt.c (readdir):
+       * ntproc.c:
+       (1).
+
+       * process-nt.c:
+       * process-nt.c (validate_signal_number):
+       * process-nt.c (signal_cannot_launch):
+       * process-nt.c (nt_create_process):
+       * process-nt.c (nt_send_process):
+       * process-nt.c (nt_kill_child_process):
+       * process-nt.c (nt_open_network_stream):
+       * process-nt.c (syms_of_process_nt):
+       (2).
+       delete quote-handling.  call new lisp code that does it better.
+
+       * process-unix.c (connect_to_file_descriptor):
+       * process-unix.c (allocate_pty):
+       * process-unix.c (unix_send_process):
+       * process-unix.c (unix_kill_child_process):
+       * process-unix.c (unix_open_network_stream):
+       * process-unix.c (unix_open_multicast_group):
+       (1). (2).
+
+       * process.c:
+       * process.c (Fstart_process_internal):
+       (2).  need to canonicalize process path even if absolute.
+
+       * select-msw.c (symbol_to_ms_cf):
+       * select-msw.c (ms_cf_to_symbol):
+       * select-msw.c (cf_is_autofreed):
+       * select-msw.c (mswindows_destroy_selection):
+       * select.c:
+       * select.c (syms_of_select):
+       * select.h:
+       support dibv5, fix bugs. (from Mike Alexander)
+
+       * select.c (Fget_selection_internal):
+       * select.c (select_convert_out):
+
+       * sysdep.c:
+       * sysdep.c (xemacs_stat):
+       renamed.
+
+       * sysdep.c (mkdir):
+       * sysdep.c (rmdir):
+       but keep original stat() here because we provide encapsulation
+       around these funs.
+
+       * sysfile.h:
+       * sysfile.h (fstat):
+       remove stat garbage.
+
+       * syswindows.h:
+       fix X/MSW conflict.
+       don't include tchar.h.  it's inappropriate because it makes
+       compile-time distinctions when we want runtime distinctions.
+       (we provide our own tchar replacements)
+
+       * toolbar.c:
+       use default object printer for toolbar-button.
+
+       * unexcw.c:
+       make sure we don't encapsulate.
+
+       * window.c (vars_of_window):
+       emphasize that temp-buffer-show-hook is obsolete.
+
+2000-08-05  Martin Buchholz  <martin@xemacs.org>
+
+       * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
+       (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
+
+       * events.c (Fevent_timestamp_lessp):
+       Not 64-bit clean.  Use EMACS_INT, not int.
+
+2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
+
+       * lrecord.h (lrecord_types): Changed lrecord_type_count to an
+       unsigned int and changed the last enum to
+       lrecord_type_last_built_in_type.
+       (lrecord_implementations_table): changed prototype to know how
+       long the array is supposed to be.
+       (lrecord_type_count): new unsigned int to keep track of the
+       current number of lisp lrecord types.
+       (DEFINE_EXTERNAL_LRECORD):
+       (DECLARE_EXTERNAL_LRECORD): Added these two for external
+       dynamic-modules to declare new lisp types. They are the same
+       as the non-EXTERNAL forms, but declare an lrecord_type unsigned
+       int for each new type, and increment lrecord_type_count by 1.
+
+       * alloc.c (lrecord_implementations_table): Changed to reference
+       lrecord_type_last_built_in_type for the size of the array.
+       Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
+
+2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * glyphs.h (check_valid_item_list): Renamed from
+       check_valid_item_list_1.
+
+2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
+
+       * select.c (Qselect_coerce): New.
+       * select.c (Vselection_coercion_alist): New.
+       * select.c (syms_of_select): Declare.
+       * select.c (get-selection-internal): Use it.
+       Use the new select-coerce functionality.
+
+       * select.c (select_coerce): New.
+       * select.h (select_coerce): Declare.
+       New function to coerce one type of data into another.
+
+2000-08-03  Martin Buchholz  <martin@xemacs.org>
+
+       * callproc.c (Fcall_process_internal):
+       (Fcall_process_internal):
+       * process-unix.c (unix_create_process):
+       Save and restore the value of errno, so that error messages are accurate.
+
+2000-08-01  Martin Buchholz  <martin@xemacs.org>
+
+       * elhash.c (print_hash_table):
+       Fix printing of hash tables to also use `key-and-value' instead of `t'.
+       Prettify docstrings and indentation.
+
+2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * window.c (Fwindow_pixel_edges): Subtract frame border and
+       gutter size.
+
+2000-07-31  Andy Piper  <andy@xemacs.org>
+
+       * buffer.c (Frecord_buffer): make absolutely sure that redisplay
+       will acknowledge the change.
+
+       * glyphs.h: declare tab_control_order_only_changed.
+
+       * glyphs-x.c (x_tab_control_redisplay): use
+       tab_control_order_only_changed.
+
+       * glyphs-widget.c (tab_control_order_only_changed): new function.
+
+       * glyphs-msw.c (mswindows_tab_control_redisplay): use
+       tab_control_order_only_changed.
+
+       * gui.c (gui_item_equal_sans_selected): new function.
+       (gui_item_equal): use it.
+
+       * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
+       :properties in favor of :items..
+
+       * glyphs-widget.c (check_valid_item_list): rename from
+       check_valid_item_list_1.
+       (check_valid_item_list_1): renamed.
+       (combo_box_validate): deprecate :properties in favor of :items.
+       (widget_instantiate): ditto.
+       (tab_control_update): ditto.
+       (image_instantiator_combo_box): ditto.
+       (image_instantiator_tree_view): ditto.
+       (image_instantiator_tab_control): ditto.
+       (layout_post_instantiate): remove dead code.
+
+       * print.c (debug_print_no_newline): only write to debugger if in
+       WIN32_NATIVE.
+
+       * elhash.c (Fmake_hash_table): update doc string.
+
+       * event-msw.c (mswindows_wnd_proc): don't allow processing of
+       messages whilst in GC. This at least stops XEmacs crashing but has
+       the potential for wierd behaviour.
+
+2000-07-31  Martin Buchholz  <martin@xemacs.org>
+
+       * config.h.in:
+       Make existence of s&m files optional.
+
+       * s/bsd386.h: Remove HAVE_GETLOADAVG.
+       * s/freebsd.h: Remove HAVE_GETLOADAVG.
+       * s/gnu.h: Remove HAVE_GETLOADAVG.
+       * s/netbsd.h: Remove HAVE_GETLOADAVG.
+       * s/sol2.h: Remove HAVE_GETLOADAVG.
+       * lisp.h: Remove getloadavg() declaration.
+       * fns.c:
+       Include <sys/loadavg.h> if available.
+       Don't declare our own getloadavg() if HAVE_GETLOADAVG.
+       * config.h.in:  Group together getloadavg()-related macros.
+       Use only configure-time tests to detect getloadavg().
+
+2000-07-30  Martin Buchholz  <martin@xemacs.org>
+
+       * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
+
+2000-07-25  Andy Piper  <andy@xemacs.org>
+
+       * syswindows.h: add tchar.h for native builds.
+
+       * frame.c (syms_of_frame): remove set-glyph-image.
+
+       * general-slots.h: add Qset_glyph_image.
+
+       * glyphs-widget.c (layout_update): add domain arg to
+       set-glyph-image.
+       (syms_of_glyphs_widget): remove set-glyph-image.
+
+2000-07-23  Ben Wing  <ben@xemacs.org>
+
+       * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
+       Vpopup_frame_list.
+
+2000-07-22  Andy Piper  <andy@xemacs.org>
+
+       * symsinit.h: add syms_of_win32().
+
+       * gui-msw.c (syms_of_gui_mswindows): remove
+       Fmswindows_shell_execute.
+       (Fmswindows_shell_execute): moved to win32.c.
+
+       * emacs.c (main_1): add syms_of_win32 ().
+
+       * win32.c (init_potentially_nonexistent_functions): rewrite in
+       compiler-friendly terms.
+       (Fmswindows_shell_execute): move here from gui-msw.c.
+       (syms_of_win32): new.
+
+       * device-msw.c (Fmswindows_printer_list): clean up args to
+       EnumPrinters.
+       Don't include tchar under cygwin or mingw.
+       (msprinter_default_printer): make cygwin-friendly.
+
+2000-07-21  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-widget.c (image_instantiator_tree_view): use tab
+       control's update function.
+       (layout_property): new function. Retrieve items.
+
+       * glyphs-msw.c (mswindows_tree_view_redisplay): new
+       function. Re-populate the tree view from the pending items.
+
+       * glyphs.c (instantiate_image_instantiator): Make sure the domain
+       is designated the parent if the domain is an image instance. This
+       is needed so that dirtiness can be cascade up the hierarchy and
+       thus for layout children to be redisplayed correctly.
+       (allocate_image_instance): rename glyph -> parent.
+
+       * redisplay.h: change redisplay_output_layout signature.
+
+       * redisplay-msw.c (mswindows_output_display_block): use domain
+       arg.
+
+       * redisplay-x.c (x_output_display_block): use domain arg.
+
+2000-07-10  Andy Piper  <andy@xemacs.org>
+
+       * window.c (Fset_window_configuration): add comment.
+
+       * redisplay-output.c (compare_runes):
+       (redisplay_output_subwindow): redisplay rather than update subwindow.
+       (redisplay_output_layout): ditto.
+
+       * redisplay-msw.c (mswindows_frame_output_end):
+       (mswindows_frame_output_end): make defer window pos optional.
+
+       * lisp.h: add Flast.
+
+       * glyphs.h (struct image_instantiator_methods): add dest_mask top
+       normalize method. Change update method to be for changed
+       instantiators. Add redisplay method. Change signature of layout
+       method.
+       (struct Lisp_Image_Instance): add instantiator.
+       (IMAGE_INSTANCE_INSTANTIATOR): new.
+       (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
+       (XIMAGE_INSTANCE_INSTANTIATOR): new.
+       (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
+
+       * glyphs.c:
+       (find_instantiator_differences): new function.
+       (Fset_instantiator_property): new convenience function.
+       (check_image_instance_structure): strictly check for vector
+       instantiators.
+       (normalize_image_instantiator): make non-static.
+       (instantiate_image_instantiator): pass on dest_mask and use new
+       signatures for image_instance_layout and friends.
+       (mark_image_instance): mark the instantiator. Mark the subwindow
+       face not the widget face.
+       (image_instance_equal): add instantiator.
+       (image_instance_hash): ditto.
+       (allocate_image_instance): ditto.
+       (Fset_image_instance_property): removed.
+       (Fimage_instance_file_name): ditto.
+       (Fcolorize_image_instance): ditto.
+       (image_instance_layout): add offsets to be set.
+       (update_image_instance): new function. update an image instance
+       from its changed instantiator.
+       (inherit_normalize): add dest_mask.
+       (xbm_normalize): ditto.
+       (xface_normalize): ditto.
+       (xpm_normalize): ditto.
+       (text_update): set_property -> update.
+       (image_instantiate): use the glyph identity as a hash key, not the
+       instantiator.
+       (glyph_width): use new image_instance_layout signature.
+       (glyph_ascent): ditto.
+       (glyph_descent): ditto.
+       (glyph_height): ditto.
+       (glyph_query_geometry): ressurrect.
+       (glyph_layout): ditto.
+       (redisplay_subwindow): update -> redisplay.
+       (syms_of_glyphs): add Fset_instantiator_property.
+       (image_instantiator_format_create): set_property -> update.
+
+       * glyphs-x.c:
+       (autodetect_normalize): add dest_maks to signature.
+       (x_redisplay_subwindow): update -> redisplay.
+       (x_redisplay_widget): ditto.
+       (x_button_redisplay): ditto.
+       (x_progress_gauge_redisplay): ditto.
+       (x_tab_control_redisplay): ditto. Rewrite to cope with changed
+       stacking order.
+       (console_type_create_glyphs_x): update -> redisplay.
+       (image_instantiator_format_create_glyphs_x): ditto.
+
+       * glyphs-widget.c:
+       (check_valid_instantiator): disallow glyphs in the instantiator,
+       they must now be vectors.
+       (check_valid_instantiator_list): ditto.
+       (glyph_instantiator_to_glyph): use internal symbol rather than
+       intern.
+       (widget_update): renamed from widget_set_property. Call cascaded
+       update methods.
+       (redisplay_widget): renamed from update_widget.
+       (widget_layout): image_instance_layout now takes position as well
+       as size.
+       (widget_normalize): ditto.
+       (widget_instantiate): ditto.
+       (tab_control_query_geometry) ditto.:
+       (tab_control_update): renamed from tab_control_set_property.
+       (progress_gauge_update): set_property -> update.
+       (layout_normalize): rewrite so that child instantiators are
+       normalized also.
+       (layout_update): new function. Create glyphs from the normalized
+       children and cope with any other layout keywords. We do not
+       instantiate children here that will be take care of by
+       redisplay_output_layout.
+       (layout_instantiate): call layout_update and not much else.
+       (layout_post_instantiate): not sure whether this is needed
+       anymore.
+       (layout_query_geometry): query glyph geometry rather than
+       image_instance geometry.
+       (layout_layout): set offsets from pass in parameters. Use glyph
+       geometry and layout functions rather than image instance ones.
+       (native_layout_layout): ditto.
+       (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
+       (image_instantiator_widget): set_property -> update.
+       (image_instantiator_buttons): ditto.
+       (image_instantiator_progress_guage): ditto.
+       (image_instantiator_tab_control): ditto.
+       (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
+       (image_instantiator_layout): add update method.
+
+       * glyphs-msw.c (bmp_normalize):
+       (mswindows_resource_normalize): add dest_mask so that it can be
+       proprogated by layout_normalize.
+       (begin_defer_window_pos): make optional because it may not be the
+       right thing to do and it introduces differences with X.
+       (mswindows_unmap_subwindow): ditto.
+       (mswindows_map_subwindow): ditto.
+       (mswindows_redisplay_subwindow): renamed from
+       mswindows_update_subwindow.
+       (mswindows_redisplay_widget): ditto.
+       (mswindows_button_redisplay): renamed from
+       mswindows_button_update. Update is now what the instantiation
+       function does for a changed instantiator.
+       (mswindows_progress_gauge_instantiate): set the progress value
+       here if appropriate.
+       (mswindows_tab_control_redisplay): cope with re-ordering of the
+       members of the tab widget by simply selecting the new top
+       widget. This makes things appear ok if you click on a tab.
+       (mswindows_combo_box_instantiate): image_instance_layout now takes
+       position as well as size.
+       (mswindows_progress_gauge_redisplay): renamed from
+       mswindows_progress_gauge_update.
+       (console_type_create_glyphs_mswindows): fix update -> redisplay.
+       (image_instantiator_format_create_glyphs_mswindows): ditto.
+
+       * glyphs-eimage.c (jpeg_normalize):
+       (gif_normalize):
+       (png_normalize):
+       (tiff_normalize): add dest_mask so that it can be proprogated by
+       layout_normalize.
+
+       * elhash.c:
+       (print_hash_table):
+       (hash_table_weakness_validate):
+       (decode_hash_table_weakness):
+       (Fhash_table_weakness):
+       (Fhash_table_type):
+       (syms_of_elhash): use Ben's naming scheme for hashtable types..
+
+       * console.h (struct console_methods): move update_* to
+       redisplay_*.
+
+2000-07-20  Ben Wing  <ben@xemacs.org>
+
+       * *.[ch] (XSETOBJ): remove unused middle argument.
+       lisp-disunion.h: correct wrap_object() to one argument.
+
+2000-07-15  Ben Wing  <ben@xemacs.org>
+
+        * s/cygwin32.h:
+        * s/cygwin32.h (CYGWIN_CONV_PATH):
+        Add missing logb prototype for v1.1.
+        Use post-b20 names and alias to pre-b20 names when pre-b20.
+
+        * s/windowsnt.h: [5].
+
+2000-07-15  Ben Wing  <ben@xemacs.org>
+
+       * Makefile.in.in (x_objs):
+       * Makefile.in.in (sheap_objs):
+       * Makefile.in.in (objs):
+       added win32.o, cosmetic cleanups.
+
+        * alloc.c (Fmake_byte_code):
+        [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
+        etc. macros which declare their own args now.
+
+        * alloc.c (syms_of_alloc):
+        [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
+
+        * buffer.c:
+        Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
+
+        * buffer.c (Fget_file_buffer):
+        Fixed GCPRO problem.
+
+        * buffer.c (get_truename_buffer):
+        Fixed comment about GC checking.
+
+        * buffer.c (syms_of_buffer):
+        Undeclared those dedicated frame funs.
+        [2].
+
+        * buffer.h:
+        Define convenience macros for internal/external conversions.
+       [[[3]]]: Define codesys aliases Qcommand_argument_encoding
+        and Qenvironment_variable_encoding for cleaner code.
+
+        * bufslots.h:
+        Remove dedicated-frame; in lisp.
+
+        * bytecode.c (funcall_compiled_function):
+        [1].
+
+        * bytecode.c (syms_of_bytecode):
+        [2].
+
+        * console-msw.c:
+        * console-msw.c (mswindows_show_console): Rewrote.
+
+        * console-msw.c (Fmswindows_debugging_output): New.
+        Sends to OutputDebugString (special MSWin debugger interface).
+
+        * console-msw.c (Fmswindows_message_box):
+        Fixed stupid bugs so it works when called from kill-emacs.
+
+        * console-msw.c (syms_of_console_mswindows):
+        Declare Fmswindows_debugging_output.
+
+        * console-msw.h:
+        New MSWin prototypes.
+
+        * console-msw.h (struct mswindows_frame):
+        New entry last-click-mods for improved button-modifier support.
+
+        * console-msw.h (FRAME_MSWINDOWS_POPUP):
+        New struct entry `popup' with corresponding accessor.
+
+        * console-x.c:
+        * console-x.c (split_up_display_spec):
+        * console-x.c (get_display_arg_connection):
+        * console-x.c (x_semi_canonicalize_console_connection):
+        * console-x.c (x_canonicalize_device_connection):
+        [[[6]]]: Change char to more specific type.
+        [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
+
+        * console-x.c (x_semi_canonicalize_console_connection):
+        * console-x.c (x_canonicalize_device_connection):
+        [[[9]]]: Fix up error signalling to use new structured error system.
+
+        * console-x.h:
+        [[[4]]]: Define codesys aliases:
+        Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
+        Qx_color_name_encoding, Qx_display_name_encoding.
+
+        * console.h (struct console_methods):
+        New method make_dialog_box_internal supersedes older
+        popup_dialog_box method.
+
+        * data.c:
+        Define many new errors, part of new structured errors.
+
+        * data.c (init_errors_once_early):
+        * data.c (syms_of_data):
+        [2].
+
+        * device-msw.c (mswindows_init_device):
+        [[[5]]]: Cleanup to support NT 3.51.
+
+        * device-msw.c (decode_devmode): Cleanup.
+
+        * device-msw.c (mswindows_handle_print_setup_dialog_box):
+        * device-msw.c (mswindows_handle_print_dialog_box):
+        * device-msw.c (mswindows_handle_page_setup_dialog_box):
+        * device-msw.c (syms_of_device_mswindows):
+        Delete the dialog box primitives recently introduced by Kirill and
+       instead interface to general dialog box interface.
+
+        * device-x.c:
+        * device-x.c (compute_x_app_name):
+        * device-x.c (x_init_device):
+        * device-x.c (Fx_valid_keysym_name_p):
+        * device-x.c (Fx_set_font_path):
+        [6].
+        [7].
+
+        * device.h (wrap_device): New.
+        First of its kind; meant to replace XSETDEVICE.
+
+        * dialog-msw.c: Many file-dialog symbols.
+
+        * dialog-msw.c (mswindows_register_popup_frame): New.
+        * dialog-msw.c (mswindows_is_dialog_msg): New.
+        For supporting kbd traversal in dialog boxes.
+
+        * dialog-msw.c (dialog_proc):
+        Support hitting ESC in dialogs.
+
+        * dialog-msw.c (struct):
+        Common dialog box errors.
+
+        * dialog-msw.c (handle_file_dialog_box): New.
+        Add file dialog code.
+
+        * dialog-msw.c (handle_question_dialog_box):
+        Redo existing code to support new question dialog syntax.
+
+        * dialog-msw.c (console_type_create_dialog_mswindows):
+        We support new dialog console method.
+
+        * dialog-msw.c (syms_of_dialog_mswindows):
+        * dialog-msw.c (vars_of_dialog_mswindows):
+        New file dialog symbols, vars.
+
+        * dialog-x.c:
+        * dialog-x.c (maybe_run_dbox_text_callback):
+        * dialog-x.c (dbox_descriptor_to_widget_value):
+        * dialog-x.c (x_make_dialog_box_internal):
+        * dialog-x.c (console_type_create_dialog_x):
+        Mule-ize entire file.
+        Redo to support question dialog syntax.
+        [6].
+
+        * dialog.c:
+        * dialog.c (Fmake_dialog_box_internal):
+        * dialog.c (syms_of_dialog):
+        Kill old popup-dialog-box, replace with new primitive.
+        Just call device method or signal error.
+
+        * eldap.c (Fldap_open):
+        * eldap.c (Fldap_search_basic):
+        * eldap.c (Fldap_add):
+        * eldap.c (Fldap_modify):
+        [1].
+        [7].
+
+        * emacs.c:
+        * emacs.c (make_arg_list_1):
+        * emacs.c (make_arg_list):
+        Mule-ize call to dll_init().
+        [6].
+        [8].
+
+        * emacs.c (make_argc_argv):
+        * emacs.c (free_argc_argv):
+        * emacs.c (init_cmdargs):
+        * emacs.c (main_1):
+        * emacs.c (Fkill_emacs):
+        * emacs.c (Fdump_emacs):
+        Update comments about what can be used in syms_* etc.
+        Call init_win32() when necessary.
+        Fix up MS Win dialog box in kill-buffer to actually work right.
+        [7].
+
+        * eval.c:
+        * eval.c (For):
+        * eval.c (Fand):
+        * eval.c (Fprogn):
+        * eval.c (Fprog1):
+        * eval.c (Fprog2):
+        * eval.c (FletX):
+        * eval.c (Flet):
+        * eval.c (condition_case_3):
+        * eval.c (Feval):
+        * eval.c (function_argcount):
+        * eval.c (funcall_lambda):
+        [1].
+
+        * eval.c (type_error): New.
+        * eval.c (maybe_type_error): New.
+        * eval.c (continuable_type_error): New.
+        * eval.c (maybe_continuable_type_error): New.
+        * eval.c (type_error_with_frob): New.
+        * eval.c (maybe_type_error_with_frob): New.
+        * eval.c (continuable_type_error_with_frob): New.
+        * eval.c (maybe_continuable_type_error_with_frob): New.
+        New functions for use with structured errors.
+
+        * event-Xt.c:
+        * event-Xt.c (x_event_to_emacs_event):
+        Buttons are now modifiers too.
+
+        * event-Xt.c (emacs_Xt_current_event_timestamp):
+        Implement new event method.
+        * event-Xt.c (reinit_vars_of_event_Xt): Set it.
+
+        * event-msw.c:
+        * event-msw.c (ntpipe_shove_writer): [5].
+        * event-msw.c (mswindows_enqueue_mouse_button_event):
+        * event-msw.c (mswindows_drain_windows_queue):
+        * event-msw.c (mswindows_wnd_proc): [7].
+        * event-msw.c (mswindows_current_layout_has_AltGr): [5].
+        * event-msw.c (mswindows_modifier_state):
+        Throughout: support new button modifiers.
+
+        * event-msw.c (emacs_mswindows_current_event_timestamp):
+        Implement new event method.
+        * event-msw.c (reinit_vars_of_event_mswindows): Set it.
+
+        * event-stream.c:
+        * event-stream.c (event_stream_current_event_timestamp): New.
+        * event-stream.c (maybe_kbd_translate): New functionality.
+        * event-stream.c (vars_of_event_stream):
+        Document new kbd-translate-table functionality.
+
+        * event-stream.c (Fcurrent_event_timestamp): New.
+        New primitive for use in fabricated events.
+        * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
+
+        * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
+
+        * events.c:
+        * events.c (Fmake_event):
+        * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
+        [1].
+        [9].
+
+        * events.c (format_event_object): fix gcc warnings.
+
+        * events.c (Fevent_timestamp): Document new primitives.
+
+        * events.c (TIMESTAMP_HALFSPACE): New.
+
+        * events.c (Fevent_timestamp_lessp): New.  New primitive for
+       comparing timestamps correctly (half-space algorithm).
+
+        * events.c (Fevent_modifier_bits): Doc fix.
+
+        * events.c (Fevent_modifiers): Major doc addition.
+        * events.c (event_x_y_pixel_internal): Typo fix.
+        * events.c (syms_of_events): Declare new primitives.
+
+        * events.h:
+        Update long comment for button modifiers, timestamps.
+
+        * events.h (struct event_stream):
+        New current_event_timestamp method.
+
+        * extents.c:
+        * extents.c (extent_in_region_p):
+        * extents.c (decode_extent):
+        * extents.c (Fset_extent_parent):
+        * extents.c (decode_map_extents_flags):
+        Fix gcc warnings.
+        [9].
+
+        * extents.c (struct extent_at_arg):
+        * extents.c (decode_extent_at_flag):
+        * extents.c (extent_at_mapper):
+        * extents.c (extent_at_bytind):
+        * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
+        * extents.c (Fextents_at): New primitive. [9].
+        * extents.c (symbol_to_glyph_layout): [9].
+        Support new primitive `extents-at'.
+
+
+        * extents.c (get_text_property_bytind):
+        extent_at_bytind has another arg.
+        [9].
+
+        * extents.c (syms_of_extents): New primitive.
+
+        * file-coding.c (Fmake_coding_system): [1].
+        * file-coding.c (subsidiary_coding_system): fix gcc warning
+        * file-coding.c (syms_of_file_coding): [2].
+
+        * fileio.c (Fexpand_file_name):
+        * fileio.c (Fsysnetunam):
+        * fileio.c (Ffile_exists_p):
+        * fileio.c (Ffile_executable_p):
+        * fileio.c (Fverify_visited_file_modtime):
+        Clean up GCPROing.
+
+        * fileio.c (syms_of_fileio): [2].
+
+        * filelock.c (lock_file_1):
+        * filelock.c (current_lock_owner):
+        * filelock.c (lock_if_free):
+        * filelock.c (lock_file):
+        * filelock.c (unlock_file):
+        Clean up GCPROing.
+
+        * fns.c (concat): Fix gcc warning.
+
+        * fns.c (Fmember):
+        * fns.c (Fold_member):
+        * fns.c (Fmemq):
+        * fns.c (Fold_memq):
+        * fns.c (memq_no_quit):
+        * fns.c (Fassoc):
+        * fns.c (Fold_assoc):
+        * fns.c (Fassq):
+        * fns.c (Fold_assq):
+        * fns.c (assq_no_quit):
+        * fns.c (Frassoc):
+        * fns.c (Fold_rassoc):
+        * fns.c (Frassq):
+        * fns.c (Fold_rassq):
+        * fns.c (rassq_no_quit):
+        * fns.c (Fdelete):
+        * fns.c (Fold_delete):
+        * fns.c (Fdelq):
+        * fns.c (Fold_delq):
+        * fns.c (delq_no_quit):
+        * fns.c (Fremassoc):
+        * fns.c (Fremassq):
+        * fns.c (remassq_no_quit):
+        * fns.c (Fremrassoc):
+        * fns.c (Fremrassq):
+        * fns.c (remrassq_no_quit):
+        * fns.c (Freverse):
+        * fns.c (mapcar1):
+        [1].
+
+        * frame-msw.c (mswindows_init_frame_1):
+        * frame-msw.c (mswindows_delete_frame):
+        Register popups with dialog code so keyboard traversing works.
+
+        * frame-tty.c (tty_raise_frame_no_select): [1].
+
+        * frame-x.c:
+        * frame-x.c (x_set_frame_text_value):
+        * frame-x.c (x_set_frame_properties):
+        * frame-x.c (x_create_widgets):
+        [7].
+
+        * frame.c:
+        * frame.c (Fmouse_pixel_position): Minor doc fixes.
+
+        * frame.h (wrap_frame): New.
+        Macro like wrap_device.
+
+        * general.c:
+        * general.c (SYMBOL):
+        * general.c (syms_of_general):
+        Major reorg.  This is now just a wrapper and symbols themselves
+        are listed in general-slots.h.
+
+        * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
+        * glyphs-msw.c (mswindows_resource_instantiate): [5].
+
+        * glyphs-msw.c (mswindows_native_layout_instantiate):
+        Add DS_CONTROL so keyboard traversal will work.
+
+        * glyphs-widget.c:
+        * glyphs-widget.c (syms_of_glyphs_widget):
+        Move some symbols to general-slots.h.
+
+        * glyphs-x.c:
+        * glyphs-x.c (xbm_instantiate_1):
+        * glyphs-x.c (x_xbm_instantiate):
+        * glyphs-x.c (x_xface_instantiate):
+        * glyphs-x.c (autodetect_instantiate):
+        * glyphs-x.c (cursor_font_instantiate):
+        * glyphs-x.c (x_update_widget):
+        * glyphs-x.c (x_widget_instantiate):
+        * glyphs.c (bitmap_to_lisp_data):
+        * glyphs.c (pixmap_to_lisp_data):
+        [7].
+
+        * glyphs.c (syms_of_glyphs):
+        [2].
+
+        * gui-x.c:
+        * gui-x.c (print_widget_value):
+        * gui-x.c (menu_separator_style_and_to_external):
+        * gui-x.c (add_accel_and_to_external):
+        * gui-x.c (button_item_to_widget_value):
+        * gui-x.c (gui_items_to_widget_values_1):
+        * gui-x.c (gui_items_to_widget_values):
+        * gui-x.c (syms_of_gui_x):
+        * gui-x.c (vars_of_gui_x):
+        Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
+        [9].
+
+        * gui-x.h:
+        Muleize, prototype changes matching gui-x.c.
+
+        * gui.c:
+        * gui.c (separator_string_p):
+        * gui.c (gui_item_add_keyval_pair):
+        * gui.c (make_gui_item_from_keywords_internal):
+        * gui.c (signal_too_long_error):
+        * gui.c (parse_gui_item_tree_item):
+        * gui.c (syms_of_gui):
+        * gui.c (vars_of_gui):
+        * gui.h:
+        menu-no-selection-hook moved here (used by MSWin).
+        Move some symbols to general-slots.h.
+        [6].
+        [9].
+
+        * insdel.c (get_buffer_pos_char):
+        * insdel.c (get_buffer_range_char):
+        Add GC comments.
+
+        * keymap.c (keymap_lookup_directly):
+        * keymap.c (keymap_store):
+        * keymap.c (ensure_meta_prefix_char_keymapp):
+        * keymap.c (describe_map):
+        * keymap.h:
+        Support new button modifiers.
+
+        * lisp-disunion.h (wrap_object):
+        * lisp-disunion.h (XSETOBJ):
+        Rename make_obj to wrap_object.
+
+        * lisp-union.h:
+        * lisp-union.h (make_int):
+        * lisp-union.h (make_char):
+        Support wrap_object.
+
+        * lisp.h:
+        * lisp.h (LIST_LOOP):
+        * lisp.h (EXTERNAL_LIST_LOOP):
+        * lisp.h (LIST_LOOP_2):
+        * lisp.h (EXTERNAL_LIST_LOOP_1):
+        * lisp.h (EXTERNAL_LIST_LOOP_2):
+        * lisp.h (EXTERNAL_LIST_LOOP_3):
+        * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
+        * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
+        * lisp.h (GET_EXTERNAL_LIST_LENGTH):
+        * lisp.h (EXTERNAL_ALIST_LOOP_5):
+        * lisp.h (EXTERNAL_ALIST_LOOP_6):
+        * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
+        * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
+        * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
+        * lisp.h (struct Lisp_Symbol):
+        * lisp.h (maybe_continuable_error_with_frob):
+        Fix up section comments.
+        Add new types for char to indicate usage.
+        Delete symbols auto-generated from general-slots.h.
+        Add prototypes for structured error functions.
+        Add long comments describing looping macros and change interface
+        so that lvalues are automatically declared.
+       Add NO_DECLARE macro in case callers want to declare lvalues
+       themselves.
+
+        * lread.c (read_syntax_error):
+        * lread.c (continuable_read_syntax_error):
+        * lread.c (read_structure):
+        * lread.c (sequence_reader):
+        * lread.c (read_list_conser):
+        * lread.c (read_compiled_function):
+        Rename syntax_error and continuable_syntax_error to avoid clash
+        with same-named structured error functions.
+
+        * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
+        * menubar-msw.c (populate_menu_add_item):
+        * menubar-msw.c (populate_or_checksum_helper):
+        [5].
+        [9].
+
+        * menubar-x.c:
+        * menubar-x.c (menu_item_descriptor_to_widget_value_1):
+        Mule-ize whole file.
+
+        * menubar.c (Fnormalize_menu_item_name): Add optimization.
+
+        * mule-charset.c (Fmake_charset):
+        * mule-wnnfns.c (Fwnn_set_param):
+        [1].
+
+        * ntproc.c (create_child):
+        * ntproc.c (Fwin32_set_current_locale):
+        Add comments portending doom.
+
+        * objects-msw.c:
+        * objects-msw.c (old_font_enum_callback_2):
+        * objects-msw.c (font_enum_callback_1):
+        * objects-msw.c (mswindows_enumerate_fonts):
+        [5].
+
+        * objects-x.c:
+        * objects-x.c (allocate_nearest_color):
+        * objects-x.c (x_parse_nearest_color):
+        * objects-x.c (x_initialize_color_instance):
+        * objects-x.c (x_print_color_instance):
+        * objects-x.c (x_finalize_color_instance):
+        * objects-x.c (x_valid_color_name_p):
+        * objects-x.c (x_initialize_font_instance):
+        * objects-x.c (x_print_font_instance):
+        * objects-x.c (valid_x_font_name_p):
+        * objects-x.c (truename_via_FONT_prop):
+        * objects-x.c (truename_via_random_props):
+        * objects-x.c (truename_via_XListFonts):
+        * objects-x.c (x_font_truename):
+        * objects-x.c (x_font_instance_truename):
+        * objects-x.c (x_font_instance_properties):
+        * objects-x.c (x_list_fonts):
+        * objects-x.c (x_find_charset_font):
+        Mule-ize entire file.
+        [7].
+
+        * objects-x.h:
+        Mule-verify.
+
+        * print.c:
+        * print.c (std_handle_out_external):
+        * print.c (debug_print_no_newline):
+        * print.c (syms_of_print):
+        Output to all debugger kinds in debug-print.
+        Fix console-output code under MSWin to actually work.
+
+        * process-nt.c (send_signal):
+        * process-nt.c (nt_create_process):
+        Use newer Unicode macros.
+
+        * process-unix.c (unix_create_process):
+        * process-unix.c (unix_canonicalize_host_name):
+        * process-unix.c (unix_open_network_stream):
+        [7].
+
+        * scrollbar-x.c:
+        Mule-verify.
+
+        * search.c (syms_of_search):
+        [2].
+
+        * select-msw.c (mswindows_destroy_selection):
+        Use LIST_LOOP_2.
+
+        * select-x.c (symbol_to_x_atom):
+        [7].
+
+        * select.c (syms_of_select):
+        [2].
+
+        * sound.c (Fplay_sound_file):
+        [7].
+
+        * specifier.c:
+        * specifier.c (decode_specifier_type):
+        * specifier.c (Fvalid_specifier_locale_type_p):
+        * specifier.c (check_valid_locale_or_locale_type):
+        * specifier.c (decode_locale):
+        * specifier.c (decode_locale_type):
+        * specifier.c (decode_locale_list):
+        * specifier.c (check_valid_domain):
+        * specifier.c (decode_specifier_tag_set):
+        * specifier.c (Fcanonicalize_tag_set):
+        * specifier.c (Fdefine_specifier_tag):
+        * specifier.c (Fspecifier_tag_predicate):
+        * specifier.c (check_valid_inst_list):
+        * specifier.c (check_valid_spec_list):
+        * specifier.c (decode_how_to_add_specification):
+        * specifier.c (check_modifiable_specifier):
+        * specifier.c (specifier_add_spec):
+        * specifier.c (boolean_validate):
+        * specifier.c (display_table_validate):
+        [9].
+
+        * specifier.c (syms_of_specifier):
+        Move some symbols to general-slots.h.
+        [2].
+
+        * symbols.c:
+        * symbols.c (Fmapatoms):
+        * symbols.c (Fapropos_internal):
+        Add GCPROs.
+
+        * symbols.c (set_default_buffer_slot_variable):
+        * symbols.c (set_default_console_slot_variable):
+        [1].
+
+        * symbols.c (defsymbol_massage_name_1):
+        * symbols.c (defkeyword_massage_name):
+        * symbols.c (deferror_1):
+        * symbols.c (deferror):
+        * symbols.c (deferror_massage_name_and_message):
+        * symeval.h:
+        * symeval.h (DEFSYMBOL):
+        Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
+
+        * symbols.c (syms_of_symbols):
+        [2].
+
+        * symsinit.h:
+        * symsinit.h (init_win32): New.
+        Also new is syms_of_dialog_mswindows.
+
+        * syswindows.h:
+       Add new Unicode macros, missing Cygwin wide-char functions,
+       convenience conversion macros for Qmswindows_tstr, macros for
+       encapsulating required MSWin <-> Cygwin filename conversions,
+       prototype for dynamically-extracted (not in NT 3.51) functions.
+
+        * toolbar-x.c:
+        Mule-verify.
+
+        * tooltalk.c (Fadd_tooltalk_message_arg):
+        * tooltalk.c (Fadd_tooltalk_pattern_attribute):
+        * tooltalk.c (Fadd_tooltalk_pattern_arg):
+        [7].
+
+        * tooltalk.c (syms_of_tooltalk):
+        [2].
+
+        * unexnt.c:
+        * unexnt.c (unexec):
+        Fix up headers, declaration of unexec() to be more standard.
+
+2000-07-20  Martin Buchholz  <martin@xemacs.org>
+
+       * offix.h: Revert change to guard macros - they're used in offix.c!
+
+2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
+
+       * lisp.h: Defsubred Fdelete.
+
+       * console-msw.h:  (msprinter_default_printer): Added.
+
+       * console-msw.c (msprinter_canonicalize_console_connection):
+       (msprinter_canonicalize_device_connection): Added.
+
+       * device-msw.c (msprinter_default_printer):
+       (Fmswingows_get_default_printer):
+       (signal_enum_priner_error):
+       (Fmswingows_printer_list): Added.
+
+2000-07-19  Martin Buchholz <martin@xemacs.org>
+
+       * XEmacs 21.2.35 is released.
+
+2000-07-19  Martin Buchholz  <martin@xemacs.org>
+
+       * select-x.c (x_handle_selection_request):
+       Text selected in xemacs and pasted into xterm failed to appear.
+       Spelling fixes and cosmetic changes.
+
+2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
+
+       * event-msw.c (mswindows_drain_windows_queue): Correctly check for
+       XEmacs frame (fix for doubling chars in dialog boxes).
+
+2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
+
+       * select.c (select_convert_in, select_convert_out):
+       Don't call intern() every time.
+
+       * select.c (Qselect_convert_in, Qselect_convert_out): New.
+       * select.c (vars_of_select): Initialise them.
+
+2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
+
+       * select.c (selection-coercible-types): New.
+
+       * select.c (own-selection-internal):
+       * select.c (get-selection-internal):
+       MULE bug fix - these should default to COMPOUND_TEXT and not
+       STRING for MULE. I think.
+
+       * select.c (select_convert_out): Use selection-coercible-types
+       to find types that we can attempt to perform coercions on.
+
+2000-07-18  Martin Buchholz  <martin@xemacs.org>
+
+       * mule-wnnfns.c:
+       * mule-canna.c:
+       Add coding: cookie to identify encoding.
+
+       * mule-canna.c (CANNA_mode_keys): make static.
+       Use proper prototypes, even for functions of no arguments.
+       Remove external prototype for Fding().
+
+       * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
+
+       * select.c (syms_of_select): Add missing DEFSUBR.
+
+2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
+
+       * select.c (get_selection_internal, own_selection_internal):
+       Make the type default to STRING, rather than placing a nil type
+       into Vselection_alist.
+
+2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
+
+       * gpmevent.c (tty_selection_exists_p):
+       * gpmevent.c (tty_own_selection):
+       Updated parameter lists.
+
+2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
+
+       * select.h (selection-alist): Removed declaration.
+
+       * select.h (get_local_selection):
+       * select.c (get_local_selection):
+       Made static.
+
+       * select.h (convert_selection): Removed declaration.
+       * select.c (convert_selection): Removed.
+       This function belongs in Lisp.
+
+       * select.h (select_convert_in): Declare.
+       * select.h (select_convert_out): Declare.
+       * select.c (select_convert_in): New.
+       * select.c (select_convert_out): New.
+       New conversion functions for other files to call.
+
+       * select.h (select_notify_buffer_kill): Declare.
+       * select.c (select_notify_buffer_kill): New.
+       New functions that get called from kill-buffer.
+
+       * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
+       X-specific lisp code.
+
+       * select.h: Declare some of the lisp-visible functions for
+       external use.
+
+       * select.c (clean_local_selection_data): Removed. This was
+       a disgusting function, and previously should have been in
+       select-x.c in any case. The functionality is now provided
+       in select-convert-from-integer (select.el).
+
+       * select.c (available-selection-types): Fixed stupidity where
+       INTEGER and ATOM got added twice. Also add STRING when we see an
+       extent.
+
+       * select.c (get-selection-internal): Removed symbol stripping. No
+       longer causes conversion when data comes from the internal cache.
+
+       * select.c (syms_of_select): Added new functions.
+
+       * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
+       error checking - previously this called abort!
+
+       * select-x.c (x_own_selection): Changed comment.
+
+       * select-x.c (x_handle_selection_request): Use select_convert_out.
+       Don't mess with selection-alist; it's an internal variable of select.c.
+
+       * select-x.c (x_get_foreign_selection): Use select_convert_in.
+
+       * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
+       rather than messing with selection-alist.
+
+       * select-msw.c (mswindows_get_foreign_selection):
+       Use TO_INTERNAL_FORMAT rather than hacking.
+
+2000-07-14  Martin Buchholz  <martin@xemacs.org>
+
+       * process-unix.c (unix_open_multicast_group):
+       (unix_open_multicast_group): Remove useless casts.
+
+2000-07-13  Martin Buchholz  <martin@xemacs.org>
+
+       * sound.c (Fplay_sound): Fix `unused variable' warning.
+
+       * emacs.c (main): Use correct type for _environ on SCO5.
+
+2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
+
+       * console.h (own_selection_method):
+       * console.h (selection_exists_p_method):
+       * console.h (available_selection_types_method): New.
+       * console.h (register_selection_data_type_method): New.
+       * console.h (selection_data_type_name): New.
+
+       * console-msw.h (mswindows_destroy_selection): Declare it.  New
+       function & alist to track GlobalAlloc()'d handles that need
+       releasing when the clipboard data gets replaced or emptied.
+
+       * event-msw.c (mswindows_wnd_proc): Call it.
+
+       * lisp.h, general.c (Qappend): New symbol representing a
+       `how-to-add' mode.
+
+       * select.c (own-selection-internal):
+       * select.c (selection-exists-p):
+       * select.c (available-selection-types): New.
+       * select.c (register-selection-data-type): New.
+       * select.c (selection-data-type-name): New.  New functions to deal
+       with device-specific selection data formats.
+       * select.c (selection-converter-out-alist): Renamed.
+       * select.c (selection-converter-in-alist): New.
+       * select.c (selection-appender-alist): New.  Added new alists.
+       * select.c (syms_of_select, vars_of_select): Added new symbols &
+       variables.
+       * select.c (get_local_selection): Split.
+       * select.c: Removed spurious type checking - selections may now be
+       of any type, not just strings.
+       * select.c (own-selection-internal):
+
+       * select.h, select.c (convert_selection): New. Created
+       convert_selection() function based on get_local_selection().
+       * select.h, select.c (QCF_*): New symbols representing mswindows
+       clipboard formats.
+       * select.h, select.c (Qreplace_all, Qreplace_existing): New
+       symbols representing `how-to-add' modes.
+
+       * select-msw.c (x_sym_p): New.
+       * select-msw.c (symbol_to_ms_cf): New.
+       * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
+       symbols & clipboard formats. Can also handle string names.
+       * select-msw.c (mswindows_own_selection):
+       * select-msw.c (mswindows_selection_exists_p):
+       Added `data-type' parameter. Use it.
+       * select-msw.c (mswindows_available_selection_types): New.
+       * select-msw.c (mswindows_register_selection_data_type): New.
+       * select-msw.c (mswindows_selection_data_type_name): New.
+       * select-msw.c (mswindows_own_selection):
+       * select-msw.c (mswindows_get_foreign_selection):
+       * select-msw.c (mswindows_selection_exists_p):  Rewrote.
+       * select-msw.c (console_create_select_mswindows): Added new methods.
+       * select-msw.c (mswindows_destroy_selection): New.
+       * select-msw.c (Vhandle_alist): New list.
+       * select-msw.c (mswindows_own_selection):
+
+       * select-x.c (x_own_selection):
+       * select-x.c (x_selection_exists_p):
+       * select-x.c: Added some comments about maybe using new
+       functionality.
+       * select-x.c (x_own_selection):
+
+       * specifier.c: Remove definition of Qappend (now in general.c)
+       * specifier.c (syms_of_specifier): Remove Qappend.
+
+2000-07-12  Martin Buchholz  <martin@xemacs.org>
+
+       * config.h.in: Add socklen_t.
+
+       * s/decosf4-0.h: No special compiler flags needed or desired.
+       In particular, undefine _BSD for DEC OSF 4.0.
+
+2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
+
+       * redisplay-msw.c (msprinter_frame_output_end): Added.
+       (console_type_create_redisplay_mswindows): Referred the above.
+
+       * frame.c (setup_frame_without_minibuffer): Do not create a
+       default minibuffer frame on a printer device.
+
+       * frame-msw.c (apply_dc_geometry): Added.
+       (msprinter_start_page):
+       (msprinter_init_frame_3):
+       (msprinter_eject_page): Use it.
+
+       * console-msw.h (struct msprinter_frame): Added pix_left and top,
+       and removed residual duplex and orientation properties.
+
+2000-07-11  Martin Buchholz  <martin@xemacs.org>
+
+       * eval.c (function_argcount): Work around a DEC CC compiler bug.
+
+       * unexalpha.c: Remove system prototypes from C sources!
+
+2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
+
+       * eval.c: Remove references to M-x edit-options in DEFUNs for
+       `defvar' and `defconst'.
+
+2000-07-09  Martin Buchholz  <martin@xemacs.org>
+
+       * config.h.in: Remove SMART_INCLUDE hackery.
+
+       PostgreSQL hacking:
+       * config.h.in: Don't use SMART_INCLUDE.
+
+       * postgresql.h: Include libpq-fe.h here.  Fix typo.
+       * inline.c: Simply #include "postgresql.h"
+       * postgresql.c:
+       - Don't use SMART_INCLUDE
+       - Use simply "const".
+       - Use standard doc string conventions.
+       - Use correct type for result of PQstatus.
+
+2000-07-09  Martin Buchholz  <martin@xemacs.org>
+
+       * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
+
+       C++ compilation changes.
+       * config.h.in (EXTERN_C): Define.
+       * config.h.in (not): This is also a C++ keyword.
+       * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
+       * cm.c: Use EXTERN_C.
+       * redisplay-tty.c: Use EXTERN_C.
+       * sysdep.c: Use EXTERN_C.  Remove Gould support.
+
+2000-07-09  Martin Buchholz  <martin@xemacs.org>
+
+       * general.c: Remove duplicate definition for Qfunction.
+
+2000-07-08  Ben Wing  <ben@xemacs.org>
+
+       * device-msw.c (msprinter_init_device):
+       * device-msw.c (sync_printer_with_devmode):
+       * device-msw.c (handle_devmode_changes):
+       * device-msw.c (print_dialog_worker):
+       * device-msw.c (Fmsprinter_apply_settings):
+       * device-msw.c (hash_devmode):
+       * device-msw.c (Fmsprinter_settings_despecialize):
+       use Qmswindows_tstr, not Qctext.
+
+       * vm-limit.c (check_memory_limits):
+       avoid infinite loop printing warning messages.
+
+2000-07-05  Craig Lanning  <lanning@scra.org>
+
+        * Makefile.in.in: Add support for including the Windows resources
+        when building with the cygwin and mingw targets.
+
+        * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
+        not set or not correct.
+        (directory_is_current_directory): Don't compile for WIN32_NATIVE.
+        (init_initial_directory): Don't try to use $PWD on the
+        WIN32_NATIVE target.
+
+        * s\cygwin32.h:
+       [[Add -mwindows to eliminate console window.]] not required --ben
+        (HAVE_NATIVE_SOUND): removed; now handled by configure.
+        (MAIL_USE_POP): removed; now handled by configure.
+
+        * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
+       C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
+        (HAVE_NATIVE_SOUND): removed; now handled by configure.
+        (MAIL_USE_POP): removed; now handled by configure.
+        (ENCAPSULATE_STAT): from Dan Holmsand, added.
+        (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
+        (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
+        constant string.
+        (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
+        up from <winsock.h> via systime.h.
+        (HAVE_GETPAGESIZE): from Dan Holmsand, added.
+        (getpagesize): from Dan Holmsand, added.
+        Added #endif which was left dangling by Ben's mega patch; added
+        comment to help prevent this in the future.
+
+        * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
+
+2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
+
+       * console-msw.h (struct mswindows_device): Removed unnecessary
+       cached device geometry values.
+       Added update_tick and an accessor macro.
+       (Lisp_Devmode): Added lrecord declaration.
+       (struct msprinter_device): Contain devmode as a Lisp object.
+       Added mswindows_get_selected_frame_hwnd();
+
+       * console.h (struct console_methods): Indentation nitpicking.
+
+       * device-msw.c (mswindows_init_device): Do not initialize geometry
+       cache. Initialize update tick.
+       (mswindows_device_system_metrics): Ask the device for its geometry.
+       (global_free_2_maybe):
+       (devmode_to_hglobal):
+       (handle_printer_changes):
+       (ensure_not_printing):
+       (print_dialog_worker):
+       (Fmsprinter_print_setup_dialog):
+       (Fmsprinter_print_dialog):
+       (plist_get_margin):
+       (plist_set_margin):
+       (Fmsprinter_page_setup_dialog): Added functions.
+       (sync_printer_with_devmode):
+       (handle_devmode_changes):
+       (Fmsprinter_get_settings):
+       (Fmsprinter_select_settings):
+       (Fmsprinter_apply_settings):
+       (allocate_devmode):
+       (Fmsprinter_settings_copy):
+       (Fmsprinter_settings_despecialize):
+       (print_devmode):
+       (finalize_devmode):
+       (equal_devmode):
+       (hash_devmode): Added functions
+       (syms_of_device_mswindows): Init devmode lrecord class.
+
+       * device.h: Added an exfun for find-device.
+
+       * event-msw.c (mswindows_wnd_proc): Do not update the cached
+       geometry; although, recreate the device compatible DC.
+
+       * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
+       (msprinter_init_frame_3):
+       (msprinter_frame_property):
+       (msprinter_internal_frame_property_p):
+       (msprinter_frame_properties):
+       (msprinter_set_frame_properties): Removed 'orientation and 'duplex
+       print job properties (will move to device settings).
+
+       * lisp.h: Added symbols.
+
+       * general.c (syms_of_general): Declared them.
+
+       * hash.c (string_hash): Added.
+
+       * lrecord.h (lrecord_type): Added devmode lrecord type.
+
+2000-07-02  Mike Sperber <mike@xemacs.org>
+
+       * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
+       FreeBSD 4.0.
+
+2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
+       integer.
+
+2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * data.c (Fstring_to_number): Don't recognize floating point if
+       base is not 10.
+
+2000-06-22  Martin Buchholz  <martin@xemacs.org>
+
+       * glyphs-widget.c (tab_control_query_geometry):
+       (widget_query_geometry):
+       (button_query_geometry):
+       * glyphs.c (text_query_geometry):
+       Enforce type correctness.
+
+2000-06-18  Martin Buchholz  <martin@xemacs.org>
+
+       * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
+       * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
+
+2000-06-17  Martin Buchholz  <martin@xemacs.org>
+
+       * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
+       conflicts with gcc's fixincluded version of FOO.h.
+
+       * glyphs.h (image_instance_geometry): Remove trailing `,'
+
+2000-06-08  Mike Alexander  <mta@arbortext.com>
+
+        (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
+        (shove_thread): Don't write the same output twice
+        (make_ntpipe_output_stream): Increase priority of shove thread
+        (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
+        chance to run
+        (ntpipe_shove_closer): Don't delete the pipe until we're done with
+        it.
+
+2000-06-12  Ben Wing  <ben@xemacs.org>
+
+       * s\mingw32.h (sigset):
+       * s\windowsnt.h (sigset):
+       rename msw_ to mswindows_ for consistency with general convention.
+
+2000-06-12  Ben Wing  <ben@xemacs.org>
+
+       * console-msw.c:
+       * console-msw.c (mswindows_get_console_hwnd):
+       * console-msw.c (mswindows_ensure_console_allocated):
+       * console-msw.c (mswindows_hide_console):
+       * console-msw.c (mswindows_show_console):
+       * console-msw.c (mswindows_ensure_console_buffered):
+       * console-msw.c (mswindows_output_console_string):
+       * console-msw.c (mswindows_windows9x_p):
+       * console-msw.h:
+       * device-msw.c (mswindows_get_workspace_coords):
+       * device-msw.c (mswindows_device_system_metrics):
+       * dialog-msw.c (mswindows_popup_dialog_box):
+       * event-msw.c (mswindows_wnd_proc):
+       * frame-msw.c (mswindows_size_frame_internal):
+       * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
+       * menubar-msw.c (displayable_menu_item):
+       * menubar-msw.c (mswindows_char_is_accelerator):
+       * nt.c:
+       * nt.c (mswindows_sigset):
+       * nt.c (mswindows_sigrelse):
+       * nt.c (mswindows_sigpause):
+       * nt.c (mswindows_raise):
+       * nt.c (timer_proc):
+       * ntproc.c:
+       * ntproc.c (find_child_console):
+       * ntproc.c (sys_kill):
+       * print.c:
+       * print.c (std_handle_out_external):
+       * process-nt.c (find_child_console):
+       * process-nt.c (send_signal_the_95_way):
+       * process-nt.c (ensure_console_window_exists):
+       * process-nt.c (nt_create_process):
+       * syssignal.h:
+       rename msw_ to mswindows_ for consistency with general convention.
+
+       * emacs.c:
+       * dumper.c:
+       include nt.h, not syswindows.h.
+
+       * nt.c (mswindows_fstat):
+       * nt.c (mswindows_stat):
+       prefix mswindows_ instead of attempting to directly override the
+       library functions.  fix declarations.
+
+       * nt.h:
+       include syswindows.h.  move some sysdep.h stuff here.
+
+       * ntheap.h:
+       include syswindows.h, not <windows.h>.
+
+       * ntplay.c:
+       clean up headers.
+
+       * sysdep.c:
+       clean up headers.
+
+       * sysdep.c (sys_fstat):
+       * sysdep.c (sys_stat):
+       call mswindows versions when appropriate.
+
+       * sysdep.h:
+       move mswin decls to nt.h.
+
+       * syswindows.h:
+       add long comment describing appropriate use of the various windows
+       headers.
+
+2000-06-11  Ben Wing  <ben@xemacs.org>
+
+       * device-x.c: Correct doc string for sixth arg of x-get-resource.
+
+2000-06-10  Ben Wing  <ben@xemacs.org>
+
+       * Makefile.in.in (release):
+       Correction to make sure xemacs.exe always dumped when correct.
+
+       * alloca.c:
+       * balloon_help.c:
+       [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
+
+       * buffer.c (set_buffer_internal):
+       [[[[2]]]]: Remove HAVE_FEP code.
+
+       * buffer.c (init_initial_directory):
+       [3].
+
+       * bytecode.c:
+       [[[[4]]]]: limits.h standardly included in lisp.h; remove from
+       individual files.
+
+       * callproc.c:
+       * callproc.c (call_process_cleanup):
+       * callproc.c (Fold_call_process_internal):
+       * callproc.c (child_setup):
+       * callproc.c (getenv_internal):
+       * callproc.c (init_callproc):
+       * callproc.c (vars_of_callproc):
+       [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
+       __CYGWIN32__ -> CYGWIN.
+       DOS_NT -> WIN32_NATIVE.
+       Remove MSDOS support/references, converting to WIN32_NATIVE
+         where correct.
+       __MINGW32__ -> MINGW.
+       Fix windows.h includes.
+       Remove bogus HAVE_NTGUI.
+
+       * config.h.in:
+       [2].
+
+       * console-msw.c:
+       mswindows_message_outputted added for use in allowing startup
+       errors on the console to be seen.
+
+       * console-msw.c (msw_ensure_console_allocated):
+       * console-msw.c (msw_output_console_string):
+       * console-msw.c (DHEADER):
+       * console-msw.c (DOPAQUE_DATA):
+       * console-msw.c (DEVENT):
+       * console-msw.c (DCONS):
+       * console-msw.c (DCONSCDR):
+       * console-msw.c (DSTRING):
+       * console-msw.c (DVECTOR):
+       * console-msw.c (DSYMBOL):
+       * console-msw.c (DSYMNAME):
+       Fix warnings.
+
+       * console-stream.c (stream_init_console):
+       Fix text/binary problems.
+
+       * device-msw.c:
+       * device-msw.c (mswindows_finish_init_device):
+       * device-msw.c (mswindows_delete_device):
+       [1].
+
+       * device.c (handle_asynch_device_change):
+       [3].
+
+       * dgif_lib.c:
+       * dgif_lib.c (DGifOpenFileName):
+       * dgif_lib.c (DGifOpenFileHandle):
+       * dgif_lib.c (DGifGetLine):
+       * dgif_lib.c (DGifGetPixel):
+       Added config.h/lisp.h, fix up includes.
+       [1].
+
+       * dired-msw.c:
+       [4].
+
+       * dired.c:
+       * dired.c (file_name_completion):
+       * dired.c (Ffile_attributes):
+       * dired.c (syms_of_dired):
+       [1].
+
+       * dumper.c:
+       * dumper.c (pdump_file_unmap):
+       * dumper.c (pdump_load):
+       [1].
+
+       * editfns.c:
+       * editfns.c (Ftemp_directory):
+       * editfns.c (user_login_name):
+       * editfns.c (Fuser_real_login_name):
+       * editfns.c (get_home_directory):
+       [1].
+
+       * elhash.c (finish_marking_weak_hash_tables):
+       [[[[5]]]]: Fix GCC warnings.
+
+       * emacs.c:
+       * emacs.c (mswindows_handle_hardware_exceptions):
+       * emacs.c (make_arg_list_1):
+       * emacs.c (main_1):
+       * emacs.c (Fkill_emacs):
+       * emacs.c (Fdump_emacs):
+       [1].
+       Fix problems with nested crashes, add long comment.
+
+       * event-Xt.c (init_event_Xt_late):
+       [1].
+
+       * event-msw.c:
+       * event-msw.c (mswindows_dde_callback):
+       * event-msw.c (mswindows_handle_sticky_modifiers):
+       * event-msw.c (mswindows_wnd_proc):
+       [1].
+       [5].
+
+       * events.c (character_to_event):
+       [1].
+
+       * fileio.c:
+       * fileio.c (Ffile_name_directory):
+       * fileio.c (Ffile_name_nondirectory):
+       * fileio.c (directory_file_name):
+       * fileio.c (Fexpand_file_name):
+       * fileio.c (Fsubstitute_in_file_name):
+       * fileio.c (Ffile_name_absolute_p):
+       * fileio.c (check_executable):
+       * fileio.c (Ffile_readable_p):
+       * fileio.c (Ffile_accessible_directory_p):
+       * fileio.c (Ffile_modes):
+       * fileio.c (Funix_sync):
+       * fileio.c (vars_of_fileio):
+       [1]. [4].
+
+       [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
+
+       Expand getdefdir defn.
+       Fix bogus rename() comment.
+
+       [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
+       to use standard XEmacs include files, e.g. sysfile.h, rather
+       than system-specific includes.
+
+       * fns.c:
+       * fns.c (Fsubseq):
+       [5]. [6].
+
+       * frame.c (vars_of_frame):
+       [1].
+
+       * getloadavg.c:
+       * getloadavg.c (getloadavg):
+       [1]. [6].
+       #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
+       (We don't use it elsewhere in the code; just add a comment.)
+
+       * gif_io.c:
+       [6].
+       Add config.h.
+
+       * glyphs-msw.c:
+       * glyphs-msw.c (mswindows_resource_instantiate):
+       [1].
+
+       * glyphs-x.c (x_native_layout_instantiate):
+       [5].
+
+       * gui-msw.c (Fmswindows_shell_execute):
+       [1].
+
+       * insdel.c:
+       [4].
+
+       * lisp.h:
+       [4]. [5].
+
+       * lread.c (locate_file_in_directory_mapper):
+       [1].
+
+       * lstream.c:
+       [4].
+
+       * mem-limits.h:
+       * mem-limits.h (get_lim_data):
+       [1].
+
+       * menubar-msw.c:
+       [4].
+
+       * ndir.h:
+       [1].
+
+       * nt.c:
+       * nt.c (getwd):
+       * nt.c (closedir):
+       * nt.c (rva_to_section):
+       * nt.c (mswindows_executable_type):
+       [1]. [6].
+       Fix closedir() defn.
+
+       * nt.h:
+       [[[[8]]]]: *_OK defs moved to sysfile.h.
+
+       * ntproc.c:
+       [6]. [7].
+
+       * objects-x.c:
+       [4].
+
+       * print.c:
+       * print.c (std_handle_out_external):
+       [1]. [4].
+
+       * process-nt.c:
+       * process-nt.c (nt_create_process):
+       [6].
+       try to fix process quoting somewhat.
+
+       * process-unix.c (unix_create_process):
+       [1].
+
+       * process.c:
+       * process.c (vars_of_process):
+       Add Vnull_device.
+
+       * process.h:
+       [1].
+
+       * realpath.c:
+       * realpath.c (xrealpath):
+       [1].
+
+       * redisplay-tty.c (init_tty_for_redisplay):
+       [3].
+
+       * redisplay.c:
+       [4]. [6].
+
+       * scrollbar-msw.c:
+       [4].
+
+       * sheap.c:
+       * sheap.c (more_static_core):
+       * sheap.c (report_sheap_usage):
+       [5]. [6].
+
+       * signal.c:
+       * signal.c (alarm_signal):
+       [1]. [6].
+
+       * sound.c:
+       [6].
+
+       * strftime.c:
+       * strftime.c (zone_name):
+       [1]. [5].
+
+       * symsinit.h (init_sunpro):
+       [1].
+
+       * syscommctrl.h:
+       commctrl.h not in Cygwin b20.1.
+
+       * sysdep.c:
+       * sysdep.c (endif):
+       * sysdep.c (sys_subshell):
+       * sysdep.c (init_baud_rate):
+       * sysdep.c (emacs_get_tty):
+       * sysdep.c (emacs_set_tty):
+       * sysdep.c (tty_init_sys_modes_on_device):
+       * sysdep.c (init_system_name):
+       * sysdep.c (sys_open):
+       * sysdep.c (interruptible_open):
+       * sysdep.c (sys_fopen):
+       * sysdep.c (sys_mkdir):
+       * sysdep.c (sys_rename):
+       * sysdep.c (get_process_times_1):
+       [1]. [6].
+
+       * sysdep.h:
+       [1].
+
+       * sysdir.h:
+       * sysdir.h (DIRENTRY_NONEMPTY):
+       [1]. [6].
+
+       * sysdll.c (dll_init):
+       * sysdll.h:
+       [1].
+
+       * sysfile.h:
+       [1]. [6]. [8].
+       added text/binary defs.
+
+       * sysfloat.h:
+       [1].
+
+       * sysproc.h:
+       * sysproc.h (EDESTADDRREQ):
+       * sysproc.h (poll_fds_for_input):
+       [1]. [6].
+
+       * syspwd.h:
+       [6].
+
+       * syssignal.h:
+       [1].
+
+       * systime.h:
+       [1]. [6].
+
+       * systty.h:
+       [1].
+
+       * syswindows.h:
+       [1].
+       Always define WIN32_LEAN_AND_MEAN.
+
+       * unexcw.c (unexec):
+       [5].
+
+       * unexec.c:
+       * unexec.c (copy_text_and_data):
+       * unexec.c (adjust_lnnoptrs):
+       [1].
+
+       * unexnt.c:
+       * unexnt.c (_start):
+       [1].
+
+2000-06-07  Ben Wing  <ben@xemacs.org>
+
+       * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
+       was used only as a model.  We've long since extracted any useful
+       logic or code out of this. (I just did an exhaustive search.)
+
+       * s\msdos.h: Removed.
+
+       * s\windows95.h: Removed.
+
+2000-06-10  Ben Wing  <ben@xemacs.org>
+
+       * s\cygwin32.h:
+       [1]. [5].
+       Don't use extern with fun defs.
+
+       * s\mingw32.h:
+       [1]. [7].
+       Remove nt\inc include.
+       Remove getdisk, getdefdir. (The former is unused, the latter
+       expanded in fileio.h.)
+
+       * s\windowsnt.h:
+       * s\windowsnt.h (WIN32_NATIVE):
+       * s\windowsnt.h (HAVE_STRCASECMP):
+       [1]. [7].
+       Add long comment about preprocessor changes.
+       Remove getdisk, getdefdir. (The former is unused, the latter
+       expanded in fileio.h.)
+
+2000-06-10  Ben Wing  <ben@xemacs.org>
+
+       * m\arm.h:
+       * m\delta.h:
+       * m\intel386.h:
+       * m\sequent.h:
+       * m\template.h:
+       * m\windowsnt.h:
+       [1].
+       Remove bogus/unused NO_SOCK_SIGIO.
+
+2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
+
+       * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
+       not an Emchar.
+
+2000-06-04  Mike Sperber <mike@xemacs.org>
+
+       * casetab.c (set_case_table): For `set-standard-case-table',
+       actually deposit the new case tables where the rest of XEmacs can
+       see them.
+
+2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
+
+       * data.c (Faset): Don't cast XCHAR() to unsigned char.
+
+2000-06-05  Ben Wing  <ben@xemacs.org>
+
+       * callproc.c (child_setup): Don't do close_load_descs() under
+       MS Windows.  Put in a comment explaining why.
+
+2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
+
+       * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
+       Toolkit shell" which breaks `kill-compilation' on Windows NT
+       native, retaining STDERR handling improvements.
+
+2000-06-01  Andreas Jaeger  <aj@suse.de>
+
+       * s/s390.h: Support for S390, based on a patch by Martin
+       Schwidefsky <schwidefsky@de.ibm.com>.
+
+2000-05-30  Andy Piper  <andy@xemacs.org>
+
+       * window.c (allocate_window):
+       (make_dummy_parent):
+       (Fset_window_configuration): use new hashtable type.
+
+       * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
+       (struct image_instantiator_methods):
+       (struct Lisp_Image_Instance): make instance geometry signed.
+
+       * glyphs.c (instantiate_image_instantiator):
+       (image_instance_query_geometry):
+       (image_instance_layout):
+       (image_instance_layout):
+       (query_string_geometry):
+       (text_query_geometry):
+       (image_instantiate):
+       (image_instantiate):
+       (cache_subwindow_instance_in_frame_maybe):
+       (subwindow_query_geometry): make instance geometry signed.
+
+       * glyphs-widget.c (widget_query_geometry):
+       (widget_layout):
+       (button_query_geometry):
+       (tree_view_query_geometry):
+       (tab_control_query_geometry):
+       (layout_query_geometry):
+       (layout_layout):
+       (native_layout_layout): make instance geometry signed.
+
+2000-05-29  Olivier Galibert  <galibert@pobox.com>
+
+       * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
+       constant.
+
+       * general.c (syms_of_general): Add Qfull_assoc symbol.
+
+       * data.c (finish_marking_weak_lists): Mark full-assoc lists
+       correctly.
+       (decode_weak_list_type): Decode full-assoc type.
+       (encode_weak_list_type): Encode full-assoc type.
+       (Fmake_weak_list): Update doc string.
+
+2000-05-30  Andy Piper  <andy@xemacs.org>
+
+       * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
+
+       * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
+       (decode_hash_table_weakness): ditto.
+       (Fhash_table_weakness): ditto.
+       (Fhash_table_type): ditto.
+       (finish_marking_weak_hash_tables): ditto.
+       (hash_table_weakness_validate): ditto.
+       (syms_of_elhash): ditto.
+
 2000-05-28  Martin Buchholz <martin@xemacs.org>
 
        * XEmacs 21.2.34 is released.
        * 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 (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.
 
        * 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_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 (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):
        * 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 (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): 
+       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.
        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):
        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 (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>
 
 
        * 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_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):
        * 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):
        * 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):
        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):
        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
 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
 
        Patch by Bill Perry.
-       
-       * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call 
+
+       * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
        back data instead of #ifdef.
        (Fscrollbar_page_down): ditto.
 
 
        * buffer.h:
        Kludge for defining Qmswindows_tstr.
-       
+
        * nt.c:
        * nt.c (open_input_file):
        * nt.c (open_output_file):
        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):
        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.
        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.
        (XIMAGE_INSTANCE_DISPLAY_X):
        (XIMAGE_INSTANCE_DISPLAY_Y):
        (XIMAGE_INSTANCE_DISPLAY_WIDTH):
-       (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.  
+       (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
        remove subwindow_cachel structure and function references.
        (image_instance_type_to_mask): inline from glyphs.c
 
        * 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_layout): return something. Fail if not initialized.
        (layout_query_geometry): ditto.
        (image_instantiator_native_layout): new function. Initialized the
        native layout type.
        * 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
        (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):
        * 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 (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_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
 
        * fns.c (Freplace_list):
        fix small typo in doc string.
-       
+
        * lisp.h:
        declare enqueue_Xt_dispatch_event.
 
        * 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):
 
 2000-04-20  Martin Buchholz  <martin@xemacs.org>
 
-       * filelock.c (fill_in_lock_file_name): 
+       * filelock.c (fill_in_lock_file_name):
        ANSIfy.
        Check for IS_ANY_SEP instead of '/'.
-       (lock_file_1): 
+       (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.
 
 2000-04-19  Martin Buchholz  <martin@xemacs.org>
 
-       * sysdep.c (get_pty_max_bytes): 
+       * 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): 
+       * 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>
        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-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):
 
        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.
        new error code. Break compilation until finished.
        (play_sound_data): error code.
 
-       * nativesound.h (play_sound_file): 
+       * nativesound.h (play_sound_file):
          (play_sound_data): Prototype in new header.
 
 2000-03-31  Andy Piper  <andy@xemacs.org>
 
 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
 
-       * scrollbar-x.c (x_update_vertical_scrollbar_callback): 
+       * 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.
 
        minibuffer being the selected window when the gutter content is
        instantiated.
 
-       * gui.c (parse_gui_item_tree_list): add probably unneccessary
+       * gui.c (parse_gui_item_tree_list): add probably unnecessary
        gcpros.
        (parse_gui_item_tree_children): ditto.
        (parse_gui_item_tree_item): ditto.
 
        * redisplay.c (generate_modeline): don't take gutters into account.
        (generate_modeline): ditto.
-       (redisplay_frame): small gutter display optimisation.
+       (redisplay_frame): small gutter display optimization.
 
        * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
 
        (end_of_text):
        (end_of_data): Do not compile in if using PDUMP.
 
-       * symsinit.h: Protptyped vars_of_nt().
+       * symsinit.h: Prototyped vars_of_nt().
 
        * ntproc.c (windows9x_p): Added, instead of os_subtype.
        (find_child_console): Use it.
        * glyphs.h: Prototyped it.
 
        * redisplay.c (add_glyph_rune): Call it.
-       (redisplay_window): Reset glyphs cachels when frame faces has
+       (redisplay_window): Reset glyphs cachels when frame faces have
        changed, thus forcing recomputation of built-in border glyphs.
 
 2000-01-30  Martin Buchholz  <martin@xemacs.org>
        xnew_array_and_zero, thereby simplifying the code.
 
        * mule-charset.c (make_charset): Make sure entire object is
-       intialized, to avoid Purify warnings.
+       initialized, to avoid Purify warnings.
 
        * alloc.c (resize_string): Fix unlikely crash with big strings.
 
 
 2000-01-23  Martin Buchholz  <martin@xemacs.org>
 
-       * alloc.c (make_float): Make sure entire object is intialized, to
+       * alloc.c (make_float): Make sure entire object is initialized, to
        avoid Purify warnings.
        (pdump_register_sub): Remove useless assignment.
        (pdump): Use xmalloc, not malloc.
        (image_instantiator_tab_control):
        (image_instantiator_labels):
        (image_instantiator_layout): ditto.
-       (image_instantiator_format_create_glyphs_widget): Call preceeding
+       (image_instantiator_format_create_glyphs_widget): Call preceding
        functions.
 
 2000-01-22  Martin Buchholz  <martin@xemacs.org>