update.
[chise/xemacs-chise.git-] / src / ChangeLog
index c8ef972..38d405c 100644 (file)
@@ -1,3 +1,594 @@
+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
 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
 
        * mule-charset.c (Vcharacter_ideographic_radical_table): New
 
        * lisp.h (make_older_vector): New prototype in UTF-2000.
 
 
        * lisp.h (make_older_vector): New prototype in UTF-2000.
 
-2000-05-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
-
-       * unexelf.c: Sync up with Emacs 20.6.90 to fix problem with most
-       current development versions of binutils.
-
 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
 
        * lrecord.h (enum lrecord_type): Rename
 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
 
        * lrecord.h (enum lrecord_type): Rename
 
 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
 
 
 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
 
-       * mule-charset.c (vars_of_mule_charset):
-       Update `utf-2000-version' to 0.6.
+       * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
+       to 0.6.
 
 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
 
 
 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
 
        (Vcharset_thai_tis620): Likewise.
        (Vcharset_katakana_jisx0201): Likewise.
 
        (Vcharset_thai_tis620): Likewise.
        (Vcharset_katakana_jisx0201): Likewise.
 
-2000-05-01  Martin Buchholz <martin@xemacs.org>
+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.
 
 
-       * XEmacs 21.2.33 is released.
+       * fileio.c (Ffile_truename): Make file-truename work on windows.
 
 
-2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
+2000-11-29  Didier Verna  <didier@xemacs.org>
 
 
-       * make-src-depend: Allow dots in header file name.
+       * 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-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
+2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
 
 
-       * mule-charset.h (struct charset_lookup): Add
-       next_allocated_1_byte_leading_byte and
-       next_allocated_2_byte_leading_byte.
-       * mule-charset.c: Move above two variables so that those values
-       will be dumped.
+       * search.c (string_match_1): Don't set last_thing_searched
+       when search failed.
+
+2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
 
 
-2000-04-26  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.
 
 
-       * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
-       when string length is zero.
-       (find_charsets_in_emchar_string): Ditto.
+2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
 
 
-2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
+       * 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.
 
 
-       * lisp.h: extern Qdialog and Qmenubar.
+       * menubar-x.c (command_builder_find_menu_accelerator):
+       Initialize before use.
 
 
-       * gui-x.c: added events.h.
-               also fixed typo which made the file uncompilable.
+2000-11-23  Andy Piper  <andy@xemacs.org>
 
 
-       * general.c: Added Qmenubar and Qdialog
+       * unexcw.c (unexec): make the resulting executable executable.
 
 
-2000-04-28  Ben Wing  <ben@xemacs.org>
+2000-11-21  Martin Buchholz  <martin@xemacs.org>
 
 
-       * frame-msw.c (mswindows_init_frame_1):
-       * frame-msw.c (mswindows_mark_frame):
-       * event-msw.c (mswindows_enqueue_dispatch_event):
-       * console-msw.h:
-       * console-msw.h (struct mswindows_frame):
-       * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
-       there are now three hash tables for callbacks.
-       mswindows_enqueue_dispatch_event is no longer static.
-       
-       * dialog-x.c (maybe_run_dbox_text_callback):
-       * dialog-x.c (dbox_descriptor_to_widget_value):
-       switch to new cons3 form for callbacks.
-       
-       * glyphs-msw.c (mswindows_register_gui_item):
-       * glyphs-msw.c (mswindows_widget_instantiate):
-       * glyphs-msw.c (add_tree_item):
-       * glyphs-msw.c (add_tab_item):
-       new image instance parameter, so it can be passed to callback-ex.
-       respect :callback-ex as well as :callback.
-       
-       * glyphs-widget.c (VALID_GUI_KEYWORDS):
-       add :callback-ex.
-       
-       * glyphs.c (print_image_instance):
-       prettify, e.g. now prints widget type.
-       
-       * gui-x.h:
-       certain funs have new image instance parameter.
-       
-       * gui.c:
-       * gui.c (get_gui_callback):
-       * gui.c (gui_item_add_keyval_pair):
-       * gui.c (gui_item_init):
-       * gui.c (gui_add_item_keywords_to_plist):
-       * gui.c (mark_gui_item):
-       * gui.c (gui_item_hash):
-       * gui.c (gui_item_equal):
-       * gui.c (copy_gui_item):
-       * gui.c (syms_of_gui):
-       recognize callback-ex in a number of places.
-       also, fix the annoying "can't get out of yes-no dialog" bug.
-       
-       * gui.h:
-       * gui.h (struct Lisp_Gui_Item):
-       recognize callback-ex in a number of places.
+       * doc.c (get_doc_string):
+       Use size_t, not int, for result of XSTRING_LENGTH.
 
 
-       * menubar-x.c (menu_item_descriptor_to_widget_value_1):
-       new parameter in button_item_to_widget_value.
-       
-       * glyphs-x.c (x_update_widget):
-       * glyphs-x.c (x_button_instantiate):
-       * glyphs-x.c (x_button_update):
-       * glyphs-x.c (x_progress_gauge_instantiate):
-       * glyphs-x.c (x_edit_field_instantiate):
-       * glyphs-x.c (x_combo_box_instantiate):
-       * glyphs-x.c (x_tab_control_instantiate):
-       * glyphs-x.c (x_label_instantiate):
-       new image instance parameter in various places.
-       
-       * event-Xt.c:
-       * event-Xt.c (enqueue_Xt_dispatch_event):
-       this fun gets exported.
-       
-       * gui-msw.c:
-       * gui-msw.c (mswindows_handle_gui_wm_command):
-       handle both :callback and :callback-ex, and generate our own
-       event because it's one of the callback-ex arguments.
-       
-       * gui-x.c:
-       * gui-x.c (popup_selection_callback):
-       handle both :callback and :callback-ex, and generate our own
-       event because it's one of the callback-ex arguments.
-       * gui-x.c (button_item_to_widget_value):
-       * gui-x.c (gui_items_to_widget_values_1):
-       * gui-x.c (gui_item_children_to_widget_values):
-       * gui-x.c (gui_items_to_widget_values):
-       new image instance parameter in various places.
+       * 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.
 
 
-       * fns.c (Freplace_list):
-       fix small typo in doc string.
-       
-       * lisp.h:
-       declare enqueue_Xt_dispatch_event.
+       * 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-04-28  Ben Wing  <ben@xemacs.org>
+2000-11-22  Martin Buchholz  <martin@xemacs.org>
 
 
-       * buffer.c:
-       * buffer.c (Frecord_buffer):
-       * buffer.c (syms_of_buffer):
-       delete record-buffer-hook.
-       
-       * fns.c:
-       * fns.c (Freplace_list):
-       * fns.c (syms_of_fns):
-       new primitive replace-list.
-       
-       * frameslots.h:
-       slot for old buffer-alist.
-       
        * lisp.h:
        * lisp.h:
-       exfun replace-list.
-       
-       * redisplay.c:
-       * redisplay.c (redisplay_frame):
-       * redisplay.c (syms_of_redisplay):
-       * redisplay.c (vars_of_redisplay):
-       new hook buffer-list-changed-hook.
-       call it.
+       * 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-04-27  Ben Wing  <ben@xemacs.org>
+2000-11-20  Didier Verna  <didier@xemacs.org>
 
 
-       * extents.h: extern in_modeline_generation.
+       * 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.
 
 
-       * redisplay.c (generate_formatted_string_db): set
-       in_modeline_generation.
+2000-11-20  Andy Piper  <andy@xemacs.org>
 
 
-       * extents.c (extent_changed_for_redisplay): don't mark redisplay
-       flags if in modeline generation.  otherwise frame-modified-tick
-       is ticked far too often.
-       Declare in_modeline_generation.
+       * unexcw.c (copy_executable_and_dump_data_section): Only do bss
+       messing with a debug environment.
 
 
-2000-04-26  Ben Wing  <ben@xemacs.org>
+2000-11-20  Martin Buchholz  <martin@xemacs.org>
 
 
-       * emacs.c (vars_of_emacs): document quick-build "error-checking"
-       option.
-       (vars_of_emacs): add quick-build as an error-checking option.
-       A bit kludgy, but there doesn't seem much point in creating
-       a real var for this.
+       * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
 
 
-       * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
+2000-11-20  Martin Buchholz  <martin@xemacs.org>
 
 
-2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
+       * casetab.c (Fcase_table_p): Fix compile error and crash.
 
 
-       * redisplay.h (struct display_line): Add a new variable,
-       line_continuation.
+2000-11-18  Philip Aston  <philipa@mail.com>
 
 
-       * redisplay.c (create_text_block): Set dl->line_continuation if
-       the line continues.
-       (create_string_text_block): Ditto.
-       (regenerate_window_incrementally): Use line_continuation instead
-       of searching continuation glyph.
-       (add_margin_runes): Call add_glyph_rune.
-       (add_glyph_rune): Handle margin glyph.
+       * s/cygwin32.h: Cygwin has SVR4-like pty support.
 
 
-2000-04-20  Martin Buchholz  <martin@xemacs.org>
+2000-11-18  Martin Buchholz  <martin@xemacs.org>
 
 
-       * filelock.c (fill_in_lock_file_name): 
-       ANSIfy.
-       Check for IS_ANY_SEP instead of '/'.
-       (lock_file_1): 
-       Avoid generating gratuitous garbage.  Call user_login_name() directly.
-       Never check errno without first seeing that system call failed.
-       (unlock_file): Add GCPRO.
-       (Flock_buffer): Fix docstring.
-       (Ffile_locked_p): Fix docstring.  Add GCPRO.
+       * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
+       * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
 
 
-2000-04-19  Martin Buchholz  <martin@xemacs.org>
+2000-11-17  Martin Buchholz  <martin@xemacs.org>
 
 
-       * sysdep.c (get_pty_max_bytes): 
-       Fix hangs on DEC OSF 4.0 when (process-send-string) sends
-       strings longer than 252 bytes.
+       * 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.
 
 
-       * md5.c: Unconditionally include ANSI header <limits.h>
+2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
 
 
-       * glyphs-x.c (convert_EImage_to_XImage): 
-       * lisp-union.h (union Lisp_Object): 
-       Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
+       * regex.c (RE_TR_ASCII): New function.
+       (RE_TRANSLATE): Call it.
 
 
-2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
+2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
 
 
-       * filelock.c (current_lock_owner): Remove unused variable o, p.
+       * buffer.h (TRT_TABLE_OF): Remove assert.
+       (IN_TRT_TABLE_DOMAIN): Removed.
 
 
-2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
+2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
 
 
-       * callint.c: Remove multiply defined symbol Qlet
-       (syms_of_callint): ditto.
+       * free-hook.c (log_gcpro):
+       (show_gcprohist): Add support for GCPRO5.
 
 
-2000-04-14  Andy Piper  <andy@xemacs.org>
+2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
 
 
-       * general.c (syms_of_general): add last-command, this-command, let
-       and funcall.
+       * 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.
+
+2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
+
+       * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
+       start cache.
+       (updating_line_start_cache): Gone.
+       (regenerate_window): Replace resetting of VERTICAL_CLIP by
+       generic code to force a minimum of 1 line laid out in the
+       CMOTION_DISP case.
+
+2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
+
+       * glyphs.c (instantiate_image_instantiator): Check for initialized
+       height & width no longer special cases IMAGE_NOTHING.
+       (nothing_instantiate): Set height and width of instance.
+
+2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * unexelf.c (unexec): Search for ".data" section.
+       Initialize new_data2_offset from old_data_index.
+       Remove redundant check for ElfW.
+
+2000-05-23  Andy Piper  <andy@xemacs.org>
+
+       * glyphs.c (get_image_instantiator_governing_domain): allow more
+       specific domains as the governing domain rather than expecting an
+       exact match. This fixes problems with layouts.
+
+2000-05-22  Andy Piper  <andy@xemacs.org>
+
+       * redisplay-output.c (compare_runes): check for non-images
+
+       * glyphs.c (set_glyph_dirty_p): ditto.
+       (update_glyph_cachel_data): ditto.
+
+       * glyphs-widget.c (layout_post_instantiate): ditto.
+       (layout_post_instantiate): ditto.
+
+       * event-msw.c (mswindows_wnd_proc): warning removal.
+
+2000-05-12  Craig Lanning  <CraigL@DyCon.com>
+
+       * s\mingw32.h: Added #undef for CLASH_DETECTION.
+
+       * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
+
+       * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
+
+       * nt.c (rva_to_section): mingw32 needs rva_to_section.
+       (mswindows_executable_type): mingw32 now has enough headers for
+       this to work.
+
+2000-05-20  Andy Piper  <andy@xemacs.org>
+
+       * console-msw.c (mswindows_output_last_error): ; -> ,
+
+2000-05-12  Andy Piper  <andy@xemacs.org>
+
+       * console-msw.c (FROB): compare ints with ints.
+
+2000-05-11  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-x.c (x_finalize_image_instance): make minimal build
+       happy.
+
+2000-05-20  Ben Wing  <ben@xemacs.org>
+
+       * event-Xt.c:
+       * event-Xt.c (vars_of_event_Xt):
+       move modifier-keys-are-sticky to event-stream.c.
+
+       * event-msw.c:
+       * event-msw.c (mswindows_enqueue_mouse_button_event):
+       * event-msw.c (key_needs_default_processing_p):
+       * event-msw.c (XEMSW_LCONTROL):
+       * event-msw.c (mswindows_handle_sticky_modifiers):
+       * event-msw.c (FROB):
+       * event-msw.c (clear_sticky_modifiers):
+       * event-msw.c (output_modifier_keyboard_state):
+       * event-msw.c (output_alt_keyboard_state):
+       * event-msw.c (mswindows_wnd_proc):
+       * event-msw.c (mswindows_modifier_state):
+       * event-msw.c (emacs_mswindows_handle_magic_event):
+       implement sticky modifiers.
+
+       * event-stream.c:
+       * event-stream.c (vars_of_event_stream):
+       move modifier-keys-are-sticky here.
+
+       * lisp.h:
+       add CHECK_FUNCTION.
+
+       * rangetab.c:
+       implement map-range-table.
+
+
+2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * redisplay-tty.c (reset_tty_modes):
+       (tty_redisplay_shutdown): Adjust argument type to
+       tty_frame_output_end.
+
+2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * eval.c (Fbacktrace): Don't output a line with only right
+       parenthesis.
+
+2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
+
+       * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
+       (Fpq_reset_poll): Ditto.
+
+2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
+
+2000-05-16  Ben Wing  <ben@xemacs.org>
+
+       * buffer.c:
+       * buffer.c (dfc_convert_to/from_internal_format):
+       * buffer.c (reinit_vars_of_buffer):
+       Fix conversion functions to allow reentrancy.
+
+       * console-msw.c:
+       * console-msw.c (mswindows_output_last_error):
+       New fun, generally useful -- output a human-readable
+       version of GetLastError() on the console.
+
+       * console-msw.h:
+       * console-msw.h (struct mswindows_frame):
+       Changes for DeferWindowPos.  Declare mswindows_output_last_error().
+
+       * console-stream.c (stream_output_begin):
+       * console-stream.c (stream_output_end):
+       * console-stream.c (stream_output_vertical_divider):
+       * console-stream.c (stream_clear_region):
+       * console-stream.c (stream_flash):
+       * console-stream.c (console_type_create_stream):
+       Delete blank stream methods, not needed.
+
+       * console.h (struct console_methods):
+       Split begin/end methods into window and frame.
+
+       * event-msw.c:
+       * event-msw.c (mswindows_handle_paint):
+       * event-msw.c (output_alt_keyboard_state):
+       * event-msw.c (mswindows_wnd_proc):
+       * event-msw.c (vars_of_event_mswindows):
+       Comment about problems with ignored-expose.
+       Define mswindows-debug-events; not really implemented.
+
+       * frame-msw.c (mswindows_init_frame_1):
+       random cleanups.
+
+       * glyphs-msw.c:
+       * glyphs-msw.c (begin_defer_window_pos):
+       * glyphs-msw.c (mswindows_unmap_subwindow):
+       * glyphs-msw.c (mswindows_map_subwindow):
+       * glyphs-msw.c (mswindows_resize_subwindow):
+       Use DeferWindowPos to reduce flashing when mapping/unmapping.
+
+       * glyphs.c (make_image_instance_1):
+       Fix crash.
+
+       * gutter.c (Fredisplay_gutter_area):
+       Use new begin/end methods.
+
+       * lisp.h (Dynarr_new2):
+       New creation fun.
+
+       * redisplay-msw.c:
+       * redisplay-msw.c (mswindows_frame_output_begin):
+       * redisplay-msw.c (mswindows_frame_output_end):
+       * redisplay-msw.c (console_type_create_redisplay_mswindows):
+       New begin/end methods -- handle DeferWindowPos.
+
+       * redisplay-output.c (redisplay_move_cursor):
+       * redisplay-output.c (redraw_cursor_in_window):
+       * redisplay-output.c (redisplay_update_line):
+       * redisplay-output.c (redisplay_output_window):
+       New begin/end methods.
+
+       * redisplay-tty.c:
+       * redisplay-tty.c (tty_frame_output_begin):
+       * redisplay-tty.c (tty_frame_output_end):
+       * redisplay-tty.c (console_type_create_redisplay_tty):
+       New begin/end methods.
+
+       * redisplay-x.c:
+       * redisplay-x.c (x_window_output_begin):
+       * redisplay-x.c (x_window_output_end):
+       * redisplay-x.c (console_type_create_redisplay_x):
+       New begin/end methods.
+
+       * redisplay.c (redisplay_frame):
+       * redisplay.c (Fredisplay_echo_area):
+       New begin/end methods.
+       use MAYBE_DEVMETH for clear_frame; it may not exist.
+
+       * window.h (WINDOW_XFRAME):
+       WINDOW_XFOO macros -- get locale and decode struct pointer.
+
+
+2000-05-12  Ben Wing  <ben@xemacs.org>
+
+       * emacs.c:
+       * emacs.c (ensure_no_quitting_from_now_on):
+       * emacs.c (fatal_error_signal):
+       * emacs.c (mswindows_handle_hardware_exceptions):
+       * emacs.c (main):
+       * emacs.c (Fkill_emacs):
+       * emacs.c (shut_down_emacs):
+       * emacs.c (assert_failed):
+       various improvements in fatal error handling.
+
+       * eval.c:
+       move preparing_for_armageddon to emacs.c.
+
+       * lisp.h:
+       declare fatal_error_in_progress.
+
+       * print.c:
+       * print.c (std_handle_out_external):
+       * print.c (std_handle_out_va):
+       * print.c (stderr_out):
+       * print.c (stdout_out):
+       use console under mswin when no standard output.
+       don't do code conversion during fatal error.
+
+       * scrollbar.c (Fscrollbar_page_up):
+       * scrollbar.c (Fscrollbar_page_down):
+       fix missing else.  reindent.
+
+2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
+
+       Emergency fix.
+
+       * glyphs.h (GLYPH_CACHEL_DESCENT):
+       (GLYPH_CACHEL_DESCENT):
+       (GLYPH_CACHEL_DESCENT):
+       * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
+       used in case these are inline functions.
+       Use more absurd values to error check.
+
+       include window.h for error check functions.
+
+2000-05-11  Ben Wing  <ben@xemacs.org>
+
+       * cmdloop.c (Freally_early_error_handler):
+       Display message box under windows; otherwise, message will disappear
+       before it can be viewed.
+
+       * console-msw.c:
+       * console-msw.c (Fmswindows_message_box):
+       * console-msw.c (FROB):
+       * console-msw.c (syms_of_console_mswindows):
+       Define new fun `mswindows-message-box'.
+       #### I will merge this into `popup-dialog-box'; just give me
+       a bit of time.
+
+       * general.c:
+       * general.c (syms_of_general):
+       Some new symbols used in `mswindows-message-box'.
+
+       * glyphs.c:
+       * glyphs.c (Fset_image_instance_property):
+       put warning in this fun.
+
+       * glyphs.h:
+       * glyphs.h (GLYPH_CACHEL_WIDTH):
+       * glyphs.h (GLYPH_CACHEL_ASCENT):
+       * glyphs.h (GLYPH_CACHEL):
+       * glyphs.h (GLYPH_CACHEL_GLYPH):
+       define error-checking versions to try to catch a bug i've seen --
+       redisplay gets in an infinite loop because the glyph width of the
+       continuation glyph is 65535.
+
+       * lisp.h:
+       Extern message-box stuff.
+
+       * window.c (allocate_window):
+       * window.c (make_dummy_parent):
+       * window.c (Fset_window_configuration):
+       Use EQUAL not EQ for subwindow caches to make them work a bit
+       better. (Something is still very broken.)
+
+
+2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * glyphs.c (image_instantiate): Suppress gcc warnings.
+       (Fmake_image_instance): Fix doc string.
+       * specifier.c (Fmake_specifier): Ditto.
+
+2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * paths.h.in (PATH_LOCK): Removed.
+       * config.h.in (LOCKDIR_USER_DEFINED): Removed.
+       * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
+
+2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * fns.c (Ffeaturep): Update e-mail address in doc-string.
+       Document (featurep '(and xemacs 21.02)).
+
+2000-05-09  Ben Wing  <ben@xemacs.org>
+
+       * buffer.c (complex_vars_of_buffer):
+       update modeline-format doc.
+
+       * device.h:
+       comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
+
+       * emacs.c:
+       timeline of all released versions of Emacs, for use in creating
+       authorship comments and in synching up.
+
+       * glyphs-widget.c (image_instantiator_buttons):
+       * glyphs-widget.c (image_instantiator_edit_fields):
+       * glyphs-widget.c (image_instantiator_combo_box):
+       * glyphs-widget.c (image_instantiator_scrollbar):
+       * glyphs-widget.c (image_instantiator_progress_guage):
+       * glyphs-widget.c (image_instantiator_tree_view):
+       * glyphs-widget.c (image_instantiator_tab_control):
+       * glyphs-widget.c (image_instantiator_labels):
+       * glyphs-widget.c (image_instantiator_layout):
+       * glyphs-widget.c (image_instantiator_native_layout):
+       rename decode_domain method to governing_domain.
+
+       * glyphs.c:
+       * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
+       * glyphs.c (add_entry_to_device_ii_format_list):
+       make sure we don't put an entry more than once into the list.
+       * glyphs.c (check_instance_cache_mapper):
+       *************************************************************
+       allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
+       HAVE BEEN GETTING.
+       *************************************************************
+       * glyphs.c (get_image_instantiator_governing_domain):
+       clean up, expand on new concept of governing domain.
+       * glyphs.c (instantiate_image_instantiator):
+       * glyphs.c (allocate_image_instance):
+       use governing_domain instead of cache_domain in naming.
+       * glyphs.c (Fvalid_image_instance_type_p): fix docs.
+       * glyphs.c (make_image_instance_1):
+       * glyphs.c (Fmake_image_instance):
+       allow for any domain (not just device), and process the
+       governing domain correctly.  very big doc fix.
+       * glyphs.c (Fimage_instance_domain):
+       new primitive, to retrieve the governing domain of an image instance.
+       * glyphs.c (image_instantiate):
+       use new governing_domain stuff.  this fixes a crash you could get
+       by instantiating certain widget glyphs in frame locales. (should
+       signal an error instead of crashing.)
+       * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
+       * glyphs.c (Fglyphp): clean up doc.
+       * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
+       * glyphs.c (syms_of_glyphs):
+       declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
+       * glyphs.c (image_instantiator_format_create): add some comments about
+       bogus code.
+       * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
+       for current-display-table. (Apparently Hrjove implemented in 1998 a
+       design I wrote up in 1996, but didn't update the doc string.)
+
+       * glyphs.h: clean up a doc string.
+       * glyphs.h (governing_domain):
+       * glyphs.h (struct image_instantiator_methods):
+       changes for governing_domain stuff.
+
+       * gutter.c:
+       * gutter.c (Fgutter_specifier_p):
+       * gutter.c (Fgutter_size_specifier_p):
+       * gutter.c (Fgutter_visible_specifier_p):
+       * objects.c:
+       * objects.c (Fcolor_specifier_p):
+       * objects.c (Ffont_specifier_p):
+       * objects.c (Fface_boolean_specifier_p):
+       doc strings moved to make-*-specifier.
+
+       * redisplay.c (add_disp_table_entry_runes_1):
+       * redisplay.c (generate_fstring_runes):
+       * redisplay.c (screen):
+       add random comments and doc strings.
+
+       * specifier.c:
+       * specifier.c (Fmake_specifier):
+       major overhaul of this doc string.
+
+       * specifier.c (Fvalid_specifier_domain_p):
+       comment about the bogosity of image instances being domains.
+       * specifier.c (decode_domain):
+       now non-static, used in glyphs.c.
+       * specifier.c (specifier_instance):
+       comment about the bogosity of image instances being domains.
+       * specifier.c (Fgeneric_specifier_p):
+       move doc string to make-generic-specifier.
+       * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
+       rebackslashify.
+
+       * specifier.h:
+       * specifier.h (DOMAIN_FRAME):
+       * specifier.h (DOMAIN_LIVE_P):
+       * specifier.h (DOMAIN_XDEVICE):
+       rebackslashify.
+       add comments about problems with these macros.
+       prototype for decode_domain.
+
+       * toolbar.c:
+       * toolbar.c (Ftoolbar_specifier_p):
+       move doc string to `make-toolbar-specifier'.
+
+       * window.c (window_unmap_subwindows_cache_mapper):
+       *************************************************************
+       allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
+       HAVE BEEN GETTING.
+       *************************************************************
+
+2000-05-09  Andy Piper  <andy@xemacs.org>
+
+       * glyphs.h: declare reset_frame_subwindow_instance_cache.
+
+       * window.c (Fset_window_configuration): reset the frame subwindow
+       cache and re-initialize the window subwindow caches.
+
+       * glyphs.c (reset_frame_subwindow_instance_cache): new function.
+
+2000-05-09  Ben Wing  <ben@xemacs.org>
+
+       * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
+       DWORD.
+
+2000-04-26  Mike Woolley  <mike@bulsara.com>
+
+       * ntheap.c: Changed recreate_heap to limit the amount reserved
+       for the heap to that which is actually available. Also now
+       displays a message box (with some dignostics) in the event that
+       it still can't start.
+
+2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
+
+       * callproc.c (Fold_call_process_internal): GCPRO path
+
+2000-05-08  Jan Vroonhof  <jan@xemacs.org>
+
+       Patch by Bill Perry.
+
+       * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
+       back data instead of #ifdef.
+       (Fscrollbar_page_down): ditto.
+
+2000-05-07  Ben Wing  <ben@xemacs.org>
+
+       * buffer.h:
+       Kludge for defining Qmswindows_tstr.
+
+       * nt.c:
+       * nt.c (open_input_file):
+       * nt.c (open_output_file):
+       * nt.c (rva_to_section):
+       * nt.c (mswindows_executable_type):
+       Move all memory-mapped-file routines here (some were in unexnt.c,
+       which is bad because they are used by process-nt.c, and unexnt
+       won't be around when portable dumping).  Synched the above routines
+       with FSF 20.6.
+
+       * nt.h:
+       Removed ifdef'd out bogus code.
+       Fixed some prototypes.
+
+       * nt.h (file_data):
+       * nt.h (OFFSET_TO_RVA):
+       * nt.h (RVA_TO_OFFSET):
+       * nt.h (RVA_TO_PTR):
+       Moved the memory-mapped-file structures, macros and prototypes
+       here, to parallel nt.c.  ntheap.h should really be removed
+       entirely, and it's a non-portable-dumper specific file.
+
+       * ntheap.h (round_to_next):
+       Moved the memory-mapped-file structures, macros and prototypes
+       to nt.h.
+
+       * ntproc.c (compare_env):
+       Moved rva_to_section and mswindows_executable_type to nt.c.
+       Moved compare_env to process-nt.c.
+       ntproc.c will die, one day.
+
+       * ntproc.c (sys_spawnve):
+       Account for win32_ -> mswindows_.
+
+       * process-nt.c:
+       * process-nt.c (struct nt_process_data):
+       * process-nt.c (ensure_console_window_exists):
+       * process-nt.c (compare_env):
+       * process-nt.c (nt_create_process):
+       * process-nt.c (nt_kill_process_by_pid):
+       * process-nt.c (syms_of_process_nt):
+       * process-nt.c (vars_of_process_nt):
+       Introduce variable `mswindows-quote-process-args', from FSF 20.6.
+       Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
+       changes).  Eliminate our old `nt-quote-process-args' mechanism.
+       Synch up nt_create_process with FSF 20.6 sys_spawnve.
+       Move compare_env here from ntproc.c.
+
+       * process.c (Fprocess_send_region):
+       Takes an optional fourth argument, BUFFER, which should fix some
+       problems with call-process.
+
+       * syscommctrl.h:
+       Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
+
+       * syswindows.h:
+       Move ICC_BAR_CLASSES to syscommctrl.h.
+       Add preliminary macros for MSWindows/Mule.  More to come.
+
+       * unexnt.c:
+       * unexnt.c (unexec):
+       open_output_file moved to nt.c.
+
+
+2000-05-05  Andy Piper  <andy@xemacs.org>
+
+       * window.c (window_unmap_subwindows_cache_mapper): remove the dead
+       instance from the frame cache also since GC may catch up too late
+       to make frame deletion sane.
+
+2000-05-04  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
+       (x_finalize_image_instance): ungcpro on deletion.
+
+       * glyphs.c (image_instantiator_format_create): give pointers a
+       query geometry method so that the geometry is at least set.
+
+       * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
+       initialize layouts if using widgets.
+
+2000-05-03  Andy Piper  <andy@xemacs.org>
+
+       * nt.c: remove bogus reference to sysmmsystem.h
+
+       * gui-x.c (popup_selection_callback): fix no selection abort.
+
+2000-05-02  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-msw.c (mswindows_update_widget): cope with nil text.
+       (mswindows_widget_instantiate): ditto.
+
+       * glyphs-widget.c (initialize_widget_image_instance): initialize
+       children correctly.
+       (widget_instantiate): cope with children and items in the same
+       instance.
+
+       * glyphs.c (mark_image_instance): cope with children as a first
+       class member.
+       (image_instance_equal): ditto.
+       (image_instance_hash): ditto.
+       (image_instance_changed): ditto.
+
+2000-04-30  Andy Piper  <andy@xemacs.org>
+
+       * glyphs.c (subwindow_query_geometry): new function. Return some
+       defaults.
+       (subwindow_instantiate): don't assign dimensions if none have been
+       given.
+       (image_instantiator_format_create): add subwindow_query_geometry.
+       (print_image_instance): cope with layouts as widgets.
+
+2000-04-29  Andy Piper  <andy@xemacs.org>
+
+       * frame.c (delete_frame_internal): call
+       free_frame_subwindow_instance_cache so that all subwindows are
+       finalized before their parent.
+       (mark_frame): remove subwindow_cachels.
+       (Fmake_frame): remove subwindow_cachel manipulation.
+       (allocate_frame_core): subwindow_instance_cache is a weak list.
+       (delete_frame_internal): set subwindow_instance_cache to nil.
+
+       * glyphs-msw.c (mswindows_finalize_image_instance): make double
+       finalization safe.
+       (mswindows_finalize_image_instance): use the device
+       not the domain as the domain may have died already.
+
+       * glyphs-x.c (x_finalize_image_instance): ditto.
+       (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
+       HEIGHT.
+
+       * redisplay-output.c (redisplay_unmap_subwindows): update for
+       subwindow instance cache as a weak list.
+       (redisplay_unmap_subwindows_maybe): ditto.
+       (redisplay_unmap_subwindows_except_us): ditto.
+
+       * glyphs.c (unmap_subwindow): error checking will check the domain
+       so don't deal with it here. Don't use cachels anymore.
+       (map_subwindow): ditto.
+       (update_subwindow_cachel_data): remove old accessor names.
+       (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
+       (Fresize_subwindow): don't update cachel.
+       (mark_subwindow_cachels):
+       (update_subwindow_cachel_data):
+       (add_subwindow_cachel):
+       (get_subwindow_cachel_index):
+       (update_subwindow_cachel):
+       (reset_subwindow_cachels):
+       (mark_subwindow_cachels_as_not_updated): deleted.
+       (cache_subwindow_instance_in_frame_maybe): new function. Add a
+       subwindow instance to the frame cache.
+       (find_matching_subwindow): update for subwindow instance cache as
+       a weak list.
+       (update_widget_instances): ditto.
+       (image_instance_type_to_mask):inlined.
+       (free_frame_subwindow_instance_cache): new function. finalize all
+       subwindows that are instantiated.
+
+       * glyphs.h (struct Lisp_Image_Instance): add display_data instead
+       of cachel information.
+       (IMAGE_INSTANCE_DISPLAY_X):
+       (IMAGE_INSTANCE_DISPLAY_Y):
+       (IMAGE_INSTANCE_DISPLAY_WIDTH):
+       (IMAGE_INSTANCE_DISPLAY_HEIGHT):
+       (XIMAGE_INSTANCE_DISPLAY_X):
+       (XIMAGE_INSTANCE_DISPLAY_Y):
+       (XIMAGE_INSTANCE_DISPLAY_WIDTH):
+       (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
+       remove subwindow_cachel structure and function references.
+       (image_instance_type_to_mask): inline from glyphs.c
+
+       * redisplay.c (redisplay_frame): remove subwindow_cachel
+       references.
+
+       * frame.h (struct frame): remove subwindow_cachels.
+       (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
+
+       * frameslots.h: add subwindow_instance_cache.
+
+       * window.c (replace_window): check subwindow cache of replacement.
+       (window_unmap_subwindows_cache_mapper):
+       (window_unmap_subwindows): new functions. Unmap all subwindows
+       cached on this window.
+       (mark_window_as_deleted): unmap all subwindows.
+
+2000-04-27  Andy Piper  <andy@xemacs.org>
+
+       * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
+
+       * glyphs-widget.c (widget_layout): return something.
+       (layout_layout): return something. Fail if not initialized.
+       (layout_query_geometry): ditto.
+       (image_instantiator_native_layout): new function. Initialized the
+       native layout type.
+       (widget_instantiate): don't do layout stuff here.
+
+       * glyphs.c (instantiate_image_instantiator): reorded calling or
+       instantiate and post_instantiate with layout in between.
+       (image_instance_layout): be more selective about deciding whether
+       the layout has been done or not.
+
+       * glyphs.h (struct image_instantiator_methods): return a value
+       from layout_method.
+
+2000-04-26  Andy Piper  <andy@xemacs.org>
+
+       * glyphs.c (allocate_image_instance): make initial width and
+       height unspecified. Set initialized to 0.
+
+       * syscommctrl.h new file. Encapsulates commctrl.h.
+
+       * syswindows.h new file. Encapsulates windows.h.
+
+       * ntplay.c: use new syswindows.h and syscommctrl.h header.
+       * nt.c: ditto.
+       * console-msw.h: ditto.
+
+       * redisplay-tty.c (tty_output_display_block): remove layout references.
+
+       * glyphs-msw.c (mswindows_widget_instantiate): use the domain
+       window handle rather than just the frame.
+
+       * glyphs.c (mark_image_instance): remove layout references.
+       (print_image_instance): ditto.
+       (image_instance_equal): ditto.
+       (image_instance_hash): ditto.
+       (decode_image_instance_type): ditto.
+       (encode_image_instance_type): ditto.
+       (image_instantiate): ditto.
+       (allocate_glyph): ditto.
+       (Fimage_instance_height): ditto.
+       (Fimage_instance_width): ditto.
+       (update_subwindow): ditto.
+
+       * redisplay-x.c (x_output_display_block): recode for layouts as
+       widgets.
+
+       * redisplay-output.c (redisplay_output_layout): recode for layouts
+       as widgets.
+       (compare_runes): remove layout references.
+
+       * redisplay-msw.c (mswindows_output_display_block): recode for
+       layouts as widgets.
+
+       * glyphs-widget.c (image_instantiator_layout): remove
+       layout_possible_dest_types.
+       (layout_possible_dest_types): deleted.
+
+       * glyphs.h (image_instance_type): remove layout references.
+       (struct Lisp_Image_Instance): ditto. Add initialized flag.
+       (IMAGE_INSTANCE_INITIALIZED): new accessor.
+       (XIMAGE_INSTANCE_INITIALIZED): ditto.
+
+2000-04-25  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-widget.c (image_instantiator_buttons):
+       (image_instantiator_edit_fields):
+       (image_instantiator_combo_box):
+       (image_instantiator_scrollbar):
+       (image_instantiator_progress_guage):
+       (image_instantiator_tree_view):
+       (image_instantiator_tab_control):
+       (image_instantiator_labels):
+       (image_instantiator_layout): call default post_instantiate method.
+       (widget_post_instantiate): new function. Simply lays out the
+       widgets.
+
+       * glyphs.h (struct image_instantiator_methods): add
+       post_instantiate method.
+
+       * glyphs.c (instantiate_image_instantiator): add post_instantiate
+       method calls.
+
+2000-04-23  Andy Piper  <andy@xemacs.org>
+
+       * glyphs.h (struct image_instantiator_methods): add
+       decode_domain_method.
+       (struct Lisp_Image_Instance): remove subwindow frame - it can be
+       derived from the domain.
+       (IMAGE_INSTANCE_FRAME): new accessor.
+       (XIMAGE_INSTANCE_FRAME): ditto.
+
+       * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
+       instead of _SUBWINDOW_FRAME.
+       (finalize_image_instance): ditto.
+       (Fimage_instance_foreground): ditto.
+       (Fimage_instance_background): ditto.
+       (image_instantiate): ditto.
+       (update_subwindow_cachel): ditto.
+       (update_subwindow): ditto.
+       (unmap_subwindow): ditto.
+       (map_subwindow): ditto
+       (subwindow_instantiate): ditto.
+       * glyphs-msw.c (mswindows_update_widget): ditto.
+       (mswindows_progress_gauge_instantiate): ditto.
+       (mswindows_tab_control_update): ditto.
+       * glyphs-x.c (x_update_widget): ditto.
+       (x_widget_instantiate): ditto.
+       (x_tab_control_instantiate): ditto.
+       (x_tab_control_update): ditto.
+       * event-msw.c (mswindows_wnd_proc): ditto
+
+       * glyphs-widget.c (image_instantiator_layout): use
+       subwindow_decode_domain.
+       (image_instantiator_buttons): ditto.
+       (image_instantiator_edit_fields): ditto.
+       (image_instantiator_combo_box): ditto.
+       (image_instantiator_scrollbar): ditto.
+       (image_instantiator_progress_guage): ditto.
+       (image_instantiator_tree_view): ditto.
+       (image_instantiator_tab_control): ditto.
+       (image_instantiator_labels): ditto.
+       (image_instantiator_layout): ditto.
+
+       * glyphs.c: add instance error checking to many functions.
+       (instantiate_image_instantiator): decode device from cache_domain.
+       (image_instantiate): partially rewrite by using
+       decode_image_instantiator_domain to determine what domain the
+       instance needs to be cached in.
+       (decode_image_instantiator_domain): new function. Determine what
+       domain the image needs to be cached in.
+       (check_window_subwindow_cache): new error checking function.
+       (check_instance_cache_mapper): ditto.
+       (check_image_instance_structure): ditto.
+       (subwindow_decode_domain): new function. Encodes a window as a
+       subwindow's cache domain.
+       (image_instantiator_format_create): use it for text and
+       subwindows.
+
+2000-04-21  Andy Piper  <andy@xemacs.org>
+
+       * glyphs.c (image_instance_device): new function.
+       (image_instance_frame): new function.
+       (image_instance_window): new function.
+       (image_instance_live_p): new function.
+
+       * window.c (mark_window_as_deleted): reset the subwindow_instance_
+       cache to nil.
+
+       * glyphs.h (struct Lisp_Image_Instance): device->domain.
+       (IMAGE_INSTANCE_DOMAIN): new accessor.
+       (XIMAGE_INSTANCE_DOMAIN): ditto.
+
+       * glyphs-x.c (x_finalize_image_instance): device->domain.
+
+       * glyphs-msw.c (init_image_instance_geometry): device->domain.
+       (mswindows_finalize_image_instance): ditto.
+
+       * glyphs-eimage.c (jpeg_instantiate): device->domain.
+       (gif_instantiate): ditto.
+       (png_instantiate): ditto.
+       (tiff_instantiate): ditto.
+
+       * glyphs.c (instantiate_image_instantiator): use domain rather
+       than device.
+       (mark_image_instance): device -> domain.
+       (print_image_instance): ditto.
+       (finalize_image_instance): ditto.
+       (image_instance_equal): ditto.
+       (allocate_image_instance): ditto.
+       (Fcolorize_image_instance): ditto.
+       (query_string_geometry): ditto.
+       (image_instantiate): ditto
+       (query_string_font): ditto.
+       (image_instantiate): ditto.
+       (update_subwindow): ditto.
+       (unmap_subwindow): ditto.
+       (map_subwindow): ditto.
+       (subwindow_instantiate): ditto.
+
+       * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
+       (DOMAIN_FRAME): ditto.
+       (DOMAIN_WINDOW): ditto.
+       (DOMAIN_LIVE_P): ditto.
+       (XDOMAIN_DEVICE): ditto.
+       (XDOMAIN_FRAME): ditto.
+       (XDOMAIN_WINDOW): ditto.
+
+       * specifier.c (Fvalid_specifier_domain_p): add image instances as
+       a valid specifier domain.
+
+2000-04-19  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-widget.c (syms_of_glyphs_widget): remove
+       widget-callback-current-channel.
+       (vars_of_glyphs_widget): ditto.
+       * glyphs.h: ditto
+
+       * gui.c (get_gui_callback): revert to previous behaviour.
+
+2000-04-18  Andy Piper  <andy@xemacs.org>
+
+       * glyphs.h (struct Lisp_Image_Instance): add margin_width.
+       (IMAGE_INSTANCE_MARGIN_WIDTH): new.
+       (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
+
+       * glyphs.c (image_instance_equal): add margin_width.
+       (image_instance_hash): ditto.
+
+       * glyphs-widget.c (widget_instantiate): deal with margin-width.
+       (layout_query_geometry): ditto.
+       (layout_layout): ditto.
+       (syms_of_glyphs_widget): add margin-width.
+       (image_instantiator_layout): allow margin-width.
+
+       * glyphs.c (update_widget_instances): make a normal function.
+       (syms_of_glyphs): remove Qupdate_widget_instances.
+       * glyphs.h: ditto.
+
+       * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
+       so that we don't corrupt ideas about the last event or
+       command. Remove widget-callback-current-channel fiddling.
+       * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
+
+2000-05-01  Martin Buchholz <martin@xemacs.org>
+
+       * XEmacs 21.2.33 is released.
+
+2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * make-src-depend: Allow dots in header file name.
+
+2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
+
+       * mule-charset.h (struct charset_lookup): Add
+       next_allocated_1_byte_leading_byte and
+       next_allocated_2_byte_leading_byte.
+       * mule-charset.c: Move above two variables so that those values
+       will be dumped.
+
+2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
+       when string length is zero.
+       (find_charsets_in_emchar_string): Ditto.
+
+2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
+
+       * lisp.h: extern Qdialog and Qmenubar.
+
+       * gui-x.c: added events.h.
+               also fixed typo which made the file uncompilable.
+
+       * general.c: Added Qmenubar and Qdialog
+
+2000-04-28  Ben Wing  <ben@xemacs.org>
+
+       * frame-msw.c (mswindows_init_frame_1):
+       * frame-msw.c (mswindows_mark_frame):
+       * event-msw.c (mswindows_enqueue_dispatch_event):
+       * console-msw.h:
+       * console-msw.h (struct mswindows_frame):
+       * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
+       there are now three hash tables for callbacks.
+       mswindows_enqueue_dispatch_event is no longer static.
+
+       * dialog-x.c (maybe_run_dbox_text_callback):
+       * dialog-x.c (dbox_descriptor_to_widget_value):
+       switch to new cons3 form for callbacks.
+
+       * glyphs-msw.c (mswindows_register_gui_item):
+       * glyphs-msw.c (mswindows_widget_instantiate):
+       * glyphs-msw.c (add_tree_item):
+       * glyphs-msw.c (add_tab_item):
+       new image instance parameter, so it can be passed to callback-ex.
+       respect :callback-ex as well as :callback.
+
+       * glyphs-widget.c (VALID_GUI_KEYWORDS):
+       add :callback-ex.
+
+       * glyphs.c (print_image_instance):
+       prettify, e.g. now prints widget type.
+
+       * gui-x.h:
+       certain funs have new image instance parameter.
+
+       * gui.c:
+       * gui.c (get_gui_callback):
+       * gui.c (gui_item_add_keyval_pair):
+       * gui.c (gui_item_init):
+       * gui.c (gui_add_item_keywords_to_plist):
+       * gui.c (mark_gui_item):
+       * gui.c (gui_item_hash):
+       * gui.c (gui_item_equal):
+       * gui.c (copy_gui_item):
+       * gui.c (syms_of_gui):
+       recognize callback-ex in a number of places.
+       also, fix the annoying "can't get out of yes-no dialog" bug.
+
+       * gui.h:
+       * gui.h (struct Lisp_Gui_Item):
+       recognize callback-ex in a number of places.
+
+       * menubar-x.c (menu_item_descriptor_to_widget_value_1):
+       new parameter in button_item_to_widget_value.
+
+       * glyphs-x.c (x_update_widget):
+       * glyphs-x.c (x_button_instantiate):
+       * glyphs-x.c (x_button_update):
+       * glyphs-x.c (x_progress_gauge_instantiate):
+       * glyphs-x.c (x_edit_field_instantiate):
+       * glyphs-x.c (x_combo_box_instantiate):
+       * glyphs-x.c (x_tab_control_instantiate):
+       * glyphs-x.c (x_label_instantiate):
+       new image instance parameter in various places.
+
+       * event-Xt.c:
+       * event-Xt.c (enqueue_Xt_dispatch_event):
+       this fun gets exported.
+
+       * gui-msw.c:
+       * gui-msw.c (mswindows_handle_gui_wm_command):
+       handle both :callback and :callback-ex, and generate our own
+       event because it's one of the callback-ex arguments.
+
+       * gui-x.c:
+       * gui-x.c (popup_selection_callback):
+       handle both :callback and :callback-ex, and generate our own
+       event because it's one of the callback-ex arguments.
+       * gui-x.c (button_item_to_widget_value):
+       * gui-x.c (gui_items_to_widget_values_1):
+       * gui-x.c (gui_item_children_to_widget_values):
+       * gui-x.c (gui_items_to_widget_values):
+       new image instance parameter in various places.
+
+       * fns.c (Freplace_list):
+       fix small typo in doc string.
+
+       * lisp.h:
+       declare enqueue_Xt_dispatch_event.
+
+2000-04-28  Ben Wing  <ben@xemacs.org>
+
+       * buffer.c:
+       * buffer.c (Frecord_buffer):
+       * buffer.c (syms_of_buffer):
+       delete record-buffer-hook.
+
+       * fns.c:
+       * fns.c (Freplace_list):
+       * fns.c (syms_of_fns):
+       new primitive replace-list.
+
+       * frameslots.h:
+       slot for old buffer-alist.
+
+       * lisp.h:
+       exfun replace-list.
+
+       * redisplay.c:
+       * redisplay.c (redisplay_frame):
+       * redisplay.c (syms_of_redisplay):
+       * redisplay.c (vars_of_redisplay):
+       new hook buffer-list-changed-hook.
+       call it.
+
+2000-04-27  Ben Wing  <ben@xemacs.org>
+
+       * extents.h: extern in_modeline_generation.
+
+       * redisplay.c (generate_formatted_string_db): set
+       in_modeline_generation.
+
+       * extents.c (extent_changed_for_redisplay): don't mark redisplay
+       flags if in modeline generation.  otherwise frame-modified-tick
+       is ticked far too often.
+       Declare in_modeline_generation.
+
+2000-04-26  Ben Wing  <ben@xemacs.org>
+
+       * emacs.c (vars_of_emacs): document quick-build "error-checking"
+       option.
+       (vars_of_emacs): add quick-build as an error-checking option.
+       A bit kludgy, but there doesn't seem much point in creating
+       a real var for this.
+
+       * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
+
+2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
+
+       * redisplay.h (struct display_line): Add a new variable,
+       line_continuation.
+
+       * redisplay.c (create_text_block): Set dl->line_continuation if
+       the line continues.
+       (create_string_text_block): Ditto.
+       (regenerate_window_incrementally): Use line_continuation instead
+       of searching continuation glyph.
+       (add_margin_runes): Call add_glyph_rune.
+       (add_glyph_rune): Handle margin glyph.
+
+2000-04-20  Martin Buchholz  <martin@xemacs.org>
+
+       * filelock.c (fill_in_lock_file_name):
+       ANSIfy.
+       Check for IS_ANY_SEP instead of '/'.
+       (lock_file_1):
+       Avoid generating gratuitous garbage.  Call user_login_name() directly.
+       Never check errno without first seeing that system call failed.
+       (unlock_file): Add GCPRO.
+       (Flock_buffer): Fix docstring.
+       (Ffile_locked_p): Fix docstring.  Add GCPRO.
+
+2000-04-19  Martin Buchholz  <martin@xemacs.org>
+
+       * sysdep.c (get_pty_max_bytes):
+       Fix hangs on DEC OSF 4.0 when (process-send-string) sends
+       strings longer than 252 bytes.
+
+       * md5.c: Unconditionally include ANSI header <limits.h>
+
+       * glyphs-x.c (convert_EImage_to_XImage):
+       * lisp-union.h (union Lisp_Object):
+       Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
+
+2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * filelock.c (current_lock_owner): Remove unused variable o, p.
+
+2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
+
+       * callint.c: Remove multiply defined symbol Qlet
+       (syms_of_callint): ditto.
+
+2000-04-14  Andy Piper  <andy@xemacs.org>
+
+       * general.c (syms_of_general): add last-command, this-command, let
+       and funcall.
 
        * lisp.h: declare various symbols.
 
 
        * lisp.h: declare various symbols.
 
        geometry.
        (mswindows_create_resized_bitmap): Ditto.
        (mswindows_create_resized_mask): Ditto.
        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.
 
        * 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.
 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):
        * 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.
 
        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.
        * 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.
 
        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>
          (play_sound_data): Prototype in new header.
 
 2000-03-31  Andy Piper  <andy@xemacs.org>
 
 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
 
 
 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.
 
        (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.
 
        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.
        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.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.
 
 
        * 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.
 
        (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.
 
        * 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.
        * 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>
        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
        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.
 
 
        * alloc.c (resize_string): Fix unlikely crash with big strings.
 
 
 2000-01-23  Martin Buchholz  <martin@xemacs.org>
 
 
 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.
        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_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>
        functions.
 
 2000-01-22  Martin Buchholz  <martin@xemacs.org>