Sync up with r21-4-15.
[chise/xemacs-chise.git.1] / src / ChangeLog
index d447fe9..42fb135 100644 (file)
+2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (Fput_char_attribute): Convert char-specs in value of
+       `{<-|->}original[^*]*' to characters and put reverse links.
+       (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
+       for `{<-|->}original[^*]*'.
+
+2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
+
+2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Qsystem_char_id): New variable.
+
+       * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
+       defined and HAVE_LIBCHISE_LIBCHISE is not defined.
+
+2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (Fput_char_attribute): When processing a reference of
+       a character, put into the end of the reversed reference of each
+       target character.
+
+2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (Q_same): Deleted.
+       (Q_same_of): Deleted.
+       (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
+       (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
+       for `{<-|->}same'.
+       (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
+
+2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (Q_vulgar): Deleted.
+       (Q_vulgar_of): Deleted.
+       (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
+       (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
+       for `{<-|->}vulgar'.
+       (syms_of_chartab): Don't define `{<-|->}vulgar'.
+
+2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (Fput_char_attribute): Convert char-specs in value of
+       `{<-|->}wrong[^*]*' to characters and put reverse links.
+       (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
+       for `{<-|->}wrong[^*]*'.
+
+2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (Q_vulgar): New variable.
+       (Q_vulgar_of): New variable.
+       (Fput_char_attribute): Convert char-specs in value of
+       `{->|<-}vulgar' to characters and put reverse links.
+       (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
+       for `{->|<-}vulgar'.
+       (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
+
+2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (decode_add_er_char): Must to quote prefix string
+       as regexp.
+
+2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (put_char_ccs_code_point): Store characters of
+       =ucs whose code_points >= 0xF0000.
+
+2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
+       CHISE.
+       (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
+       CHISE.
+       (complex_vars_of_mule_charset): Add new coded-charset
+       `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
+       builtin characters over 0xEFFFF.
+
+       * chartab.c (syms_of_chartab): Don't define symbol
+       `system-char-id' in every case.
+
+       * char-ucs.h (Qsystem_char_id): New extern variable.
+       (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
+
+2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (char_encode_utf8): Try to use entity-references
+       for U-000F0000 ...  U-0010FFFF.
+
+2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (ER_BUF_SIZE): New macro.
+       (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
+       `er_buf'.
+       (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
+       (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
+
+2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (find_char_feature_in_family): New function.
+       (Fchar_feature): Use `find_char_feature_in_family' with
+       `->identical', `<-subsumptive' and `<-denotational'.
+
+2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (char_encode_as_entity_reference): Allow prefix
+       within 8 characters; fix infinite loop.
+
+2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (Q_same): New variable.
+       (Q_same_of): New variable.
+       (Fput_char_attribute): Convert char-specs in value of
+       `{->|<-}same' to characters and put reverse links.
+       (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
+       for `{->|<-}same'.
+       (syms_of_chartab): Add new symbols `{->|<-}same'.
+
+2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (Q_component): New variable.
+       (Q_component_of): Likewise.
+       (Fput_char_attribute): Convert char-specs in value of
+       `{->|<-}ideographic-component-forms' to characters and put reverse
+       links.
+       (syms_of_chartab): Add new symbols
+       `{->|<-}ideographic-component-forms'.
+
+2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
+
+       * chartab.c (Q_identical): New variable.
+       (Q_identical_from): New variable.
+       (Fchar_feature): Regard `->identical' as a feature to find
+       ancestors.
+       (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
+       (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
+       for `{->|<-}identical'.
+       (syms_of_chartab): Add new symbols `{->|<-}identical'.
+
+2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * char-ucs.h (encode_char_2): New inline function.
+       (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
+
+2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (Fput_char_attribute): Convert char-specs to
+       characters in value of `ideographic-structure'.
+       (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
+       for `{<-|->}simplified(@...)'.
+       (Fdefine_char): bTry to use predefined character's id.
+
+2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * fns.c (simplify_char_spec): Try to convert builtin chars to
+       defined chars.
+
+2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (Fput_char_attribute): Convert char-specs in value of
+       `<-simplified[^*]*' to characters and put reverse links.
+
+2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (Q_subsumptive): Renamed from Q_unified.
+       (Q_subsumptive_from): Renamed from Q_unified_from.
+       (Fchar_feature): Use `Q_subsumptive_from' instead of
+       `Q_unified_from'.
+       (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
+       `Q_unified'.
+       (syms_of_chartab): Rename `->unified' to `->subsumptive' and
+       `<-unified' to `<-subsumptive'.
+
+2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (Fchar_feature): Check `<-denotational' to avoid
+       inheritance itself; fix typo; stop recursive search if cyclic
+       inheritance is found.
+
+2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (Q_denotational): New variable.
+       (Q_denotational_from): New variable.
+       (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
+       (put_char_attribute): New function.
+       (Fput_char_attribute): Use `put_char_attribute'; regard
+       `->denotational' and `<-denotational' as same as `->unified' and
+       `<-unified'.
+       (syms_of_chartab): Add new symbols `->denotational' and
+       `<-denotational'.
+
+2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
+       `Fget_char_attribute'.
+       (Fchar_variants): Likewise.
+       (get_char_table): Likewise.
+       (Fchar_feature): New function.
+       (put_char_composition): Use `Fchar_feature' instead of
+       `Fget_char_attribute'.
+       (Fput_char_attribute): Likewise; don't put the target character
+       into its `->unified' value.
+       (syms_of_chartab): Add new builtin function `char-feature'.
+
+2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
+       `Fget_char_attribute'.
+       (char_encode_utf8): Likewise.
+
+       * chartab.h: Add an EXFUN for `Fchar_feature'.
+
+2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (Vnext_defined_char_id): New variable.
+       (Fput_char_attribute): Accept characters in `->unified'.
+       (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
+       new characters which are not related with builtin char-id ranges.
+       (vars_of_chartab): Add new variable `next-defined-char-id'.
+
+2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (Q_unified): New variable.
+       (Q_unified_from): New variable.
+       (Fput_char_attribute): Add code for `->unified'.
+       (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
+       XEmacs CHISE.
+
+2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (decode_ccs_conversion): New function.
+       (decode_defined_char): Use `decode_ccs_conversion'.
+       (decode_builtin_char): Likewise.
+
+2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * char-ucs.h: Change some charset-ids of private coded-charsets.
+
+2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
+       (char_encode_as_entity_reference): Likewise.
+       (decode_coding_big5): Modify for `decode_defined_char' and
+       `DECODE_CHAR'.
+       (decode_coding_utf8): Modify for `decode_defined_char'; modify to
+       avoid compiler warning.
+       (decode_coding_iso2022): Modify for `DECODE_CHAR'.
+
+       * mule-charset.c (decode_defined_char): Add new argument
+       `without_inheritance'.
+       (Fdecode_char): Add new optional argument `without_inheritance'.
+       (Fdecode_builtin_char): Modify for `Fdecode_char'.
+
+       * fns.c (ids_format_unit): Modify for `Fdecode_char'.
+       (simplify_char_spec): Likewise.
+
+       * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
+       setting.
+
+       * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
+       (map_char_table): Likewise.
+       (Fdefine_char): Use `Fdecode_char' without inheritance.
+       (Ffind_char): Modify for `Fdecode_char'.
+
+       * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
+
+       * char-ucs.h (decode_defined_char): Add new argument
+       `without_inheritance'.
+       (DECODE_CHAR): Likewise.
+       (MAKE_CHAR): Modify for `DECODE_CHAR'.
+
+2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (Vchise_system_db_directory): New variable.
+       (vars_of_chartab): Add new variable `chise-system-db-directory'.
+
+2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c: EXFUN `Fmount_char_attribute_table'.
+       (print_chartab_range): Don't define when `UTF2000' is defined.
+       (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
+       `CHISE_DS_open'.
+
+2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
+       and optional argument `rehash' is specified, call
+       `open_chise_data_source_maybe' before
+       `chise_ds_foreach_char_feature_name' is called.
+
+2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (char_attribute_list_reset_map_func): New function
+       when HAVE_LIBCHISE is defined.
+       (Fchar_attribute_list): Add new optional argument `rehash' when
+       HAVE_LIBCHISE is defined.
+       (open_chise_data_source_maybe): Use "chise-db" instead of
+       "char-db".
+       (char_attribute_system_db_file): Likewise.
+       (Fload_char_attribute_table): Use
+       `chise_feature_foreach_char_with_value' instead of
+       `chise_char_feature_value_iterate'.
+
+2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (Vchise_db_directory): New variable.
+       (vars_of_chartab): Add new built-in variable `chise-db-directory'.
+
+2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
+       instead of HAVE_CHISE to specify using with libchise.
+
+       * config.h.in (HAVE_CHISE_CLIENT): Deleted.
+
+       * chartab.h: Don't use HAVE_CHISE_CLIENT.
+
+       * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
+       defined or HAVE_LIBCHISE_LIBCHISE is defined.
+       (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
+       is defined.
+       (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
+       HAVE_CHISE to specify using with libchise.
+       (syms_of_chartab): Don't define symbol `system-char-id' when
+       HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
+
+2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
+       specify CHISE DB support.
+       (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
+       of `char_attribute_system_db_file' to check feature DB file.
+
+       * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
+       HAVE_CHISE_CLIENT to specify CHISE DB support.
+
+       * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
+       specify CHISE DB support.
+       (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
+       not defined.
+       (Freset_char_attribute_table): Use `chise_feature_setup_db'
+       instead of `char_attribute_system_db_file' to check feature DB
+       file.
+
+2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
+       `HAVE_CHISE_CLIENT'.
+
+2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
+       (Fsave_charset_mapping_table): Don't use
+       `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
+
+       * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
+       (HAVE_LIBCHISE): New macro.
+
+       * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
+
+       * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
+       (Fsave_char_attribute_table): Don't use
+       `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
+
+2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
+       defined.
+       (save_uint16_byte_table): Likewise.
+       (save_byte_table): Likewise.
+       (char_table_get_db): Use `chise_ds_load_char_feature_value'
+       instead of `chise_char_load_feature_value'.
+       (Fsave_char_attribute_table): Use libchise when CHISE is defined.
+
+2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.h (struct Lisp_Char_Table): Delete member
+       `feature_table' if CHISE is defined.
+
+       * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
+       (Fcopy_char_table): Likewise.
+       (char_table_open_db_maybe): Likewise.
+       (char_table_close_db_maybe): Likewise.
+       (char_table_get_db): Likewise.
+       (Fmount_char_attribute_table): Likewise.
+       (Fload_char_attribute_table): Likewise.
+
+2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (load_char_decoding_entry_maybe): Use
+       `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
+       `chise_ccs_decode'.
+
+2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
+       instead of `chise_open_data_source'.
+       (Fclose_char_data_source): Use `CHISE_DS_close' instead of
+       `chise_ds_close'.
+
+2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
+       instead of `chise_ds_open_feature_table'.
+       (char_table_close_db_maybe): Don't use `chise_ft_close'.
+
+2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Fsave_charset_mapping_table): Use
+       `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
+       `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
+       `chise_ccs_sync' instead of `chise_ccst_close'.
+       (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
+
+       * chartab.c (open_chise_data_source_maybe): Modify for
+       `chise_open_data_source'.
+       (char_table_open_db_maybe): Modify for
+       `chise_ds_open_feature_table'.
+
+2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (load_char_decoding_entry_maybe): Use
+       `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
+       `chise_ccst_close'.
+
+2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (Fsave_charset_mapping_table): Use
+       `chise_ds_open_ccs_table', `chise_ccst_put_char' and
+       `chise_ccst_close' instead of `chise_ds_open_decoding_table',
+       `chise_dt_put_char' and `chise_dt_close'.
+       (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
+       `chise_ccs_decode' and `chise_ccst_close' instead of
+       `chise_ds_open_decoding_table', `chise_dt_get_char' and
+       `chise_dt_close'.
+
+       * chartab.c (char_table_get_db): Use
+       `chise_char_load_feature_value' instead of `chise_ft_get_value'.
+       (load_char_attribute_table_map_func): Modify for
+       `chise_char_feature_value_iterate'.
+       (Fload_char_attribute_table): Use
+       `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
+
+2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
+
+2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (put_char_table): Modify for inherited coded-charsets
+       in XEmacs CHISE.
+
+2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (Fput_char_table_map_function): Fixed.
+       (word_boundary_p): Don't check charset in XEmacs CHISE.
+
+2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (Fsave_charset_mapping_table): Use
+       `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
+       instead of `chise_open_decoding_table'; refer
+       `default_chise_data_source'; use `chise_dt_close' instead of
+       `chise_close_decoding_table'.
+       (load_char_decoding_entry_maybe): Likewise.
+
+       * chartab.c (default_chise_data_source): New variable when `CHISE'
+       is defined.
+       (Fcopy_char_table): `ct->ds' is deleted.
+       (open_chise_data_source_maybe): New function.
+       (Fclose_char_data_source): New function.
+       (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
+       use `chise_ds_open_feature_table' instead of
+       `chise_open_feature_table'.
+       (char_table_close_db_maybe): Use `chise_ft_close' instead of
+       `chise_close_feature_table'; `cit->ds' is deleted.
+       (syms_of_chartab): Add new builtin function
+       `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
+
+       * chartab.h (default_chise_data_source): New extern variable.
+       (open_chise_data_source_maybe): New prototype.
+       (struct Lisp_Char_Table): Delete `ds'.
+
+2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
+       `CHISE' is defined.
+
+2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
+       not defined; add code for non-libchise setting.
+       (char_table_close_db_maybe): Likewise.
+       (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
+       defined.
+       (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
+       even if `CHISE' is not defined.
+       (Freset_char_attribute_table): Likewise.
+       (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
+       `char_table_close_db_maybe' even if `CHISE' is not defined; use
+       `char_table_get_db'.
+       (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
+       `char_table_close_db_maybe' even if `CHISE' is not defined.
+
+2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (char_table_open_db_maybe): New function.
+       (char_table_close_db_maybe): New function.
+       (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
+       (Freset_char_attribute_table): Likewise.
+       (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
+       `char_table_close_db_maybe'.
+       (Fload_char_attribute_table): Likewise.
+
+2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c: Don't include <chise.h> because it is included in
+       chartab.h.
+       (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
+       defined.
+       (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
+       `CHISE' is defined.
+       (Fmount_char_attribute_table): Initialize `ct->feature_table' when
+       `CHISE' is defined.
+       (Fclose_char_attribute_table): Close `ct->feature_table' and
+       `ct->ds' when `CHISE' is defined.
+       (Freset_char_attribute_table): Likewise.
+       (load_char_attribute_maybe): Use `cit->ds' and
+       `cit->feature_table' when `CHISE' is defined.
+       (Fload_char_attribute_table): Likewise.
+
+       * chartab.h: Include <chise.h> when `CHISE' is defined.
+       (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
+       when `CHISE' is defined.
+
+2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
+       is defined.
+       (char_table_description): Likewise.
+       (Fmake_char_table): Likewise.
+       (Fcopy_char_table): Likewise.
+       (Fmount_char_attribute_table): Likewise.
+       (Fclose_char_attribute_table): Likewise.
+       (Freset_char_attribute_table): Likewise.
+       (load_char_attribute_maybe): Likewise.
+       (Fload_char_attribute_table): Likewise.
+
+       * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
+       defined.
+
+2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (load_char_attribute_table_map_func): New function
+       when CHISE is defined.
+       (Qload_char_attribute_table_map_function): Don't define when CHISE
+       is defined.
+       (Fload_char_attribute_table_map_function): Likewise.
+       (Fload_char_attribute_table): Use libchise when `CHISE' is
+       defined.
+       (syms_of_chartab): Don't define
+       `load-char-attribute-table-map-function' when CHISE is defined.
+
+2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c: Include <chise.h> when `CHISE' is defined.
+       (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
+
+2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (charset_code_point): Fix problem when searching
+       in mother CCS fails with `defined_only' mode.
+
+2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
+       (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
+       (put_char_composition): Likewise.
+       (Fput_char_attribute): Likewise.
+       (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
+
+2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (Q_ucs): Deleted.
+       (Fput_char_attribute): Don't refer `->ucs'.
+       (Fdefine_char): Likewise.
+       (Ffind_char): Likewise.
+       (syms_of_chartab): Delete `->ucs'.
+
+2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (Qmap_cns11643_2): Renamed from
+       `Qchinese_cns11643_2'.
+       (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
+       `chinese-cns11643-2'.
+       (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
+       `=cns11643-2'.
+
+2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (Qmap_cns11643_1): Renamed from
+       `Qchinese_cns11643_1'.
+       (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
+       `chinese-cns11643-1'.
+       (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
+       `=cns11643-1'.
+
+2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
+       (syms_of_mule_charset): Add new symbol `=gb12345' instead of
+       `chinese-gb12345'.
+       (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
+       `=gb12345'.
+
+2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
+       (syms_of_mule_charset): Add new symbol `=gb2312' instead of
+       `chinese-gb2312'.
+       (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
+       `=gb2312'.
+
+2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
+       (syms_of_mule_charset): Add new symbol `=big5' instead of
+       `chinese-big5'.
+       (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
+
+2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
+       (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
+       `korean-ksc5601'.
+       (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
+       `=ks-x1001'.
+
+2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (Qmap_jis_x0212): Renamed from
+       `Qjapanese_jisx0212'.
+       (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
+       `japanese-jisx0212'.
+       (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
+       `=jis-x0212'.
+
+2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
+       `Qjapanese_jisx0208'.
+       (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
+       of `japanese-jisx0208'.
+       (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
+       `=jis-x0208-1983'.
+
+2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
+       `Qjapanese_jisx0208_1978'.
+       (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
+       of `japanese-jisx0208-1978'.
+       (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
+       `=jis-x0208-1978'.
+
+2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
+       only for XEmacs CHISE.
+
+2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * char-ucs.h: Compact non-ISO-IR charset-ids.
+       (LEADING_BYTE_UCS): Changed to -177.
+       (LEADING_BYTE_CONTROL_1): Changed to -77.
+       (LEADING_BYTE_UCS_BMP): Changed to -176.
+       (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
+
+2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Qiso_ir): New variable.
+       (Fmake_charset): Recognise new property `iso-ir'.
+       (syms_of_mule_charset): Add new symbol `iso-ir'.
+
+2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
+       n to -n; charset-id of non ISO-IR sets are changed to positive
+       numbers.
+
+2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
+       for &MCS-XXXXXXXX; values.
+
+2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule.c (Vxemacs_chise_version): Renamed from
+       `Vutf_2000_version'.
+       (vars_of_mule): Add new variable `xemacs-chise-version'; define
+       `utf-2000-version' as an alias for `xemacs-chise-version'.
+
+2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c: Include <chise.h> when `CHISE' is defined.
+       (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
+       defined.
+
+       * config.h.in (CHISE): New macro.
+
+2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
+       of `ucs'.
+       (Qmap_ucs): New variable.
+       (syms_of_mule_charset): Add new symbol `=ucs'.
+       (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
+
+       * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
+       (simplify_char_spec): Likewise.
+
+       * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
+
+       * char-ucs.h (Qmap_ucs): New extern variable.
+
+2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
+       (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
+       don't define it when UTF2000 is not defined.
+       (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
+       `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
+       when UTF2000 is not defined.
+       (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
+       rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
+
+2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
+
+       * mule-charset.c (Vcharset_ucs_gb): Deleted.
+       (Qucs_gb): Deleted.
+       (syms_of_mule_charset): Delete `ucs-gb'.
+       (complex_vars_of_mule_charset): Likewise.
+
+2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
+
+       * mule-charset.c (Vcharset_ucs_cns): Deleted.
+       (Qucs_cns): Deleted.
+       (syms_of_mule_charset): Delete `ucs-cns'.
+       (complex_vars_of_mule_charset): Likewise.
+
+2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
+
+       * mule-charset.c (Vcharset_ucs_jis): Deleted.
+       (Qucs_jis): Deleted.
+       (syms_of_mule_charset): Delete `ucs-jis'.
+       (complex_vars_of_mule_charset): Likewise.
+
+2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
+
+       * mule-charset.c (Vcharset_ucs_ks): Deleted.
+       (Qucs_ks): Deleted.
+       (syms_of_mule_charset): Delete `ucs-ks'.
+       (complex_vars_of_mule_charset): Likewise.
+
+2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
+       (Qideograph_daikanwa_2): Deleted.
+       (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
+       (complex_vars_of_mule_charset): Likewise.
+
+       * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
+       (LEADING_BYTE_DAIKANWA_1): Deleted.
+       (LEADING_BYTE_DAIKANWA_2): Deleted.
+       (MIN_CHAR_DAIKANWA): Deleted.
+       (MAX_CHAR_DAIKANWA): Deleted.
+
+2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
+       (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
+       ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
+
+       * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
+       (Vcharset_ideograph_daikanwa): Deleted.
+       (Qideograph_hanziku_{1..12}): Deleted.
+       (Qideograph_daikanwa): Deleted.
+       (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
+       Vcharset_ideograph_daikanwa.
+       (syms_of_mule_charset): Delete `ideograph-daikanwa' and
+       `ideograph-hanziku-{1..12}'.
+       (complex_vars_of_mule_charset): Likewise.
+
+2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
+
+       * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
+       (Qideograph_gt_pj_{1..11}): Deleted.
+       (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
+       (complex_vars_of_mule_charset): Likewise.
+
+2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharset_ucs_big5): Deleted.
+       (Vcharset_ideograph_gt): Deleted.
+       (Qucs_big5): Deleted.
+       (Qideograph_gt): Deleted.
+       (syms_of_mule_charset): Delete symbol `ucs-big5' and
+       `ideograph-gt'.
+       (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
+       and `ideograph-gt'.
+
+       * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
+       (LEADING_BYTE_GT): Deleted.
+       (MIN_CHAR_GT): Deleted.
+       (MAX_CHAR_GT): Deleted.
+
+2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
+
+2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (save_uint8_byte_table): Add new argument `filter'.
+       (save_uint16_byte_table): Likewise.
+       (save_byte_table): Likewise; convert values by it.
+       (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
+       for `ideographic-structure'.
+       (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
+       as the filter for `ideographic-structure'.
+
+2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (put_char_composition): New function.
+       (Fput_char_attribute): Use `put_char_composition'; use
+       `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
+
+       * fns.c (simplify_char_spec): New function.
+       (char_ref_simplify_spec): New function.
+       (Fchar_refs_simplify_char_specs): New function.
+       (syms_of_fns): Add new builtin function
+       `char-refs-simplify-char-specs'.
+
+2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
+       (Qideograph_cbeta): Deleted.
+       (syms_of_mule_charset): Don't define `ideograph-cbeta'.
+       (complex_vars_of_mule_charset): Likewise.
+
+       * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
+       (MIN_CHAR_CBETA): Comment out.
+       (MAX_CHAR_CBETA): Likewise.
+
+2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
+       `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
+       CHISE client feature.
+
+2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
+
+2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (charset_lookup_description_1): Use
+       `NUM_LEADING_BYTES' in UTF-2000.
+
+2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * char-ucs.h (GC_CHARSETP): Deleted.
+
+2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * char-ucs.h (MAX_CHAR_GT): Updated.
+
+2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * text-coding.c: Sync with XEmacs 21.4.10.
+
+2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharset_china3_jef): Deleted.
+       (Qchina3_jef): Deleted.
+       (syms_of_mule_charset): Don't define `china3-jef'.
+       (complex_vars_of_mule_charset): Likewise.
+
+       * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
+       (MIN_CHAR_CHINA3_JEF): Comment out.
+       (MAX_CHAR_CHINA3_JEF): Comment out.
+
+2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharset_ucs_gb): New variable.
+       (Qucs_gb): New variable.
+       (syms_of_mule_charset): Add new symbol `ucs-gb'.
+       (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
+
+       * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
+
+2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (charset_code_point): if a coded-charset has a
+       final-byte, don't inherit the builtin range of the mother CCS.
+
+2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (charset_code_point): Fix problem about
+       inheritance.
+
+2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (decode_builtin_char): Reorganized.
+
+2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (char_encode_as_entity_reference): Modify for
+       `charset_code_point'.
+       (char_encode_shift_jis): Likewise.
+       (char_encode_big5): Likewise.
+       (char_encode_utf8): Likewise.
+       (char_encode_iso2022): Likewise.
+
+       * mule-charset.c (charset_code_point): Add new argument
+       `defined_only'.
+       (Fencode_char): Add new optional argument `defined_only'.
+
+       * chartab.c (put_char_table): Modify for `charset_code_point'.
+
+       * char-ucs.h (charset_code_point): Add new argument
+       `defined_only'.
+       (encode_char_1): Modify for `charset_code_point'.
+
+2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (complex_vars_of_mule_charset): Don't specify
+       `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
+
+2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
+       (Qjis_x0208): Likewise.
+       (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
+       XCHARSET_FINAL(charset).
+       (charset_code_point): Modify condition for final-byte based
+       builtin-chars.
+       (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
+       (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
+       in UTF-2000; specify `=jis-x0208' as the mother of
+       `japanese-jisx0208-1978', `japanese-jisx0208' and
+       `japanese-jisx0208-1990' in UTF-2000.
+
+2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
+
+2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (decode_coding_utf16): Support UTF-16.
+       (char_encode_utf16): Fixed.
+
+2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (Qutf16): New variable in MULE.
+       (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
+       (Fcoding_system_type): Add `utf-16' in MULE.
+       (struct detection_state): Add a structure for utf16 in MULE.
+       (detect_coding_type): Setup st->utf16.mask in MULE.
+       (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
+       MULE.
+       (reset_encoding_stream): Use `char_encode_utf16' and
+       `char_finish_utf16' for `CODESYS_UTF16' in MULE.
+       (detect_coding_utf16): New function [incomplete].
+       (decode_coding_utf16): New function [support only UCS-2].
+       (char_encode_utf16): New function.
+       (char_finish_utf16): New function.
+       (syms_of_file_coding): Add new symbol `utf-16'; setup
+       `coding_category_symbol[CODING_CATEGORY_UTF16]'.
+
+       * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
+       UTF-2000.
+       (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
+       (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
+
+2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (put_char_table): When a charset is specified as a
+       range in UTF-2000, don't support builtin characters.
+
+2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (decode_defined_char): Don't refer external
+       database if Qunbound or Qnil are found.
+       (Fsave_charset_mapping_table): Don't define it if
+       HAVE_CHISE_CLIENT is not defined.
+       (Freset_charset_mapping_table): New function.
+       (load_char_decoding_entry_maybe): Store Qnil if a character is not
+       found in external database.
+       (syms_of_mule_charset): Don't define `save-charset-mapping-table'
+       if HAVE_CHISE_CLIENT is not defined; add new builtin function
+       `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
+
+2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * text-coding.c (decode_coding_utf8): Check CCS is specified or
+       not.
+
+2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
+       Q_lowercase, Q_uppercase in UTF-2000.
+
+       * chartab.c (get_char_table): Add special code for the standard
+       case table to use character attribute `->downcase' and
+       `->uppercase' for case operations in UTF-2000.
+
+       * casetab.c (Qflippedcase): New variable in UTF-2000.
+       (Q_lowercase): Likewise.
+       (Q_uppercase): Likewise.
+       (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
+       and `->uppercase' in UTF-2000.
+       (complex_vars_of_casetab): Assign attribute name `downcase' to
+       downcase and CANON table of Vstandard_case_table in UTF-2000;
+       assign attribute name `flippedcase' to upcase and EQV table of
+       Vstandard_case_table in UTF-2000.
+
+2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (decode_add_er_char): Support isolated-chars.
+       (char_encode_as_entity_reference): Likewise.
+
+2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * emacs.c (Vutf_2000_lisp_directory): New variable.
+       (Vconfigure_utf_2000_lisp_directory): Likewise.
+       (complex_vars_of_emacs): Add new variable
+       `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
+
+2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * char-ucs.h (DECODE_CHAR): Delete special code for
+       `chinese-big5-1' and `chinese-big5-2'.
+
+       * mule-charset.c (Qbig5_1): New variable in UTF-2000.
+       (Qbig5_2): Likewise.
+       (decode_defined_char): Support CONVERSION_BIG5_1 and
+       CONVERSION_BIG5_2.
+       (decode_builtin_char): Likewise.
+       (charset_code_point): Likewise.
+       (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
+       'conversion in UTF-2000.
+       (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
+       (complex_vars_of_mule_charset): Define `chinese-big5-1' and
+       `chinese-big5-2' as children of `chinese-big5'.
+
+       * char-ucs.h (CONVERSION_BIG5_1): New macro.
+       (CONVERSION_BIG5_2): New macro.
+
+2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * text-coding.c (char_encode_big5): Support entity-reference.
+
+2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * text-coding.c (char_encode_as_entity_reference): New function.
+       (char_encode_utf8): Use `char_encode_as_entity_reference'.
+
+2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * text-coding.c (decode_coding_big5): Support entity-reference
+       decoding feature.
+
+2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (allocate_coding_system): Initialize initial
+       charsets for CODESYS_UTF8.
+       (Fmake_coding_system): Accept charset-g0, charset-g1 and
+       charset-g2 for CODESYS_UTF8.
+       (decode_coding_utf8): Use charset-g0.
+       (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
+       to force variants to map to UCS.
+
+2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (Qutf_8_mcs): New variable.
+       (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
+       (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
+       instead of `utf-8' in UTF-2000.
+
+2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
+       CONVERSION_IDENTICAL, identical conversion is used even if a CCS
+       is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
+       CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
+       CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
+       CONVERSION_96x96x96x96 are introduced.
+       (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
+       CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
+       instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
+
+       * char-ucs.h (CONVERSION_94): New macro.
+       (CONVERSION_96): New macro.
+       (CONVERSION_94x94): New macro.
+       (CONVERSION_96x96): New macro.
+       (CONVERSION_94x94x94): New macro.
+       (CONVERSION_96x96x96): New macro.
+       (CONVERSION_94x94x94x60): New macro.
+       (CONVERSION_94x94x94x94): New macro.
+       (CONVERSION_96x96x96x96): New macro.
+
+2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (Vcharacter_variant_table): Deleted.
+       (Fchar_variants): Use character-attribute `->ucs-variants' instead
+       of `Vcharacter_variant_table'.
+       (Fput_char_attribute): Likewise.
+       (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
+       (complex_vars_of_chartab): Likewise.
+
+2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * lisp.h: Add an EXFUN for `Fchar_ref_p'.
+
+       * fns.c (Qideographic_structure): New variable.
+       (Qkeyword_char): New variable.
+       (ids_format_unit): New function.
+       (Fideographic_structure_to_ids): New function.
+       (syms_of_fns): Add new symbols `ideographic-structure' and
+       `:char'; add new builtin function `ideographic-structure-to-ids'.
+
+       * data.c (Fchar_ref_p): New function.
+       (syms_of_data): Add new builtin function `char-ref-p'.
+
+       * chartab.h: Add an EXFUN for `Ffind_char'.
+
+2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (Vcharacter_composition_table): Deleted.
+       (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
+       in every UTF-2000.
+
+       * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
+       UTF-2000.
+       (Vcharacter_composition_table): Deleted.
+       (Fget_composite_char): Use the implementation for external-DB
+       support in every UTF-2000.
+       (Fput_char_attribute): Likewise.
+       (char_attribute_system_db_file): Don't define if external-DB
+       feature is not available.
+       (Fsave_char_attribute_table): Likewise.
+       (Fmount_char_attribute_table): Likewise.
+       (Fclose_char_attribute_table): Likewise.
+       (Freset_char_attribute_table): Likewise.
+       (Fload_char_attribute_table): Likewise.
+       (syms_of_chartab): Don't define `save-char-attribute-table',
+       `mount-char-attribute-table', `reset-char-attribute-table',
+       `close-char-attribute-table' and `load-char-attribute-table' if
+       external-DB feature is not available.
+       (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
+
+2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * text-coding.c (Qcomposition): Add extern if external-DB feature
+       is supported.
+       (Vcharacter_composition_table): Don't add extern if external-DB
+       feature is supported.
+       (COMPOSE_ADD_CHAR): Modify for new data-representation of
+       character composition rule if external-DB feature is supported.
+
+       * chartab.c (Vcharacter_composition_table): Don't define if
+       external-DB feature is supported.
+       (Qcomposition): New variable.
+       (Fget_composite_char): New implementation for external-DB support.
+       (Fput_char_attribute): Use `composition' property of each
+       character instead of `Vcharacter_composition_table' to store
+       character-composition rules if external-DB feature is supported.
+       (syms_of_chartab): Add new symbol `composition'.
+       (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
+       external-DB feature is supported.
+
+2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (Vchar_db_stingy_mode): New variable.
+       (load_char_attribute_maybe): Close database if
+       Vchar_db_stingy_mode is not NIL.
+       (Fload_char_attribute_table_map_function): Use
+       `get_char_id_table_0' instead of `get_char_id_table'.
+       (vars_of_chartab): Add new variable `char-db-stingy-mode'.
+
+       * chartab.h (get_char_id_table_0): New inline function.
+       (get_char_id_table): Use `get_char_id_table_0'.
+
+2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
+       and `COMPOSE_ADD_CHAR'.
+       (decode_coding_iso2022): Use `decode_flush_er_chars'.
+
+2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
+       instead of `DECODE_ADD_UCS_CHAR'.
+       (COMPOSE_ADD_CHAR): Likewise.
+
+2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * text-coding.c (decode_flush_er_chars): New inline function.
+       (decode_add_er_char): New function.
+       (decode_coding_utf8): Use `decode_flush_er_chars' and
+       `decode_add_er_char'.
+
+2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * text-coding.c (decode_coding_utf8): Flush for er_buf must be
+       done before `decode_output_utf8_partial_char'.
+
+       * mule-charset.c (complex_vars_of_mule_charset): Specify
+       `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
+       `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
+
+2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (decode_defined_char): New function; search
+       mother.
+       (decode_builtin_char): Don't search mother if
+       XCHARSET_MAX_CODE(charset) == 0.
+       (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
+       == 0 even if code >= XCHARSET_MAX_CODE(charset).
+       (Fdecode_char): Use `decode_defined_char' instead of
+       `DECODE_DEFINED_CHAR'.
+       (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
+       mother of `Vcharset_ucs_jis'.
+
+       * text-coding.c (decode_coding_big5): Use `decode_defined_char'
+       instead of `DECODE_DEFINED_CHAR'.
+
+       * char-ucs.h (decode_defined_char): Renamed from
+       `DECODE_DEFINED_CHAR'; changed to normal function.
+       (DECODE_CHAR): Use `decode_defined_char' instead of
+       `DECODE_DEFINED_CHAR'.
+
+       * lisp.h: Add `EXFUN' for `Fstring_to_number'.
+
+2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * char-ucs.h: Add `extern' for `Vcharset_ucs'.
+
+       * text-coding.c (Vcoded_charset_entity_reference_alist): New
+       variable.
+       (Quse_entity_reference): New variable.
+       (Qd): New variable.
+       (Qx): New variable.
+       (QX): New variable.
+       (coding_system_description): Add description for
+       `ccs_priority_list'.
+       (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
+       (allocate_coding_system): Initialize `ccs_priority_list' in
+       UTF-2000.
+       (Fmake_coding_system): Add description about
+       'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
+       (codesys).
+       (Fcoding_system_property): Accept `disable-composition' and
+       `use-entity-reference' in UTF-2000.
+       (struct decoding_stream): Add new member `er_counter' and `er_buf'
+       in UTF-2000.
+       (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
+       (decode_coding_utf8): Decode entity-reference if
+       CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
+       (char_encode_utf8): Encode non-Unicode characters as
+       entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
+       (str->codesys).
+       (syms_of_file_coding): Add new symbols `use-entity-reference',
+       `d', `x', `X'.
+       (vars_of_file_coding): Add new variable
+       `coded-charset-entity-reference-alist'.
+       (complex_vars_of_file_coding): Declare `disable-composition' and
+       `use-entity-reference' to be coding-system-properties in UTF-2000.
+
+       * file-coding.h (struct Lisp_Coding_System): Add new member
+       `use_entity_reference' and `ccs_priority_list'.
+       (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
+       (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
+       (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
+
+2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (save_uint8_byte_table): Don't clear the table.
+       (save_uint16_byte_table): Likewise.
+       (save_byte_table): Likewise.
+       (Fmount_char_attribute_table): New function.
+       (syms_of_chartab): Add new builtin function
+       `mount-char-attribute-table'.
+
+2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Fsave_charset_mapping_table): Open database as
+       "w+" mode.
+       (load_char_decoding_entry_maybe): Open database as read-only mode.
+
+       * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
+       open database as "w+" mode.
+       (load_char_attribute_maybe): Open database as read-only mode.
+       (Fload_char_attribute_table): Likewise.
+
+2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (mark_char_table): Don't refer `ct->db_file'.
+       (char_table_description): Delete member `db_file'.
+       (Fmake_char_table): Don't refer `ct->db_file'.
+       (Fcopy_char_table): Likewise.
+       (Fsave_char_attribute_table): Likewise.
+       (Fclose_char_attribute_table): Likewise.
+       (Freset_char_attribute_table): Likewise.
+       (load_char_attribute_maybe): Likewise.
+       (Fload_char_attribute_table): Likewise.
+
+       * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
+
+2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
+       (Fsave_char_attribute_table): Don't check `ct->db_file' if
+       `ct->db' is living.
+       (load_char_attribute_maybe): Likewise.
+       (Fload_char_attribute_table): Likewise.
+
+2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (Fclose_char_attribute_table): Set Qnil on
+       `ct->db_file' unconditionally.
+
+2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
+       UTF-2000.
+       (char_table_description): Add description for `db_file' and `db'
+       in UTF-2000.
+       (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
+       UTF-2000.
+       (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
+       (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
+       (Fclose_char_attribute_table): New function.
+       (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
+       (load_char_attribute_maybe): Change interface; use `cit->db_file'
+       and `cit->db'.
+       (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
+       (syms_of_chartab): Add new builtin function
+       `Fclose_char_attribute_table'.
+
+2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
+       `db' in UTF-2000.
+       (load_char_attribute_maybe): Change interface.
+       (get_char_id_table): Modify for `load_char_attribute_maybe'.
+
+2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * database.h: Add an EXFUN for `Fdatabase_live_p'.
+
+2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
+       instead of `DECODE_CHAR' for mother; don't use special code for
+       chinese-big5 to use code space of chinese-big5-1 and
+       chinese-big5-2.
+       (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
+       `MAX_CHAR_BIG5_CDP' for chinese-big5.
+
+       * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
+       (MAX_CHAR_BIG5_CDP): Revival.
+
+2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
+       the XLFD registry-encoding name of `chinese-big5'.
+
+2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
+       (Qchinese_big5_cdp): Deleted.
+       (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
+       (complex_vars_of_mule_charset): Delete coded-charset
+       `chinese-big5-cdp'.
+
+       * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
+       (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
+       `CHARSET_ID_OFFSET - n' for private CCS.
+       (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
+       (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
+       of `MIN_LEADING_BYTE'.
+       (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
+       `(CHARSET_ID_OFFSET - 97)'.
+       (MIN_CHAR_BIG5_CDP): Deleted.
+       (MAX_CHAR_BIG5_CDP): Deleted.
+
+2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
+
+2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
+       (vars_of_mule): Add new variable `utf-2000-version' [moved from
+       chartab.c].
+
+       * chartab.c (Vutf_2000_version): Moved to mule.c.
+       (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
+
+2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
+       when HAVE_CHISE_CLIENT is not defined.
+
+       * mule.c (vars_of_mule): Provide feature `chise' when
+       HAVE_CHISE_CLIENT is defined.
+
+2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * config.h.in (UTF2000): Add comment.
+       (HAVE_CHISE_CLIENT): New macro.
+
+2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
+       CONSP.
+       (Fput_char_attribute): Likewise.
+       (char_attribute_system_db_file): Encode file-name of attribute.
+       (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
+       the initial value.
+
+2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
+       (Fsave_charset_mapping_table): Use
+       `char_attribute_system_db_file'.
+       (load_char_decoding_entry_maybe): Likewise.
+
+       * chartab.h (Qsystem_char_id): New external variable.
+       (char_attribute_system_db_file): New prototype.
+
+       * chartab.c (Qsystem_char_id): New variable in UTF-2000.
+       (char_attribute_system_db_file): New function.
+       (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
+       (Freset_char_attribute_table): Likewise.
+       (load_char_attribute_maybe): Likewise.
+       (Fload_char_attribute_table): Likewise.
+       (syms_of_chartab): Add new symbol `system-char-id'.
+
+2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
+       `XCHARSET_GRAPHIC(ccs)'.
+
+2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Fsave_charset_mapping_table): Fixed.
+
+2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (Q_ucs_variants): New variable.
+       (syms_of_chartab): Add new symbol `->ucs-variants'.
+       (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
+       `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
+       `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
+
+       * mule-charset.c (load_char_decoding_entry_maybe): New function.
+
+       * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
+       `HAVE_DATABASE' is defined.
+       (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
+       `HAVE_DATABASE' is defined.
+
+2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (Fsave_char_attribute_table): Don't clear internal
+       attribute-table.
+       (Freset_char_attribute_table): New function.
+       (syms_of_chartab): Add new builtin function
+       `reset-char-attribute-table'.
+
+2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (load_char_attribute_maybe): Don't make directories.
+
+2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
+
+       * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
+       for decoding-table.
+
+2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (Fsave_charset_mapping_table): Use
+       `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
+
+       * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
+       instead of `XCHARSET_CHARS'.
+
+2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
+       (XCHARSET_BYTE_SIZE): Likewise.
+
+       * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
+       mule-charset.c].
+       (XCHARSET_BYTE_SIZE): Likewise.
+
+2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (Fput_char_attribute): Use exec-directory instead of
+       data-directory to store database.
+       (Fsave_char_attribute_table): Likewise.
+       (load_char_attribute_maybe): Likewise.
+       (Fload_char_attribute_table): Likewise.
+
+2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (Fsave_charset_mapping_table): New function.
+       (syms_of_mule_charset): Add new builtin function
+       `save-charset-mapping-table'.
+
+2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * char-ucs.h (decoding_table_check_elements): Delete prototype.
+       (get_ccs_octet_table): New inline function.
+       (put_ccs_octet_table): Likewise.
+       (decoding_table_put_char): Use `get_ccs_octet_table' and
+       `put_ccs_octet_table'.
+       (decoding_table_remove_char): Use `decoding_table_put_char'.
+       (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
+
+       * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
+       into encoding_table.
+       (make_charset): Use Qunbound instead Qnil as initial value of
+       decoding_table.
+
+2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
+       element is Qunloaded.
+       (map_over_uint16_byte_table): Likewise.
+       (map_over_byte_table): Likewise.
+       (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
+       CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
+       database support, load encoding-table of the specified
+       coded-charset if it is not loaded yet.
+       (save_uint8_byte_table): New function of UTF-2000 with external
+       database support.
+       (save_uint16_byte_table): Likewise.
+       (save_byte_table): Likewise.
+       (Fput_char_attribute): Don't store value into external database
+       even if the external database feature is supported in UTF-2000;
+       set `attribute' as name of char-table if the external database
+       feature is supported.
+       (Fsave_char_attribute_table): New function in UTF-2000.
+       (syms_of_chartab): Add new builtin function
+       `save-char-attribute-table' in UTF-2000.
+
+2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (char_attribute_table_to_put): New variable in
+       UTF-2000.
+       (Qput_char_table_map_function): Likewise.
+       (value_to_put): Likewise.
+       (Fput_char_table_map_function): New function in UTF-2000.
+       (put_char_table): Use `Fmap_char_attribute' for
+       CHARTAB_RANGE_CHARSET in UTF-2000.
+       (Fput_char_attribute): Store symbol instead of string in
+       `XCHAR_TABLE_NAME (table)'.
+       (load_char_attribute_maybe): Likewise.
+       (syms_of_chartab): Add new symbol/function
+       `put-char-table-map-function'.
+
+2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * database.h: Add new EXFUN for `Fmap_database'.
+
+       * database.c (Fmap_database): Renamed from `Fmapdatabase'.
+       (syms_of_database): Likewise.
+
+       * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
+       UTF-2000.
+       (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
+       (XCHAR_TABLE_UNLOADED): Likewise.
+
+       * chartab.c (fill_char_table): Initialize `ct->unloaded'.
+       (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
+       HAVE_DATABASE is defined.
+       (char_attribute_table_to_load): New variable of UTF-2000 with
+       external database support.
+       (Qload_char_attribute_table_map_function): Likewise.
+       (Fload_char_attribute_table_map_function): New function of
+       UTF-2000 with external database support.
+       (Fload_char_attribute_table): New function of UTF-2000.
+       (Fmap_char_attribute): Call Fload_char_attribute_table if
+       CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
+       (syms_of_chartab): Add new symbol and function
+       `load-char-attribute-table-map-function' in UTF-2000 with external
+       database support; add new function `load-char-attribute-table' in
+       UTF-2000.
+
+2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.h (load_char_attribute_maybe): New prototype for
+       UTF-2000 with DATABASE support.
+       (get_char_id_table): Use `load_char_attribute_maybe' if
+       HAVE_DATABASE is defined.
+
+       * chartab.c (load_char_attribute_maybe): New function in UTF-2000
+       with DATABASE support.
+
+2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (Fput_char_attribute): Use S-expression as key of
+       external database.
+
+       * chartab.h (get_char_id_table): Use S-expression as key of
+       external database.
+
+2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (map_over_uint8_byte_table): Add new argument `root';
+       if an element is not loaded, load the corresponding attributes
+       from an external database.
+       (map_over_uint16_byte_table): Likewise.
+       (map_over_byte_table): Likewise.
+       (map_char_table): Modify for `map_over_uint8_byte_table',
+       `map_over_uint16_byte_table' and `map_over_byte_table'; if an
+       element is not loaded, load the corresponding attributes from an
+       external database.
+       (Fput_char_attribute): Change initial values to Qunloaded.
+
+       * chartab.h (get_char_id_table): If a character attribute is not
+       loaded and the attribute value is not found in an external
+       database, store Qunbound as the attribute value.
+
+2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * chartab.c (BT_UINT8_unloaded): New macro.
+       (UINT8_VALUE_P): Accept Qunloaded.
+       (UINT8_ENCODE): Likewise.
+       (UINT8_DECODE): Likewise.
+       (BT_UINT16_unloaded): New macro.
+       (UINT16_VALUE_P): Accept Qunloaded.
+       (UINT16_ENCODE): Likewise.
+       (UINT16_DECODE): Likewise.
+       (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
+       BT_UINT16_unloaded.
+       (mark_char_table): Mark `ct->name' in UTF-2000.
+       (char_table_description): Add `name' in UTF-2000.
+       (Fmake_char_table): Initialize `ct->name'.
+       (Fcopy_char_table): Copy `ct->name'.
+       (Fput_char_attribute): Store value into an external database if
+       HAVE_DATABASE is defined.
+
+       * chartab.h (struct Lisp_Char_Table): Add new member `name' in
+       UTF-2000.
+       (CHAR_TABLE_NAME): New macro in UTF-2000.
+       (XCHAR_TABLE_NAME): New macro in UTF-2000.
+       (get_char_id_table): Try to read an external database if Qunloaded
+       is stored in a table.
+
+       * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
+       Qunloaded.
+
+2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * database.h: Add EXFUN definitions for Fopen_database,
+       Fput_database, Fget_database and Fclose_database.
+
+       * data.c (Qunloaded): New variable in UTF-2000.
+
+       * lisp.h (Qunloaded): New variable in UTF-2000.
+
+2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (put_char_ccs_code_point): Modify for
+       `decoding_table_remove_char' and `decoding_table_put_char'.
+       (remove_char_ccs): Modify for `decoding_table_remove_char'.
+
+       * char-ucs.h (decoding_table_remove_char): Change arguments to
+       hide decoding_table vector.
+       (decoding_table_put_char): Likewise.
+
+2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (decoding_table_remove_char): Moved to
+       char-ucs.h.
+       (decoding_table_put_char): Likewise.
+
+       * char-ucs.h (decoding_table_check_elements): New prototype [moved
+       from mule-charset.c].
+       (decoding_table_remove_char): New inline function [moved from
+       mule-charset.c].
+       (decoding_table_put_char): Likewise.
+
+2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
+       extension.
+
+2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (decode_builtin_char): Support mother charsets.
+
+2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (Q94x94x60): New variable.
+       (charset_code_point): Support conversion `94x94x60'.
+       (Fmake_charset): Likewise.
+       (syms_of_mule_charset): Add new symbol `94x94x60'.
+
+       * char-ucs.h (CONVERSION_94x94x60): New macro.
+
+2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (charset_code_point): Unify code about
+       `code-offset'.
+
+2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
+
+       * mule-charset.c (charset_code_point): Merge code about builtin
+       characters into code about mother charsets; don't use
+       `range_charset_code_point'.
+       (range_charset_code_point): Deleted.
+
+2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Qcode_offset): New variable.
+       (Fmake_charset): Use `XUINT' to get value of `min-code' and
+       `max-code'; accept new property `code-offset'.
+       (syms_of_mule_charset): Add new symbol `code-offset'.
+
+2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (range_charset_code_point): Fixed.
+
+2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (decode_builtin_char): Change semantics of
+       code-offset of coded-charset.
+       (charset_code_point): Likewise.
+       (range_charset_code_point): Likewise.
+       (complex_vars_of_mule_charset): Modify for the change.
+
+2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Fencode_char): Reverse arguments.
+
+       * mule-charset.c (charset_code_point): Fixed.
+
+2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharset_mojikyo): Deleted.
+       (Vcharset_mojikyo_2022_1): Deleted.
+       (Vcharset_mojikyo_pj_{1..21}): Deleted.
+       (Qmin_code): New variable in UTF-2000.
+       (Qmax_code): Likewise.
+       (Qmother): Likewise.
+       (Qconversion): Likewise.
+       (Q94x60): Likewise.
+       (Qmojikyo): Deleted.
+       (Qmojikyo_2022_1): Deleted.
+       (Qmojikyo_pj_{1..22}): Deleted.
+       (mark_charset): Mark `cs->mother'.
+       (charset_description): Add description for `mother'.
+       (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
+       new arguments `mother' and `conversion'; use
+       `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
+       (charset_code_point): Moved from char-ucs.h; support `mother'
+       charset feature.
+       (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
+       of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
+       (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
+       UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
+       allow 2 as the value of `graphic' in UTF-2000; add new properties
+       `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
+       require `final' in UTF-2000; modify for `make_charset'.
+       (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
+       instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
+       (Fcharset_property): Support `mother', `min-code' and `max-code'.
+       (Fencode_char): New function.
+       (syms_of_mule_charset): Add new builtin function `encode-char' in
+       UTF-2000; add new symbols `min-code', `max-code', `mother',
+       `conversion' and `94x60'; delete symbols `mojikyo',
+       `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
+       (complex_vars_of_mule_charset): Modify for `make_charset' change;
+       delete coded-charsets `mojikyo', `mojikyo-2022-1' and
+       `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
+
+       * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
+       `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
+
+       * char-ucs.h (Vcharset_mojikyo): Deleted.
+       (Vcharset_mojikyo_2022_1): Deleted.
+       (LEADING_BYTE_MOJIKYO): Deleted.
+       (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
+       (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
+       (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
+       (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
+       add new member `mother'; add new member `conversion'.
+       (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
+       (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
+       (CHARSET_MOTHER): New macro.
+       (CHARSET_CONVERSION): New macro.
+       (CONVERSION_IDENTICAL): New macro.
+       (CONVERSION_94x60): New macro.
+       (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
+       (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
+       (XCHARSET_MOTHER): New macro.
+       (XCHARSET_CONVERSION): New macro.
+       (MIN_CHAR_MOJIKYO): Deleted.
+       (MAX_CHAR_MOJIKYO): Deleted.
+       (DECODE_MOJIKYO_2022): Deleted.
+       (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
+       (charset_code_point): Changed to non-inline function.
+       (encode_char_1): Use `charset_code_point'.
+       (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
+
+2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * lread.c (read_compiled_function): Fix prototype.
+       (read_vector): Likewise.
+
+2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * lrecord.h (struct lrecord_header): Delete `older'.
+       (set_lheader_implementation): Delete code for `older'.
+       (set_lheader_older_implementation): Deleted.
+       (enum lrecord_type): Delete `lrecord_type_char_id_table'.
+       (OLDER_RECORD_P): Deleted.
+       (OLDER_RECORD_HEADER_P): Deleted.
+       (alloc_older_lcrecord): Deleted.
+       (alloc_older_lcrecord_type): Deleted.
+
+       * alloc.c (all_older_lcrecords): Deleted.
+       (alloc_older_lcrecord): Deleted.
+       (disksave_object_finalization_1): Delete code for older objects.
+       (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
+       (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
+
+2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (decoding_table_put_char): Use `make_vector'
+       instead of `make_older_vector'.
+       (put_char_ccs_code_point): Likewise.
+       (mark_charset): Mark `cs->decoding_table'.
+       (Fset_charset_mapping_table): Don't use `make_vector_newer'.
+
+       * lisp.h (make_older_vector): Deleted.
+       (make_vector_newer): Deleted.
+
+       * config.h.in (HAVE_GGC): Deleted.
+
+       * alloc.c (make_older_vector): Deleted.
+       (make_vector_newer_1): Deleted.
+       (make_vector_newer): Deleted.
+
+2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
+       (Qideograph_daikanwa_2): New variable.
+       (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
+       (complex_vars_of_mule_charset): Add new coded-charset
+       `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
+       `LEADING_BYTE_DAIKANWA'.
+
+       * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
+       (LEADING_BYTE_DAIKANWA_1): New macro.
+       (LEADING_BYTE_DAIKANWA_2): New macro.
+       (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
+
+2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (complex_vars_of_mule_charset): Change
+       DOC-strings and registry of `ideograph-daikanwa'; now it indicates
+       the second revised version.
+
+2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharset_ucs_smp): New variable.
+       (Vcharset_ucs_sip): New variable.
+       (Qucs_smp): New variable.
+       (Qucs_sip): New variable.
+       (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
+       MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
+       (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
+       (complex_vars_of_mule_charset): Modify middle-DOC and registry of
+       `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
+       charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
+
+       * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
+       (LEADING_BYTE_UCS_SIP): New macro.
+       (MIN_CHAR_SMP): New macro.
+       (MAX_CHAR_SMP): New macro.
+       (MIN_CHAR_SIP): New macro.
+       (MAX_CHAR_SIP): New macro.
+
+2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
+       utf-2000.
+
+2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (put_char_ccs_code_point): Return canonicalized
+       value; don't store value into `encoding_table' of `Lisp_Charset'.
+       (mark_charset): `encoding_table' was deleted.
+       (charset_description): Likewise.
+       (make_charset): Likewise.
+       (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
+       `put_char_ccs_code_point'.
+
+       * chartab.h (Fput_char_attribute): New EXFUN.
+
+       * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
+       is unified with normal symbol space.
+       (Fget_char_attribute): Likewise.
+       (Fput_char_attribute): Likewise; behavior of
+       `put_char_ccs_code_point' is changed.
+
+       * char-ucs.h: Include "elhash.h".
+       (Vchar_attribute_hash_table): New external variable.
+       (struct Lisp_Charset): Delete `encoding_table'.
+       (CHARSET_ENCODING_TABLE): New implementation; refer
+       `Vchar_attribute_hash_table' instead of `encoding_table' of struct
+       `Lisp_Charset'.
+
+2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
+       (cs) == 0.
+
+2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (char_encode_big5): Prefer charset-g1 than
+       `chinese-big5'.
+
+2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (uint8_byte_table_description): New constant.
+       (uint8-byte-table): Use `uint8_byte_table_description'.
+       (uint16_byte_table_description): New constant.
+       (uint16-byte-table): Use `uint16_byte_table_description'.
+
+2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
+       range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
+
+2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharset_ucs_ks): New variable.
+       (Qucs_ks): New variable.
+       (syms_of_mule_charset): Add new symbol `ucs-ks'.
+       (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
+
+       * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
+
+2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
+       (Fdecode_char): Likewise.
+
+       * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
+       chartab.h.
+       (Fdefine_char): Modify for Fdecode_char.
+       (Ffind_char): Likewise.
+
+       * mule-charset.c (Fdecode_char): Add new optional argument
+       `defined-only'.
+       (Fdecode_builtin_char): Modify for `Fdecode_char'.
+
+2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
+       -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
+       (allocate_coding_system): Initialize initial-charsets of
+       CODESYS_BIG5 in XEmacs UTF-2000.
+       (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
+       CODESYS_BIG5 in XEmacs UTF-2000.
+       (decode_coding_big5): Use initial-charset-g0 and -g1 of
+       CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
+
+       * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
+       variables.
+       (Qideograph_hanziku_{1 .. 12}): Likewise.
+       (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
+       .. 12}'.
+       (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
+       `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
+       `ideograph-hanziku-{1 .. 12}'.
+
+       * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
+       (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
+       ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
+       ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
+       (DECODE_DEFINED_CHAR): New inline function.
+       (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
+
+2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharset_china3_jef): Renamed from
+       `Vcharset_japanese_jef_china3'.
+       (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
+       (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
+       `{MIN|MAX}_CHAR_JEF_CHINA3'..
+       (syms_of_mule_charset): Rename `china3-jef' from
+       `japanese-jef-china3'.
+       (complex_vars_of_mule_charset): Likewise; rename
+       `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
+
+       * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
+       `LEADING_BYTE_JEF_CHINA3'.
+       (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
+       (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
+
+2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (encode_builtin_char_1): Comment out special code
+       for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
+
+       * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
+       (MAX_CHAR_MOJIKYO_0): Comment out.
+       (MIN_CHAR_CBETA): Changed to 0x00E20000.
+       (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
+       (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
+       (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
+
+2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
+       (Qideograph_cbeta): New variable.
+       (encode_builtin_char_1): Comment out special code for
+       coded-charset `mojikyo' and `japanese-jef-china3'.
+       (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
+       (complex_vars_of_mule_charset): Add new coded-charset
+       `ideograph-cbeta'.
+
+       * char-ucs.h (LEADING_BYTE_CBETA): New macro.
+       (MIN_CHAR_CBETA): New macro.
+       (MAX_CHAR_CBETA): New macro.
+
+2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
+       (LEADING_BYTE_JEF_CHINA3): New macro.
+       (MIN_CHAR_JEF_CHINA3): New macro.
+       (MAX_CHAR_JEF_CHINA3): Likewise.
+       (DECODE_CHAR): Fixed.
+
+2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
+       (Qjapanese_jef_china3): New variable.
+       (encode_builtin_char_1): Support `japanese-jef-china3'.
+       (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
+       (complex_vars_of_mule_charset): Add new coded-charset
+       `japanese-jef-china3'.
+
+2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (XCHARSET_CELL_RANGE): New inline function.
+       (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
+       94^4, 96^3, 96^4, 128^n and 256^n set.
+       (put_char_table): Use `XCHARSET_CELL_RANGE'.
+       (map_char_table): Likewise.
+
+2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
+       UTF-2000.
+
+2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.h (get_char_id_table): New inline function.
+
+       * chartab.c (get_char_id_table): Moved to chartab.h as an inline
+       function.
+
+2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.h (decode_char_table_range): New prototype in XEmacs
+       UTF-2000.
+       (put_char_id_table): New inline function in XEmacs UTF-2000.
+
+       * chartab.c (put_char_id_table): Moved to chartab.h as an inline
+       function.
+       (decode_char_table_range): Delete static declaration in XEmacs
+       UTF-2000.
+
+2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (put_char_id_table): Use `put_char_table'.
+
+2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
+       (map_over_uint16_byte_table): Likewise.
+       (map_over_byte_table): Likewise.
+       (map_char_table): Modify for `map_over_uint8_byte_table',
+       `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
+       UTF-2000.
+
+2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (struct map_char_table_for_charset_arg): New
+       structure.
+       (map_char_table_for_charset_fun): New function.
+       (map_char_table): Use `map_char_table' for encoding_table of
+       `range->charset'.
+
+2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (map_char_table): Check a character is found in
+       range->charset instead of non default value is defined in
+       char-table when range is CHARTAB_RANGE_ROW.
+
+2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (map_char_id_table): Deleted.
+       (Fmap_char_attribute): Use `map_char_table' instead of
+       `map_char_id_table'.
+
+2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
+       UTF-2000.
+       (update_syntax_table): Deleted in XEmacs UTF-2000.
+
+       * syntax.c (find_defun_start): Use `syntax_table' instead of
+       `mirror_syntax_table' in XEmacs UTF-2000.
+       (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
+       UTF-2000.
+       (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
+       XEmacs UTF-2000.
+       (Fmatching_paren): Likewise.
+       (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
+       in XEmacs UTF-2000.
+       (find_start_of_comment): Likewise.
+       (find_end_of_comment): Likewise.
+       (Fforward_comment): Likewise.
+       (scan_lists): Likewise.
+       (char_quoted): Likewise.
+       (Fbackward_prefix_chars): Likewise.
+       (scan_sexps_forward): Likewise.
+       (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
+       (update_syntax_table): Likewise.
+
+       * search.c (skip_chars): Use `syntax_table' instead of
+       `mirror_syntax_table' in XEmacs UTF-2000.
+       (wordify): Likewise.
+       (Freplace_match): Likewise.
+
+       * regex.c (re_compile_fastmap): Use `syntax_table' instead of
+       `mirror_syntax_table' in XEmacs UTF-2000.
+       (WORDCHAR_P_UNSAFE): Likewise.
+       (re_match_2_internal): Likewise.
+
+       * font-lock.c (find_context): Use `buf->syntax_table' instead of
+       `buf->mirror_syntax_table' in XEmacs UTF-2000.
+
+       * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
+       of `buf->mirror_syntax_table' in XEmacs UTF-2000.
+
+       * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
+       XEmacs UTF-2000.
+
+       * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
+       UTF-2000.
+       (print_char_table): Print `default_value' in XEmacs UTF-2000.
+       (char_table_description): Delete `mirror_table' in XEmacs
+       UTF-2000.
+       (fill_char_table): Don't call `update_syntax_table' in XEmacs
+       UTF-2000.
+       (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
+       (Fcopy_char_table): Likewise.
+       (put_char_table): Don't call `update_syntax_table' in XEmacs
+       UTF-2000.
+
+       * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
+       `buf->mirror_syntax_table' in XEmacs UTF-2000.
+       (casify_region_internal): Likewise.
+
+       * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
+
+       * buffer.c (common_init_complex_vars_of_buffer): Don't use
+       `mirror_syntax_table' in XEmacs UTF-2000.
+
+       * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
+       `buf->mirror_syntax_table' in XEmacs UTF-2000.
+       (Fexpand_abbrev): Likewise.
+
+2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
+
+2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
+       (map_over_uint16_byte_table): Likewise.
+       (map_over_byte_table): Likewise.
+       (get_char_id_table): Refer `cit->default_value'.
+       (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
+       (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
+       of character-id ranges.
+       (mark_char_table): Mark `ct->default_value'.
+       (char_table_description): Add `default_value'.
+       (fill_char_table): Use `default_value'.
+       (decode_char_table_range): Decode `nil' as
+       `CHARTAB_RANGE_DEFAULT'.
+       (get_char_id_table): Refer `cit->default_value'.
+       (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
+       (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
+       temporary hack; check value of char-table is bound or not.
+       (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
+
+       * chartab.h (struct Lisp_Char_Table): Add new member
+       `default_value' in XEmacs UTF-2000.
+       (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
+       (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
+       UTF-2000.
+
+2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.h (Lisp_Char_ID_Table): Deleted.
+
+       * chartab.c (char_table_description): Fix typo.
+       (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
+       `Lisp_Char_ID_Table'.
+
+2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
+       `CHAR_ID_TABLE_P'.
+
+       * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
+       `CHAR_ID_TABLE_P'.
+
+       * chartab.h (XCHAR_ID_TABLE): Deleted.
+       (XSETCHAR_ID_TABLE): Deleted.
+       (CHAR_ID_TABLE_P): Deleted.
+
+       * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
+       `CHAR_ID_TABLE_P'.
+       (Fget_composite_char): Likewise.
+       (put_char_table): Likewise.
+       (add_char_attribute_alist_mapper): Fixed.
+       (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
+       `CHAR_ID_TABLE_P'.
+       (Fget_char_attribute): Likewise.
+       (Fget_char_attribute): Likewise.
+       (Fmap_char_attribute): Likewise.
+
+       * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
+       `CHAR_ID_TABLE_P'.
+       (encode_char_1): Likewise.
+
+2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
+       `XCHAR_ID_TABLE'.
+
+       * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
+       instead of `XCHAR_ID_TABLE'.
+       (remove_char_ccs): Likewise.
+
+       * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
+       `XCHAR_ID_TABLE'.
+       (Fget_composite_char): Likewise.
+       (Fchar_variants): Likewise.
+       (put_char_table): Likewise.
+       (add_char_attribute_alist_mapper): Likewise.
+       (Fchar_attribute_alist): Likewise.
+       (Fget_char_attribute): Likewise.
+       (Fput_char_attribute): Likewise.
+       (Fmap_char_attribute): Likewise.
+       (Fmap_char_attribute): Likewise.
+
+       * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
+       `XCHAR_ID_TABLE'.
+       (encode_char_1): Likewise.
+
+2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
+       `Lisp_Char_ID_Table'.
+       (mark_char_id_table): Deleted.
+       (print_char_id_table): Likewise.
+       (char_id_table_equal): Likewise.
+       (char_id_table_hash): Likewise.
+       (char_id_table_description): Likewise.
+       (char_id_table): Likewise.
+       (make_char_id_table): Use `Fmake_char_table' and
+       `fill_char_table'.
+       (get_char_id_table): Use `Lisp_Char_Table' instead of
+       `Lisp_Char_ID_Table'.
+       (put_char_id_table): Likewise.
+       (Fput_char_attribute): Use `XCHAR_TABLE' instead of
+       `XCHAR_ID_TABLE'.
+       (Fremove_char_attribute): Likewise.
+       (syms_of_chartab): Don't define type `char-id-table'.
+
+       * chartab.h (struct Lisp_Char_ID_Table): Deleted.
+       (char_id_table): Likewise.
+       (GC_CHAR_ID_TABLE_P): Likewise.
+       (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
+       (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
+       (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
+       (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
+       (get_char_id_table): Use `Lisp_Char_Table' instead of
+       `Lisp_Char_ID_Table'.
+       (put_char_id_table_0): Likewise.
+       (put_char_id_table): Likewise.
+
+2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
+
+       * chartab.h: Lisp_Byte_Table related codes are moved from
+       chartab.h.
+
+       * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
+
+2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
+
+       * chartab.h: Don't include "chartab.h".
+       (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
+       (Lisp_Char_ID_Table): Likewise.
+       (char_id_table): Likewise.
+       (XCHAR_ID_TABLE): Likewise.
+       (XSETCHAR_ID_TABLE): Likewise.
+       (CHAR_ID_TABLE_P): Likewise.
+       (GC_CHAR_ID_TABLE_P): Likewise.
+       (get_char_id_table): Likewise.
+
+       * char-ucs.h: Include "chartab.h".
+       (struct Lisp_Char_ID_Table): Moved to chartab.h.
+       (Lisp_Char_ID_Table): Likewise.
+       (char_id_table): Likewise.
+       (XCHAR_ID_TABLE): Likewise.
+       (XSETCHAR_ID_TABLE): Likewise.
+       (CHAR_ID_TABLE_P): Likewise.
+       (GC_CHAR_ID_TABLE_P): Likewise.
+       (get_char_id_table): Likewise.
+
+2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
+
+       * chartab.c (copy_uint8_byte_table): New function.
+       (copy_uint16_byte_table): New function.
+       (copy_byte_table): New function.
+       (map_over_uint8_byte_table): Modify to avoid huge numbers of
+       characters to call.
+       (map_over_uint16_byte_table): Likewise.
+       (map_over_byte_table): Likewise.
+       (get_byte_table): Move prototype to chartab.h.
+       (put_byte_table): Likewise.
+       (put_char_id_table_0): Moved to chartab.h.
+       (mark_char_table_entry): Don't define in XEmacs UTF-2000.
+       (char_table_entry_equal): Likewise.
+       (char_table_entry_hash): Likewise.
+       (char_table_entry_description): Likewise.
+       (char_table_entry): Likewise.
+       (make_char_table_entry): Likewise.
+       (copy_char_table_entry): Likewise.
+       (get_non_ascii_char_table_value): Likewise.
+       (map_over_charset_ascii): Likewise.
+       (map_over_charset_control_1): Likewise.
+       (map_over_charset_row): Likewise.
+       (map_over_other_charset): Likewise.
+       (mark_char_table): Modify for new structure in XEmacs UTF-2000.
+       (print_char_table): Likewise.
+       (char_table_equal): Likewise.
+       (char_table_hash): Likewise.
+       (char_table_description): Likewise.
+       (fill_char_table): Likewise.
+       (Fcopy_char_table): Likewise.
+       (get_char_table): Likewise.
+       (Fget_range_char_table): Likewise.
+       (put_char_table): Likewise.
+       (map_char_table): Likewise.
+       (syms_of_chartab): Don't define `char_table_entry' in XEmacs
+       UTF-2000.
+
+2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
+       `Vauto_fill_chars' in XEmacs UTF-2000.
+
+       * chartab.h (get_byte_table): New prototype [moved from
+       chartab.c].
+       (put_byte_table): Likewise [moved from chartab.c].
+       (put_char_id_table_0): New inline function [moved from chartab.c].
+       (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
+       (Lisp_Char_Table_Entry): Likewise.
+       (char_table_entry): Likewise.
+       (XCHAR_TABLE_ENTRY): Likewise.
+       (XSETCHAR_TABLE_ENTRY): Likewise.
+       (CHAR_TABLE_ENTRYP): Likewise.
+       (CHECK_CHAR_TABLE_ENTRY): Likewise.
+       (NUM_ASCII_CHARS): Likewise.
+       (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
+       (CHAR_TABLE_VALUE_UNSAFE): Likewise.
+
+2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (get_char_id_table): Change interface.
+       (put_char_id_table_0): New function.
+       (put_char_id_table): Change interface; new implementation.
+       (Fget_composite_char): Modify for interface change of
+       `get_char_id_table'.
+       (Fchar_variants): Likewise.
+       (add_char_attribute_alist_mapper): Likewise.
+       (Fchar_attribute_alist): Likewise.
+       (Fget_char_attribute): Likewise.
+       (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
+       as same as character as the first argument like `put-char-table';
+       modify for interface change of `put_char_id_table'.
+       (Fremove_char_attribute): Modify for interface change of
+       `put_char_id_table'.
+
+2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c: Sync up with XEmacs 21.2.41.
+       (COMPOSE_ADD_CHAR): Modify for interface change of
+       `get_char_id_table'.
+
+       * mule-charset.c (put_char_ccs_code_point): Modify for interface
+       change of `put_char_id_table'.
+       (remove_char_ccs): Likewise.
+
+       * chartab.h (put_char_id_table): Change interface.
+
+       * char-ucs.h (get_char_id_table): Change interface.
+       (charset_code_point): Modify for interface change of
+       `get_char_id_table'.
+       (encode_char_1): Likewise.
+
+2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (map_over_uint8_byte_table): Change arguments; add new
+       argument `ccs'.
+       (map_over_uint16_byte_table): Likewise.
+       (map_over_byte_table): Likewise.
+       (map_char_id_table): Add new argument `range' like
+       `map_char_table'.
+       (Fmap_char_attribute): Add new argument `range' like
+       `Fmap_char_table'.
+
+2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.c (map_over_uint8_byte_table): Change interface of
+       mapping function to use struct chartab_range instead of Emchar.
+       (map_over_uint16_byte_table): Likewise.
+       (map_over_byte_table): Likewise.
+       (map_char_id_table): Likewise.
+       (struct slow_map_char_id_table_arg): Deleted.
+       (slow_map_char_id_table_fun): Deleted.
+       (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
+       function `slow_map_char_table_fun' instead of struct
+       `slow_map_char_id_table_arg' and function
+       `slow_map_char_id_table_fun'.
+
+2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c: Move char-it-table related codes to chartab.c.
+       (Vutf_2000_version): Moved to chartab.c.
+       (Fdefine_char): Likewise.
+       (Ffind_char): Likewise.
+       (syms_of_mule_charset): Move types `uint8-byte-table',
+       `uint16-byte-table', `byte-table' and `char-id-table' to
+       chartab.c; move functions `char_attribute_list,
+       `find_char_attribute_table, `char_attribute_alist,
+       `get_char_attribute, `put_char_attribute, `remove_char_attribute,
+       `map_char_attribute, `define_char, `find_char, `char_variants and
+       `get_composite_char to chartab.c; move symbols `=>ucs',
+       `->decomposition', `compat', `isolated', `initial', `medial',
+       `final', `vertical', `noBreak', `fraction', `super', `sub',
+       `circle', `square', `wide', `narrow', `small' and `font' to
+       chartab.c.
+       (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
+       setting codes for `Vcharacter_composition_table' and
+       `Vcharacter_variant_table' to chartab.c.
+       (complex_vars_of_mule_charset): Move setting code for
+       `Vchar_attribute_hash_table' to chartab.c.
+
+       * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
+       (make_char_id_table): New prototype.
+       (put_char_id_table): Likewise.
+       (Fget_char_attribute): Likewise.
+
+       * chartab.c: Move char-id-table related code from mule-charset.c.
+       (Vutf_2000_version): Moved from mule-charset.c.
+
+       * char-ucs.h (Qucs): New external variable.
+       (put_char_ccs_code_point): New prototype.
+       (remove_char_ccs): Likewise.
+
+2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
+
+       * mule-charset.c (Vcharset_ucs_jis): New variable.
+       (Qucs_jis): Likewise.
+       (syms_of_mule_charset): Add new symbol `ucs-jis'.
+       (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
+
+       * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
+
+2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (map_over_uint8_byte_table): New function.
+       (map_over_uint16_byte_table): Likewise.
+       (map_over_byte_table): Likewise.
+       (map_char_id_table): Likewise.
+       (slow_map_char_id_table_fun): Likewise.
+       (Fmap_char_attribute): Likewise.
+       (syms_of_mule_charset): Add new function `map-char-attribute'.
+
+2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
+       (syms_of_mule_charset): Add new function `find-char'.
+
+2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
+       XEmacs UTF-2000.
+       (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
+       (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
+       XEmacs UTF-2000.
+       (complex_vars_of_mule_charset): Add new coded-charset
+       `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
+       `ideograph-gt-pj-*'.
+
+       * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
+
+2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (encode_builtin_char_1): Purge codes about
+       {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
+       {MIN|MAX}_CHAR_HEBREW.
+       (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
+       don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
+
+       * char-ucs.h (MIN_CHAR_GREEK): Purged.
+       (MAX_CHAR_GREEK): Purged.
+       (MIN_CHAR_CYRILLIC): Purged.
+       (MAX_CHAR_CYRILLIC): Purged.
+       (MIN_CHAR_HEBREW): Commented out.
+       (MAX_CHAR_HEBREW): Likewise.
+
+2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Qto_ucs): New variable.
+       (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
+       (Fdefine_char): Likewise.
+       (syms_of_mule_charset): Add new symbol `=>ucs'.
+
+2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Fdecode_char): Fixed.
+
+2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (complex_vars_of_mule_charset): Modify registry
+       of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
+       "tcvn5712-1".
+
+2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharset_ucs_big5): New variable.
+       (Qucs_big5): Likewise.
+       (syms_of_mule_charset): Add new symbol `ucs-big5'.
+       (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
+
+       * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
+
+2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (decode_builtin_char): Check Big5 code range
+       which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
+
+2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharset_chinese_gb12345): New variable.
+       (Qchinese_gb12345): Likewise.
+       (Fdecode_builtin_char): Fixed.
+       (syms_of_mule_charset): Add `chinese-gb12345'.
+       (complex_vars_of_mule_charset): Add coded-charset
+       `chinese-gb12345'.
+
+       * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
+       (LEADING_BYTE_CHINESE_GB12345): New macro.
+
+2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
+       and `latin-viscii-upper' for `latin-viscii'.
+
+2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Fdecode_builtin_char): Comment out
+       regularization code for ISO-IR GR representation.
+
+2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (decode_builtin_char): New function; renamed from
+       `make_builtin_char'; return -1 instead of signal.
+       (Fdecode_builtin_char): Use `decode_builtin_char'.
+
+       * char-ucs.h (decode_builtin_char): New prototype; renamed from
+       `make_builtin_char'.
+       (DECODE_CHAR): Use `decode_builtin_char' instead of
+       `make_builtin_char'; use mapping table of `chinese-big5' for
+       `chinese-big5-{1,2}'.
+
+2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (char_encode_big5): New function.
+       (char_finish_big5): Likewise.
+       (reset_encoding_stream): Use `char_encode_big5' and
+       `char_finish_big5' for CODESYS_BIG5.
+       (mule_encode): Don't use `encode_coding_big5'.
+       (encode_coding_big5): Deleted.
+
+2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
+       0x81- in XEmacs UTF-2000.
+       (detect_coding_big5): Likewise.
+
+2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Fdefine_char): Don't use a CCS property to
+       generate character-id if the CCS property does not have
+       corresponding predefined character.
+       (make_builtin_char): Return -1 if corresponding predefined
+       character is not found.
+       (Fdecode_char): Return nil if corresponding character is not
+       found.
+       (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
+       don't map to builtin ucs space.
+
+2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
+       (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
+
+2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharset_ideograph_gt): New variable.
+       (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
+       (Qideograph_gt): Likewise.
+       (Qideograph_gt_pj_{1..11}): Likewise.
+       (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
+       `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
+       `ideograph-gt-pj-11'.
+       (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
+       `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
+       `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
+
+       * char-ucs.h (LEADING_BYTE_GT): New macro.
+       (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
+       (MIN_CHAR_GT): Likewise.
+       (MAX_CHAR_GT): Likewise.
+
+2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
+       support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
+
+       * doprnt.c (unsigned_int_converters): Add `c'.
+       (emacs_doprnt_1): Use `XUINT' for unsigned integers.
+
+       * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
+       (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
+       `MIN_CHAR_MOJIKYO'.
+       (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
+       (MAX_CHAR_MOJIKYO_0): New macro.
+       (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
+
+2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Fdefine_char): Delete cemented out code.
+       (encode_builtin_char_1): Modify for new allocation of builtin
+       Mojikyo characters.
+
+       * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
+
+2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharset_ucs_cns): New variable.
+       (Qucs_cns): New variable.
+       (syms_of_mule_charset): Add new symbol `ucs-cns'.
+       (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
+
+2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
+
+2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
+
+       * search.c (search_buffer): Make `charset_base_code' as
+       character-id >> 6 to eliminate the corresponding last byte in
+       UTF-8 representation [I'm not sure it is right thing].
+       (boyer_moore): Likewise.
+
+2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
+
+       * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
+       representation in MULE.
+
+2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (Fmake_coding_system): Use
+       `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
+       `EXTERNAL_PROPERTY_LIST_LOOP'.
+
+2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (decode_output_utf8_partial_char): New function.
+       (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
+
+2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (decode_coding_utf8): Output original byte
+       sequence if it is broken; change order of conditions.
+
+       * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
+       of conditions.
+
+       * mb-multibyte.h (BYTE_ASCII_P):
+       Use bit ops for char-signedness safety.
+       (BYTE_C0_P): Use bit ops for char-signedness safety.
+       (BYTE_C1_P): Use bit ops for char-signedness safety.
+
+       * character.h: (XCHAR_OR_CHAR_INT):
+       Always use inline function.
+       Remove redundant type checking assert() - XINT will abort quite
+       nicely.
+
+2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c: (Fencode_shift_jis_char):
+       (Fencode_big5_char):
+       Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
+       Replace 0 with '\0' when working with bytes.
+       Replace initial "(" with "\(" in docstrings.
+
+       (Fmake_coding_system):
+       When type is ccl and value is vector, register it with a proper
+       symbol.  And checks whether the given ccl program is valid.
+       (mule_decode): When calling ccl_driver, if src indicates
+       NULL pointer, set an empty string instead.
+       (mule_encode): Likewise.
+
+       (detect_eol_type):
+       (detect_coding_sjis):
+       (decode_coding_sjis):
+       (detect_coding_big5):
+       (decode_coding_big5):
+       (detect_coding_ucs4):
+       (decode_coding_ucs4):
+       (detect_coding_utf8):
+       (decode_coding_utf8):
+       (detect_coding_iso2022):
+       (decode_coding_iso2022):
+       (decode_coding_no_conversion):
+       (mule_decode):
+       Make all detecting and decoding functions take an Extbyte * arg.
+       (text_encode_generic):
+       (encode_coding_big5):
+       (encode_coding_no_conversion):
+       (mule_encode):
+       Make all encoding functions take a Bufbyte * arg.
+       Use size_t instead of unsigned int for memory sizes.
+       Only cast to unsigned char whenever dereferencing Extbyte *.
+
+       (struct lrecord_description fcd_description_1): Use countof.
+       (complex_vars_of_file_coding):
+       Use countof instead of sizeof.
+       Use CHECK_NATNUM instead of CHECK_INT.
+
+2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Fget_char_attribute): Add new optional argument
+       `default-value'.
+       (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
+       (remove_char_ccs): Likewise.
+
+2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (char_encode_shift_jis): New implementation in
+       UTF-2000.
+       (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
+       ...)'.
+
+       * mule-charset.c (Vcharset_chinese_big5): New variable in
+       UTF-2000.
+       (Qchinese_big5): New variable in UTF-2000.
+       (BIG5_SAME_ROW): New macro in UTF-2000.
+       (make_builtin_char): Use builtin characters of
+       `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
+       characters of `Vcharset_chinese_big5'.
+       (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
+       (complex_vars_of_mule_charset): Add new coded-charset
+       `chinese-big5' in UTF-2000.
+
+       * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
+       (Vcharset_chinese_big5): New external variable declaration.
+       (Vcharset_japanese_jisx0208_1990): Likewise.
+
+2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (expand_uint8_byte_table_to_uint16): New
+       function.
+       (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
+
+2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (complex_vars_of_mule_charset): Define new macro
+       `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
+       `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
+       `mojikyo-pj-*'.
+
+2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (decode_coding_big5): Modify for UTF-2000.
+
+2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
+       to 0.17.
+
+2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
+       for `CHARSET_BY_ATTRIBUTES'.
+       (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
+       `CHARSET_BY_ATTRIBUTES'.
+
+       * text-coding.c (struct decoding_stream): Rename member `CH' to
+       `CPOS'.
+       (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
+       (decode_coding_sjis): Likewise.
+       (decode_coding_big5): Likewise.
+       (decode_coding_ucs4): Likewise.
+       (decode_coding_utf8): Likewise.
+       (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
+       `CHARSET_BY_ATTRIBUTES'.
+       (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
+       `str->counter'; decode 3, 4 bytes sets.
+       (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
+       sets.
+       (decode_coding_no_conversion): Use `str->cpos' instead of
+       `str->ch'.
+
+       * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
+       (Qmojikyo_2022_1): New variable.
+       (make_charset): Don't use `CHARSET_TYPE_*'.
+       (range_charset_code_point): Support coded-charset
+       `mojikyo-2022-1'.
+       (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
+       (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
+       `CHARSET_BY_ATTRIBUTES'.
+       (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
+       `CHARSET_BY_ATTRIBUTES'.
+       (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
+       (complex_vars_of_mule_charset): Add new coded-charset
+       `mojikyo-2022-1'.
+
+       * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
+       interface; changed to inline function.
+
+       * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
+       (LEADING_BYTE_MOJIKYO_2022_1): New macro.
+       (LEADING_BYTE_MOJIKYO_2022_2): New macro.
+       (CHARSET_TYPE_94): Deleted.
+       (CHARSET_TYPE_94X94): Deleted.
+       (CHARSET_TYPE_96): Deleted.
+       (CHARSET_TYPE_96X96): Deleted.
+       (CHARSET_TYPE_128): Deleted.
+       (CHARSET_TYPE_128X128): Deleted.
+       (CHARSET_TYPE_256): Deleted.
+       (CHARSET_TYPE_256X256): Deleted.
+       (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
+       to inline function.
+       (DECODE_MOJIKYO_2022): New inline function.
+       (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
+       `Vcharset_mojikyo_2022_1'.
+
+2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
+       instead of `EQ'.
+       (put_byte_table): Likewise.
+       (char_id_table_equal): Use `get_byte_table' [new implementation].
+
+2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c: Include <limits.h> in UTF-2000.
+       (BT_UINT8_MIN): New macro in UTF-2000.
+       (BT_UINT8_MAX): New macro in UTF-2000.
+       (BT_UINT8_t): New macro in UTF-2000.
+       (BT_UINT8_nil): New macro in UTF-2000.
+       (BT_UINT8_unbound): New macro in UTF-2000.
+       (INT_UINT8_P): New inline function in UTF-2000.
+       (UINT8_VALUE_P): New inline function in UTF-2000.
+       (UINT8_ENCODE): New inline function in UTF-2000.
+       (UINT8_DECODE): New inline function in UTF-2000.
+       (mark_uint8_byte_table): New function in UTF-2000.
+       (print_uint8_byte_table): New function in UTF-2000.
+       (uint8_byte_table_equal): New function in UTF-2000.
+       (uint8_byte_table_hash): New function in UTF-2000.
+       (make_uint8_byte_table): New function in UTF-2000.
+       (uint8_byte_table_same_value_p): New function in UTF-2000.
+       (BT_UINT16_MIN): New macro in UTF-2000.
+       (BT_UINT16_MAX): New macro in UTF-2000.
+       (BT_UINT16_t): New macro in UTF-2000.
+       (BT_UINT16_nil): New macro in UTF-2000.
+       (BT_UINT16_unbound): New macro in UTF-2000.
+       (INT_UINT16_P): New inline function in UTF-2000.
+       (UINT16_VALUE_P): New inline function in UTF-2000.
+       (UINT16_ENCODE): New inline function in UTF-2000.
+       (UINT16_DECODE): New inline function in UTF-2000.
+       (UINT8_TO_UINT16): New inline function in UTF-2000.
+       (mark_uint16_byte_table): New function in UTF-2000.
+       (print_uint16_byte_table): New function in UTF-2000.
+       (uint16_byte_table_equal): New function in UTF-2000.
+       (uint16_byte_table_hash): New function in UTF-2000.
+       (make_uint16_byte_table): New function in UTF-2000.
+       (uint16_byte_table_same_value_p): New function in UTF-2000.
+       (print_byte_table): New function in UTF-2000.
+       (byte-table): Use `print_byte_table' as printer.
+       (make_byte_table): Delete second argument `older'.
+       (byte_table_same_value_p): New function in UTF-2000.
+       (copy_byte_table): Deleted.
+       (get_byte_table): New function in UTF-2000.
+       (put_byte_table): New function in UTF-2000.
+       (print_char_id_table): New function in UTF-2000.
+       (char-id-table): Use `print_char_id_table' as printer.
+       (make_char_id_table): Delete second argument `older'.
+       (get_char_id_table): Use `get_byte_table [new implementation].
+       (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
+       implementation].
+       (Ffind_char_attribute_table): New function in UTF-2000.
+       (mark_charset): Mark `cs->encoding_table' in UTF-2000.
+       (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
+       `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
+       (syms_of_mule_charset): Add new function
+       `find-char-attribute-table' in UTF-2000.
+
+       * lrecord.h (enum lrecord_type): Add
+       `lrecord_type_uint16_byte_table' and
+       `lrecord_type_uint8_byte_table'.
+
+       * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
+       (Lisp_Uint8_Byte_Table): New type.
+       (XUINT8_BYTE_TABLE): New macro.
+       (XSETUINT8_BYTE_TABLE): New macro.
+       (UINT8_BYTE_TABLE_P): New macro.
+       (GC_UINT8_BYTE_TABLE_P): New macro.
+       (struct Lisp_Uint16_Byte_Table): New structure.
+       (Lisp_Uint16_Byte_Table): New type.
+       (XUINT16_BYTE_TABLE): New macro.
+       (XSETUINT16_BYTE_TABLE): New macro.
+       (UINT16_BYTE_TABLE_P): New macro.
+       (GC_UINT16_BYTE_TABLE_P): New macro.
+
+2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
+       (Vcharacter_ideographic_strokes_table): Deleted.
+       (Vcharacter_total_strokes_table): Deleted.
+       (Vcharacter_morohashi_daikanwa_table): Deleted.
+       (Vcharacter_decomposition_table): Deleted.
+       (Qname): Deleted because it is duplicated.
+       (Qideographic_radical): Deleted.
+       (Qideographic_strokes): Deleted.
+       (Qtotal_strokes): Deleted.
+       (Qmorohashi_daikanwa): Deleted.
+       (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
+       `ideographic-radical', `ideographic-strokes', `total-strokes',
+       `morohashi-daikanwa' and `->decomposition'.
+       (Fget_char_attribute): Likewise.
+       (Fput_char_attribute): Likewise; use `make-vector' instead of
+       `make_older_vector' for `->decomposition' value.
+       (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
+       `ideograph-daikanwa'.
+       (syms_of_mule_charset): Delete builtin symbols `name',
+       `ideographic-radical', `ideographic-strokes', `total-strokes' and
+       `morohashi-daikanwa'.
+       (vars_of_mule_charset): Don't setup
+       `Vcharacter_ideographic_radical_table',
+       `Vcharacter_ideographic_strokes_table',
+       `Vcharacter_total_strokes_table',
+       `Vcharacter_morohashi_daikanwa_table' and
+       `Vcharacter_decomposition_table'.
+
+2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
+       `make_older_vector', `make_vector_newer_1' and
+       `make_vector_newer'.
+
+       * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
+       `make_older_vector' and `make_vector_newer'.
+
+       * config.h.in (HAVE_GGC): New macro.
+
+2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (struct char_attribute_list_closure): New
+       structure in UTF-2000.
+       (add_char_attribute_to_list_mapper): New function in UTF-2000.
+       (Fchar_attribute_list): Likewise.
+       (Fset_charset_mapping_table): Use `make_vector_newer'.
+       (Fdecode_builtin_char): New function in UTF-2000.
+       (syms_of_mule_charset): Add new function `char-attribute-list' and
+       `decode-builtin-char' in UTF-2000.
+
+       * lisp.h (make_vector_newer): New prototype.
+
+       * alloc.c (make_vector_newer_1): New function.
+       (make_vector_newer): New function.
+
+2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
+       50100)'.
+
+2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vchar_attribute_hash_table): New variable.
+       (Vcharacter_attribute_table): Deleted.
+       (Vcharacter_name_table): Deleted.
+       (put_char_attribute): Deleted.
+       (remove_char_attribute): Deleted.
+       (struct char_attribute_alist_closure): New structure.
+       (add_char_attribute_alist_mapper): New function.
+       (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
+       of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
+       (Fget_char_attribute): Likewise.
+       (Fput_char_attribute): Likewise.
+       (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
+       of `remove_char_attribute'.
+       (Fdefine_char): Return character.
+       (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
+       and `Vcharacter_name_table'.
+       (complex_vars_of_mule_charset): Likewise
+       `Vchar_attribute_hash_table'.
+
+2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * character.h (CHARC_CHARSET): New macro.
+       (CHARC_CHARSET_ID): New macro.
+       (CHARC_CODE_POINT): New macro.
+       (CHARC_COLUMNS): New macro.
+       (CHARC_TO_CHAR): New inline function.
+       (CHARC_EQ): New inline function.
+       (CHARC_ASCII_EQ): New inline function.
+       (CHARC_IS_SPACE): New inline function.
+       (ASCII_TO_CHARC): New inline function.
+
+       * char-ucs.h (encode_char_2): Deleted.
+       (ENCODE_CHAR): Use `encode_char_1' again.
+       (breakup_char_1): Likewise.
+       (CHAR_TO_CHARC): New inline function.
+
+       * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
+
+2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
+       `CHAR_TO_CHARC' and `CHARC_CHARSET'.
+       (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
+       (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
+       (create_string_text_block): Use `CHARC_ASCII_EQ' and
+       `CHARC_IS_SPACE'.
+       (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
+
+       * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
+       `CHARC_CODE_POINT'.
+       (x_output_display_block): Use `CHARC_CHARSET' and
+       `CHARC_ASCII_EQ'.
+
+       * redisplay-tty.c (tty_output_display_block): Use
+       `CHARC_ASCII_EQ'.
+       (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
+
+       * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
+
+       * insdel.c (find_charsets_in_charc_string): Use
+       `CHARC_CHARSET_ID'.
+       (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
+       (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
+       (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
+       (convert_charc_string_into_malloced_string): Likewise.
+
+2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
+       instead of <Emchar_dynarr *> for buf; use
+       `convert_bufbyte_string_into_charc_dynarr' instead of
+       `convert_bufbyte_string_into_emchar_dynarr'; use
+       `find_charsets_in_charc_string' instead of
+       `find_charsets_in_emchar_string'.
+
+       * redisplay.h:
+       - Include "character.h".
+       (struct rune): New member `cglyph'; delete member `chr'.
+
+       * redisplay.c (redisplay_text_width_charc_string): New function;
+       delete `redisplay_text_width_emchar_string'.
+       (rtw_charc_dynarr): New variable; renamed from
+       `rtw_emchar_dynarr'.
+       (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
+       `rtw_emchar_dynarr'; use
+       `convert_bufbyte_string_into_charc_dynarr' instead of
+       `convert_bufbyte_string_into_emchar_dynarr'; use
+       `redisplay_text_width_charc_string' instead of
+       `redisplay_text_width_emchar_string'.
+       (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
+       instead of `rtw_emchar_dynarr'; use
+       `convert_bufbyte_string_into_charc_dynarr' instead of
+       `convert_bufbyte_string_into_emchar_dynarr'.
+       (add_emchar_rune): Add <Charc> instead of <Emchar>; use
+       `redisplay_text_width_charc_string' instead of
+       `redisplay_text_width_emchar_string'.
+       (create_text_block): Modify for <struct rune> change.
+       (generate_formatted_string_db): Likewise.
+       (create_string_text_block): Likewise.
+       (pixel_to_glyph_translation): Likewise.
+
+       * redisplay-x.c (separate_textual_runs): Use <const Charc *>
+       instead of <const Emchar *>.
+       (x_text_width): Likewise.
+       (x_output_display_block): Use <Charc_dynarr *> instead
+       <Emchar_dynarr *>; modify for <structure rune> change.
+       (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
+       *>.
+
+       * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
+       <const Emchar *>; use `charc_string_displayed_columns' instead of
+       `emchar_string_displayed_columns'.
+       (tty_output_display_block): Use <Charc_dynarr *> instead of
+       <Emchar_dynarr *> for buf; modify for <structure rune> change; use
+       `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
+       (tty_output_charc_dynarr_dynarr): New variable; renamed from
+       `tty_output_emchar_dynarr_dynarr'.
+       (tty_output_charc_dynarr): New function; delete
+       `tty_output_charc_dynarr'.
+
+       * redisplay-output.c (compare_runes): Modify for `struct rune'.
+       (redisplay_output_layout): Use <Charc_dynarr *> instead of
+       <Emchar_dynarr *> for buf; use
+       `convert_bufbyte_string_into_charc_dynarr' instead of
+       `convert_bufbyte_string_into_emchar_dynarr'.
+
+       * frame.c (title_string_charc_dynarr): New variable; renamed from
+       `title_string_emchar_dynarr'.
+       (generate_title_string): Use `title_string_charc_dynarr' instead
+       of `title_string_emchar_dynarr'; use
+       `convert_charc_string_into_malloced_string' instead of
+       `convert_emchar_string_into_malloced_string'.
+       (init_frame): Use `title_string_charc_dynarr' instead of
+       `title_string_emchar_dynarr'.
+
+       * console.h:
+       - Include "character.h".
+       (struct console_methods): Use <const Charc *> instead of <const
+       Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
+       <Emchar_dynarr *> in output_string_method.
+
+       * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
+       <Emchar_dynarr *>.
+
+       * console-stream.c (stream_text_width): Use <const Charc *>
+       instead of <const Emchar *>.
+
+       * character.h (Charc_dynarr): New type.
+
+       * char-ucs.h (structure Charc): New structure; define new type
+       `Charc'.
+
+       * char-lb.h (DECODE_CHAR): New inline function.
+       (encode_char_1): New inline function.
+       (ENCODE_CHAR): New macro.
+       (structure Charc): New structure; define new type `Charc'.
+
+       * char-1byte.h (Vcharset_control_1): New macro.
+       (Vcharset_latin_iso8859_1): New macro.
+       (DECODE_CHAR): New inline function.
+       (encode_char_1): New inline function.
+       (ENCODE_CHAR): New macro.
+       (structure Charc): New structure; define new type `Charc'.
+
+       * insdel.c (find_charsets_in_charc_string): New function; delete
+       `find_charsets_in_emchar_string'.
+       (charc_string_displayed_columns): New function; delete
+       `emchar_string_displayed_columns'.
+       (convert_bufbyte_string_into_charc_dynarr): New function; delete
+       `convert_bufbyte_string_into_emchar_dynarr'.
+       (convert_charc_string_into_bufbyte_dynarr): New function; delete
+       `convert_charc_string_into_bufbyte_dynarr'.
+       (convert_charc_string_into_malloced_string): New function; delete
+       `convert_charc_string_into_malloced_string'.
+
+       * buffer.h (find_charsets_in_charc_string): New prototype; delete
+       `find_charsets_in_emchar_string'.
+       (charc_string_displayed_columns): New prototype; delete
+       `emchar_string_displayed_columns'.
+       (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
+       `convert_charc_string_into_bufbyte_dynarr'.
+       (convert_charc_string_into_malloced_string): New prototype; delete
+       `convert_charc_string_into_malloced_string'.
+
+2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
+
+2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
+
+       * char-ucs.h: Use <short> for <Charset_ID>.
+
+       * mule-charset.h, char-1byte.h: Use <unsigned char> for
+       <Charset_ID>.
+
+2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
+       to 0.16.
+
+2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
+       variable.
+       (Qmorohashi_daikanwa): New variable.
+       (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
+       for `morohashi-daikanwa' attribute.
+       (Fget_char_attribute): Likewise.
+       (Fput_char_attribute): Likewise.
+       (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
+       has the same value of `ideograph-daikanwa'.
+       (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
+       (vars_of_mule_charset): Setup
+       `Vcharacter_morohashi_daikanwa_table'.
+
+2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Fchar_attribute_alist): Add coded-charset
+       attributes.
+       (add_charset_to_list_mapper): Add `key' instead of
+       `XCHARSET_NAME (value)' to return aliases.
+
+2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharacter_ideographic_radical_table): New
+       variable.
+       (Vcharacter_ideographic_strokes_table): New variable.
+       (Qideographic_radical): New variable.
+       (Qideographic_strokes): New variable.
+       (Fchar_attribute_alist): Use
+       `Vcharacter_ideographic_radical_table' for `ideographic-radical'
+       attribute; use `Vcharacter_ideographic_strokes_table' for
+       `ideographic-strokes' attribute.
+       (Fget_char_attribute): Likewise.
+       (Fput_char_attribute): Likewise.
+       (syms_of_mule_charset): Add new symbol `ideographic-radical' and
+       `ideographic-strokes'.
+       (vars_of_mule_charset): Setup
+       `Vcharacter_ideographic_radical_table' and
+       `Vcharacter_ideographic_strokes_table'.
+
+2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharacter_total_strokes_table): New variable.
+       (Qtotal_strokes): New variable.
+       (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
+       `total-strokes' attribute.
+       (Fget_char_attribute): Likewise.
+       (Fput_char_attribute): Likewise.
+       (syms_of_mule_charset): Add new symbol `total-strokes'.
+       (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
+
+2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharacter_decomposition_table): New variable.
+       (Fchar_attribute_alist): Add `name' and `->decomposition' if they
+       are found.
+       (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
+       `->decomposition' attribute.
+       (Fput_char_attribute): Likewise.
+       (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
+
+2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (decoding_table_check_elements): New function.
+       (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
+
+2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Fset_charset_mapping_table): Use
+       `put_char_ccs_code_point'.
+
+2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (decoding_table_put_char): New inline function.
+       (put_char_ccs_code_point): Use `decoding_table_put_char'.
+
+2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
+       (XCHARSET_BYTE_SIZE): New macro.
+       (decoding_table_remove_char): New inline function.
+       (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
+       `decoding_table_remove_char'.
+       (remove_char_ccs): Use `decoding_table_remove_char'.
+       (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
+
+2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharacter_name_table): New variable.
+       (Qname): New variable.
+       (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
+       attribute.
+       (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
+       `Vcharacter_name_table' for `name' attribute.
+       (Fremove_char_attribute): Use function `remove_char_ccs'.
+       (put_char_ccs_code_point): New function.
+       (remove_char_ccs): New function.
+       (syms_of_mule_charset): Add new symbol `name'.
+       (vars_of_mule_charset): Setup `Vcharacter_name_table'.
+
+2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (make_byte_table): Add new argument `older'.
+       (make_char_id_table): Likewise.
+       (copy_char_id_table): Comment out because it is not used.
+       (put_char_id_table): Modify for `make_byte_table'.
+       (Fput_char_attribute): Make encoding_table as older object;
+       inherit older bit of `Vcharacter_composition_table'.
+       (mark_charset): Don't mark `cs->encoding_table'.
+       (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
+       normal object; make `Vcharacter_composition_table' as an older
+       object; delete staticpro for `Vcharacter_composition_table'; make
+       `Vcharacter_variant_table' as a normal object.
+
+       * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
+       (mark_object): Don't check older object in UTF-2000.
+
+       * lrecord.h (struct lrecord_header): Add new member `older' in
+       UTF-2000.
+       (set_lheader_implementation): Setup `SLI_header->older' in
+       UTF-2000.
+       (set_lheader_older_implementation): New macro in UTF-2000.
+       (OLDER_RECORD_P): New macro in UTF-2000.
+       (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
+       (alloc_older_lcrecord): New prototype in UTF-2000.
+       (alloc_older_lcrecord_type): New macro in UTF-2000.
+
+2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (byte_table_description): Use
+       `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
+       (char_id_table_description): Delete bogus `, 1'.
+       (Fget_char_attribute): Refer encoding_table of each coded-charset
+       to get value of coded-charset attribute of a character.
+       (Fput_char_attribute): Use `make_older_vector' instead of
+       `make_vector'; use encoding_table of each coded-charset to store
+       value of coded-charset attribute of a character.
+       (Fremove_char_attribute): Use encoding_table of each coded-charset
+       to store value of coded-charset attribute of a character.
+       (mark_charset): Mark `cs->encoding_table'; don't mark
+       `cs->decoding_table'.
+       (charset_description): Add description of new member
+       `encoding_table'.
+       (make_charset): Initialize `encoding_table'.
+
+       * char-ucs.h (struct Lisp_Charset): Add new member
+       `encoding_table'.
+       (CHARSET_ENCODING_TABLE): New macro.
+       (XCHARSET_ENCODING_TABLE): New macro.
+       (charset_code_point): New implementation.
+       (encode_char_1): Likewise.
+
+       * alloc.c (all_older_lcrecords): New variable in UTF-2000.
+       (disksave_object_finalization_1): Call finalizers of
+       `all_older_lcrecords' in UTF-2000.
+       (make_older_vector): New function in UTF-2000.
+       (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
+       UTF-2000.
+
+       * lisp.h (make_older_vector): New prototype in UTF-2000.
+
+2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * lrecord.h (enum lrecord_type): Rename
+       `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
+
+       * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
+       `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
+       `get_char_code_table'.
+
+       * mule-charset.c (mark_char_id_table): Renamed from
+       `mark_char_code_table'.
+       (char_id_table_equal): Renamed from `char_code_table_equal'.
+       (char_id_table_hash): Renamed from `char_code_table_hash'.
+       (make_char_id_table): Renamed from `make_char_code_table'.
+       (copy_char_id_table): Renamed from `copy_char_code_table'.
+       (get_char_id_table): Renamed from `get_char_code_table'.
+       (put_char_id_table): Renamed from `put_char_code_table'.
+       (to_char_id): Renamed from `to_char_code'.
+
+       * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
+       `Lisp_Char_Code_Table'.
+       (char_id_table): Renamed from `char_code_table'.
+       (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
+       (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
+       (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
+       (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
+       (get_char_id_table): Renamed from `get_char_code_table'.
+
+2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * lrecord.h (enum lrecord_type): Rename
+       `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
+
+       * mule-charset.c (mark_byte_table): Renamed from
+       `mark_char_byte_table'.
+       (byte_table_equal): Renamed from `char_byte_table_equal'.
+       (byte_table_hash): Renamed from `byte_table_hash'.
+       (make_byte_table): Renamed from `make_byte_table'.
+       (copy_byte_table): Renamed from `copy_char_byte_table'.
+
+       * char-ucs.h (struct Lisp_Byte_Table): Renamed from
+       `Lisp_Char_Byte_Table'.
+       (byte_table): Renamed from `char_byte_table'.
+       (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
+       (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
+       (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
+       (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
+
+2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
+       (dfc_convert_to_internal_format): Likewise.
+       
+       * text-coding.c (Fcoding_system_canonical_name_p): New function.
+       * text-coding.c (Fcoding_system_alias_p): New function.
+       * text-coding.c (Fcoding_system_aliasee): New function.
+       * text-coding.c (append_suffix_to_symbol): New function.
+       * text-coding.c (dangling_coding_system_alias_p): New function.
+       * text-coding.c (Ffind_coding_system):
+       * text-coding.c (Fcopy_coding_system):
+       * text-coding.c (encode_coding_no_conversion):
+       * text-coding.c (syms_of_file_coding):
+       * text-coding.c (vars_of_file_coding):
+       Rewrite coding system alias code.
+       Allow nested aliases, like symbolic links.
+       Allow redefinition of coding system aliases.
+       Prevent existence of dangling coding system aliases.
+       Eliminate convert_to_external_format.
+       Eliminate convert_to_internal_format.
+       
+       * text-coding.c: Change enum eol_type to eol_type_t.
+
+2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
+       of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
+
+       * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
+       MIN_CHAR_MOJIKYO + 94 * 60 * 22.
+
+2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
+       `ideograph-daikanwa'.
+
+       * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
+       (Vcharset_ucs_bmp): Likewise.
+       (Vcharset_mojikyo): Add new extern variable definition.
+       (Vcharset_latin_iso8859_2): Deleted because it is not used.
+       (Vcharset_latin_iso8859_3): Likewise.
+       (Vcharset_latin_iso8859_4): Likewise.
+       (Vcharset_latin_iso8859_9): Likewise.
+       (Vcharset_latin_viscii_lower): Likewise.
+       (Vcharset_latin_viscii_upper): Likewise.
+       (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
+       `mojikyo' code-point is used to decode.
+       (encode_char_2): New function [to convert `mojikyo' code-point to
+       Mojikyo font encoding].
+       (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
+       (breakup_char_1): Likewise.
+       (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
+
+2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (Fmake_coding_system): Add document about
+       `disable-composition' property.
+
+2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (Qdisable_composition): New variable; delete
+       `Qcomposite'.
+       (Fmake_coding_system): Add new property `disable-composite';
+       delete property `composite'.
+       (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
+       instead of `!CODING_SYSTEM_COMPOSITE'.
+       (syms_of_file_coding): Add new symbol `disable-composition';
+       delete symbol `composite'.
+
+       * file-coding.h (struct Lisp_Coding_System): Add
+       `disable_composition'; delete `enable_composition'.
+       (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
+       `CODING_SYSTEM_COMPOSITE'.
+       (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
+       `XCODING_SYSTEM_COMPOSITE'.
+
+2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
+       to 0.15.
+
+2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * text-coding.c (Qcomposite): New variable.
+       (Fmake_coding_system): Add new property `composite'.
+       (struct decoding_stream): Add `combined_char_count',
+       `combined_chars' and `combining_table' in UTF-2000.
+       (COMPOSE_FLUSH_CHARS): New macro.
+       (COMPOSE_ADD_CHAR): New macro.
+       (reset_decoding_stream): Reset `str->combined_char_count' and
+       `str->combining_table' in UTF-2000.
+       (decode_coding_iso2022): Modify for character-decomposition.
+       (syms_of_file_coding): Add new symbol `composite'.
+
+2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
+       (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
+       of `Vcharacter_composition_table' if `->decomposition' property
+       has only 1 element.
+       (Qlatin_tcvn5712): New variable.
+       (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
+       (complex_vars_of_mule_charset): Add new coded-charset
+       `latin-tcvn5712'.
+
+       * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
+
+2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
+
+       * file-coding.h (struct Lisp_Coding_System): Add
+       `enable_composition'.
+       (CODING_SYSTEM_COMPOSITE): New macro.
+       (XCODING_SYSTEM_COMPOSITE): New macro.
+
+2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
+
+       * mule-canna.c (c2mu): Fix problem with UTF-2000.
+
+2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
+
+       * mule-charset.c (Fput_char_attribute): Don't make mapping-table
+       if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
+
+2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
+
+       * mule-charset.c (Vcharset_mojikyo): New variable.
+       (Fdefine_char): Don't use coded-charset which does not have
+       non-builtin character range to allocate character-id.
+       (Qmojikyo): New variable.
+       (syms_of_mule_charset): Add new symbol `mojikyo'.
+       (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
+
+       * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
+       (LEADING_BYTE_MOJIKYO): New macro.
+       (MIN_CHAR_MOJIKYO): New macro.
+       (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
+       (MAX_CHAR_MOJIKYO): New macro.
+
+2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
+
+       * mule-charset.c (remove_char_attribute): Fixed.
+
+2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
+
+       * mule-charset.c (remove_char_attribute): New function.
+       (Fremove_char_attribute): New function.
+       (encode_builtin_char_1): Comment out builtin-support for
+       greek-iso8859-7 and cyrillic-iso8859-5.
+       (Fdecode_char): Check `code' is an integer.
+       (syms_of_mule_charset): Add `remove-char-attribute'.
+       (MIN_CHAR_GREEK): Deleted.
+       (MAX_CHAR_GREEK): Likewise.
+       (MIN_CHAR_CYRILLIC): Likewise.
+       (MAX_CHAR_CYRILLIC): Likewise.
+       (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
+       MAX_CHAR_GREEK for `greek-iso8859-7'.
+
+       * char-ucs.h (MIN_CHAR_GREEK): Comment out.
+       (MAX_CHAR_GREEK): Likewise.
+       (MIN_CHAR_CYRILLIC): Likewise.
+       (MAX_CHAR_CYRILLIC): Likewise.
+
+2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
+
+       * mule-charset.c (Fdefine_char): Fix problem when new code-point
+       format is used without `ucs' property.
+       (Fdecode_char): Fix problem with GR representation.
+       (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
+       `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
+
+2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (make_builtin_char): New function.
+       (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
+       (Fset_charset_mapping_table): Modify for new representation of
+       code-point.
+       (Fdecode_char): New function.
+       (syms_of_mule_charset): Add new builtin function `decode-char' in
+       UTF-2000.
+
+       * char-ucs.h (make_builtin_char): New prototype.
+       (DECODE_CHAR): New inline function.
+       (MAKE_CHAR): Use `DECODE_CHAR'.
+
+2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
+
+       * text-coding.c (parse_charset_conversion_specs): Use
+       `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
+       `XCHARSET_TYPE'.
+       (iso2022_designate): Likewise.
+
+       * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
+       `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
+
+       * mule-charset.c (Vcharset_ucs): New variable.
+       (print_charset): Change design; use `CHARSET_CHARS' and
+       `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
+       (make_charset): Change signature to specify `chars' and
+       `dimension' instead of `type'.
+       (range_charset_code_point): Modify for 256^n-set.
+       (encode_builtin_char_1): Encode as `ucs' in default.
+       (Fmake_charset): Modify for `make_charset'.
+       (Fmake_reverse_direction_charset): Likewise.
+       (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
+       UTF-2000.
+       (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
+       for `make_charset'.
+
+       * char-ucs.h (Vcharset_ucs): New variable.
+       (LEADING_BYTE_UCS): New macro.
+       (struct Lisp_Charset): Delete `type'; change type of `dimension'
+       and `chars' to `unsigned short' from `unsigned int'.
+       (CHARSET_TYPE): Deleted.
+       (XCHARSET_TYPE): Deleted.
+
+2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
+
+       * mule-charset.c (charset_code_point): Moved to char-ucs.h.
+
+       * char-ucs.h (charset_code_point): Moved from mule-charset.c.
+       (ENCODE_CHAR): New macro.
+
+2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
+       to 0.14 (Kawachi-Katakami).
+
+2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * text-coding.c (char_encode_shift_jis): Modify for
+       `charset_code_point'.
+       (char_encode_iso2022): Likewise.
+
+       * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
+       (integer) instead of list of <Lisp_Object>s (integers) as the
+       format of code-point of a coded-charset.
+       (range_charset_code_point): Return <int> instead of <Lisp_Object>.
+       (encode_builtin_char_1): New function; delete
+       `split_builtin_char'.
+       (charset_code_point): Return <int> instead of <Lisp_Object>.
+       (Fsplit_char): Don't use `SPLIT_CHAR'.
+
+       * char-ucs.h (encode_builtin_char_1): New prototype; delete
+       prototype for `split_builtin_char'.
+       (range_charset_code_point): Return <int> instead of <Lisp_Object>.
+       (charset_code_point): Likewise.
+       (encode_char_1): New inline function; delete `SPLIT_CHAR'.
+       (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
+
+2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
+
+       * mule-charset.c (complex_vars_of_mule_charset): Don't define
+       `japanese-jisx0208-1990' in non-UTF-2000 Mule.
+
+2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
+
+       * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
+       (MAX_CHAR_OBS_94x94): Deleted.
+
+2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
+
+       * char-ucs.h (MAX_CHAR_BMP): New macro.
+
+2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * text-coding.c: Sync with r21-2-24.
+
+2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * file-coding.c: Modify for UTF-2000.
+
+2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
+       to 0.13 (Takaida).
+
+2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (split_builtin_char): Delete builtin support for
+       `katakana-jisx0201'.
+       (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
+       BMP area in builtin representation.
+
+       * char-ucs.h (MAKE_CHAR): Delete builtin support for
+       `Vcharset_katakana_jisx0201'.
+
+1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
+       (Qisolated): New variable.
+       (Qinitial): New variable.
+       (Qmedial): New variable.
+       (Qfinal): New variable.
+       (Qvertical): New variable.
+       (Qsmall): New variable.
+       (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
+       `Qvertical' and `Qsmall'.
+       (Qmojikyo_pj_[1 .. 21]): New variable.
+       (syms_of_mule_charset): Add new symbols `isolated', `initial',
+       `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
+       (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
+       .. 21]'.
+
+1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
+       (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
+       (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
+
+1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
+       (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
+       BMP.
+       (Qjapanese_jisx0208_1990): New variable.
+       (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
+       (complex_vars_of_mule_charset): Add new coded-charset
+       `japanese-jisx0208-1990'.
+
+       * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
+       (MIN_CHAR_JIS_X0208_1990): New macro.
+       (MAX_CHAR_JIS_X0208_1990): New macro.
+
+1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
+       coded-charset is not found.
+
+1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
+       (Fdefine_char): Use `Fmake_char'.
+
+1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
+       (Vcharset_hiragana_jisx0208): Deleted.
+       (Vcharset_katakana_jisx0208): Deleted.
+       (Qideograph_daikanwa): New variable.
+       (Qhiragana_jisx0208): Deleted.
+       (Qkatakana_jisx0208): Deleted.
+       (split_builtin_char): Split `ideograph-daikanwa'.
+       (Fsplit_char): New implementation for UTF-2000.
+       (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
+       delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
+       (complex_vars_of_mule_charset): Add new coded-charset
+       `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
+       `katakana-jisx0208'.
+
+       * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
+       (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
+       (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
+       (MIN_CHAR_DAIKANWA): New macro.
+       (MAX_CHAR_DAIKANWA): New macro.
+
+1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * data.c (Fstring_to_number): Don't recognize floating point if
+       base is not 10.
+
+1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
+
+1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (Qsquare): New variable.
+       (to_char_code): Add `Qsquare'.
+       (syms_of_mule_charset): Add new symbol `square'.
+
+1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (Qcircle): New variable.
+       (to_char_code): Add `Qcircle'.
+       (syms_of_mule_charset): Add new symbol `circle'.
+
+1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (Qfont): New variable.
+       (to_char_code): Add `Qfont'.
+       (syms_of_mule_charset): Add new symbol `font'.
+
+1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (Qsub): New variable.
+       (to_char_code): Add `Qsub'.
+       (syms_of_mule_charset): Add new symbol `sub'.
+
+1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (Fput_char_attribute): Convert each element of
+       VALUE to GL position if ATTRIBUTE is a GR-set,
+
+1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
+       coded-charset is a GR-set.
+
+1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (Fput_char_attribute): Check each element of
+       VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
+
+1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
+       UTF-2000.
+       (Qethiopic_ucs): New variable in UTF-2000.
+       (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
+       (complex_vars_of_mule_charset): Add new coded-charset
+       `ethiopic-ucs' in UTF-2000.
+
+       * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
+       (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
+       9)'.
+       (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
+       10)'.
+       (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
+
+1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (Fset_charset_mapping_table): Fix problem with
+       `ascii'.
+
+1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (Vcharacter_variant_table): New variable.
+       (Q_ucs): New variable.
+       (Fchar_variants): New function.
+       (Fput_char_attribute): Register `->ucs' value to
+       `Vcharacter_variant_table'.
+       (syms_of_mule_charset): Add new function `char-variants' and new
+       symbol `->ucs'.
+       (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
+
+1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (get_char_code_table): Allow negative character
+       code.
+       (put_char_code_table): Likewise.
+       (Vcharacter_composition_table): New variable.
+       (Q_decomposition): New variable.
+       (Qwide): New variable.
+       (Qnarrow): New variable.
+       (Qcompat): New variable.
+       (QnoBreak): New variable.
+       (Qsuper): New variable.
+       (Qfraction): New variable.
+       (to_char_code): New function.
+       (Fget_composite_char): New function.
+       (Fput_char_attribute): Register `->decomposition' value to
+       `Vcharacter_composition_table'.
+       (syms_of_mule_charset): Add new function `get-composite-char', new
+       symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
+       `super' and `fraction'.
+       (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
+
+1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (Fchar_attribute_alist): Check the argument is a
+       character; copy the return value.
+
+1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
+
+       * mule-charset.c (range_charset_code_point): Must use make_int.
+       (split_builtin_char): New function.
+
+1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (char_byte_table): Change name from
+       "char-code-table" to "char-byte-table".
+       (mark_char_code_table): New function.
+       (char_code_table_equal): New function.
+       (char_code_table_hash): New function.
+       (char_code_table_description): New constant.
+       (char_code_table): New type.
+       (make_char_code_table): New function.
+       (copy_char_code_table): New function.
+       (get_char_code_table): Modify for `char_code_table' type.
+       (put_char_code_table): Likewise.
+       (vars_of_mule_charset): Update `utf-2000-version' to 0.12
+       (Kashiwara).
+
+       * char-ucs.h (char_code_table): New type.
+       (XCHAR_CODE_TABLE): New macro.
+       (XSETCHAR_CODE_TABLE): New macro.
+       (CHAR_CODE_TABLE_P): New macro.
+       (GC_CHAR_CODE_TABLE_P): New macro.
+       (struct Lisp_Char_Code_Table): New structure.
+
+1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (Fmake_charset): Setup byte_offset for
+       {94|96}^n-set.
+
+1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (Fdefine_char): Fix problem with non-UCS
+       character.
+
+1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
+       is found.
+
+1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
+       charset, it is regarded as a charset.
+       (put_char_attribute): New function in UTF-2000.
+       (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
+       charset, mapping-table of the charset is modified.
+       (Fdefine_char): New function in UTF-2000.
+       (Fset_charset_mapping_table): Use `put_char_attribute' instead of
+       `Fput_char_attribute'.
+       (syms_of_mule_charset): Add new function `define-char' and new
+       symbol `ucs' in UTF-2000.
+       (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
+
+1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (Fcharset_name): Define `byte_offset' in
+       non-UTF-2000 configuration.
+
+1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
+       not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
+
+       * mule-charset.c (mark_charset): `cs->encoding_table' has been
+       deleted.
+       (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
+       (Fset_charset_mapping_table): Likewise.
+
+       * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
+       (CHARSET_ENCODING_TABLE): Delete.
+       (XCHARSET_ENCODING_TABLE): Delete.
+       (charset_code_point): New interface.
+
+1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * text-coding.c (char_encode_iso2022): Use `charset_code_point'
+       instead of `charset_get_byte1' and `charset_get_byte2'.
+
+       * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
+       (charset_get_byte2): Deleted.
+
+1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * char-ucs.h (SPLIT_CHAR): New inline function.
+       (breakup_char_1): Use `SPLIT_CHAR'.
+
+       * mule-charset.c (range_charset_code_point): New function.
+       (charset_code_point): New function.
+
+       * char-ucs.h (range_charset_code_point): New interface.
+       (breakup_char_1): Use `range_charset_code_point'.
+
+1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (Fmake_charset): Delete unused local variable
+       `code_offset'.
+
+       * char-ucs.h (Vcharacter_attribute_table): New extern variable.
+       (breakup_char_1): Find a charset and code-point in
+       `Vcharacter_attribute_table'.
+
+1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
+       to 0.10 (Yao).
+
+1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (Vcharacter_attribute_table): New variable.
+       (Fchar_attribute_alist): New function.
+       (Fget_char_attribute): New function.
+       (Fput_char_attribute): New function.
+       (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
+       too.
+       (syms_of_mule_charset): Add new function `char-attribute-alist',
+       `get-char-attribute' and `put-char-attribute'.
+       (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
+
+1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (Fmake_charset): Just use
+       `get_unallocated_leading_byte'.
+
+       * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
+       sets; don't use final-byte based number for private sets.
+
+1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
+       integer.
+
+1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
+       to 0.9.
+
+1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
+       of `CHAR_LEADING_BYTE' in UTF-2000.
+
+       * insdel.c (find_charsets_in_bufbyte_string): Use
+       `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
+       (find_charsets_in_emchar_string): Likewise.
+
+       * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
+       `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
+
+       * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
+       (CHAR_CHARSET_ID): New macro.
+
+1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * chartab.c (get_char_table): Don't use type `Charset_ID' for
+       charset-id - MIN_LEADING_BYTE.
+       (put_char_table): Likewise.
+
+1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
+       (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
+       (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
+       (CHARSET_ID_OFFSET): New macro.
+       (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
+       (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
+       (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
+       (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
+       4).
+       (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
+       5).
+       (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
+       (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
+       (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
+       (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
+       (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
+
+1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (next_allocated_leading_byte): New variable in
+       UTF-2000.
+       (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
+       (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
+       (get_unallocated_leading_byte): Simply use
+       `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
+       (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
+       UTF-2000.
+
+       * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
+       (MAX_LEADING_BYTE_PRIVATE): New macro.
+       (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
+       (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
+
+1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (Fmake_charset): Allocate final-byte based
+       charset-id for 94-set, 96-set and 94x94-set.
+
+1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (char_byte_table_equal): Fill braces to avoid
+       ambiguous `else'.
+       (Fmake_charset): Likewise.
+       (complex_vars_of_mule_charset): Modify the font registry of
+       `ucs-bmp' not to match `Ethiopic-Unicode'.
+
+1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (complex_vars_of_mule_charset): Add font
+       registory of `ucs-bmp'.
+
+1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
+       coded-charsets in `default-coded-charset-priority-list' when
+       breaking up a character.
+
+       * mule-charset.c (Vcharset_latin_viscii): New variable.
+       (Qlatin_viscii): New variable.
+       (make_charset): Don't use `decoding_table'.
+       (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
+       byte_offset.
+       (Fset_charset_mapping_table): New implementation.
+       (syms_of_mule_charset): Add new symbol `latin-viscii'.
+       (complex_vars_of_mule_charset): Set `graphic' attribute of charset
+       `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
+       `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
+       of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
+       charset `latin_viscii'.
+
+       * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
+       (CHARSET_TYPE_94X94): Change to 1 from 2.
+       (CHARSET_TYPE_96): Change to 2 from 1.
+       (CHARSET_TYPE_128): New macro.
+       (CHARSET_TYPE_128X128): Change to 5 from 4.
+       (CHARSET_TYPE_256): New macro.
+       (CHARSET_TYPE_256X256): Change to 7 from 5.
+       (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
+
+1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * text-coding.c (char_encode_shift_jis): Refer
+       `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
+       `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
+
+       * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
+       (char_byte_table_equal): New function in UTF-2000.
+       (char_byte_table_hash): New function in UTF-2000.
+       (char_byte_table_description): New constant in UTF-2000.
+       (char_byte_table): New type in UTF-2000.
+       (make_char_byte_table): New function in UTF-2000.
+       (copy_char_byte_table): New function in UTF-2000.
+       (make_char_code_table): New macro in UTF-2000.
+       (get_char_code_table): New function in UTF-2000.
+       (put_char_code_table): New function in UTF-2000.
+       (mark_charset): Mark `cs->encoding_table' in UTF-2000.
+       (charset_description): Add setting in UTF-2000.
+       (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
+       `CHARSET_TO_BYTE1_TABLE(cs)'.
+       (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
+       instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
+       (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
+       instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
+       (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
+       instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
+       `CHARSET_TO_BYTE2_TABLE(cs)'.
+
+       * char-ucs.h (char_byte_table): New type.
+       (XCHAR_BYTE_TABLE): New macro.
+       (XSETCHAR_BYTE_TABLE): New macro.
+       (CHAR_BYTE_TABLE_P): New macro.
+       (GC_CHAR_BYTE_TABLE_P): New macro.
+       (struct Lisp_Char_Byte_Table): New structure.
+       (get_char_code_table): New interface.
+       (Emchar_to_byte_table): Deleted.
+       (get_byte_from_character_table): Deleted.
+       (struct Lisp_Charset): Add `encoding_table'; delete
+       `to_byte1_table' and `to_byte2_table'.
+       (CHARSET_ENCODING_TABLE): New macro.
+       (CHARSET_TO_BYTE1_TABLE): Deleted.
+       (CHARSET_TO_BYTE2_TABLE): Deleted.
+       (XCHARSET_ENCODING_TABLE): New macro.
+       (XCHARSET_TO_BYTE1_TABLE): Deleted.
+       (XCHARSET_TO_BYTE2_TABLE): Deleted.
+
+1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (syms_of_mule_charset): Delete charset alias
+       `vietnamese-viscii-*'.
+
+1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (Qvietnamese_viscii_lower): New variable.
+       (Qvietnamese_viscii_upper): New variable.
+       (Fdefine_charset_alias): New function.
+       (syms_of_mule_charset): Add new function `define-charset-alias'.
+       (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
+       `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
+       `latin-viscii-*'.
+
+1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
+       (MAX_CHAR_OBS_94x94): New macro.
+       (breakup_char_1): Support obsolete XEmacs-UCS private code space
+       for 94x94 sets.
+
+       * mule-charset.c (put_byte_from_character_table): Change unit size
+       from 128 to 256.
+       (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
+       not defined.
+       (Fmake_reverse_direction_charset): Modify dummy argument of
+       `make_charset' for non-UTF-2000 environment.
+
+1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
+
+       * mule-charset.c (destroy_byte_from_character_table): New macro.
+       (latin_jisx0201_to_ucs): Deleted.
+       (latin_iso8859_2_to_ucs): Deleted.
+       (latin_iso8859_3_to_ucs): Deleted.
+       (latin_iso8859_4_to_ucs): Deleted.
+       (latin_iso8859_9_to_ucs): Deleted.
+       (latin_viscii_lower_to_ucs): Deleted.
+       (latin_viscii_upper_to_ucs): Deleted.
+       (mark_charset): Mark `cs->decoding_table'.
+       (Fcharset_mapping_table): Fix DOC-string.
+       (Fset_charset_mapping_table): New function.
+       (syms_of_mule_charset): Add nwe function
+       `set-charset-mapping-table'.
+       (complex_vars_of_mule_charset): Don't setup and use
+       `latin_*_to_ucs'.
+
+1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * char-ucs.h (MAKE_CHAR): Check the result for range-represented
+       charset.
+
+1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
+       (Vcharset_katakana_jisx0208): New variable.
+       (Qhiragana_jisx0208): New variable.
+       (Qkatakana_jisx0208): New variable.
+       (make_charset): Add new argument `byte_offset'.
+       (charset_get_byte1): Modify for new coded-charset definition; use
+       `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
+       `XCHARSET_BYTE_OFFSET'.
+       (Fmake_charset): Modify for `make_charset'.
+       (Fmake_reverse_direction_charset): Likewise.
+       (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
+       `katakana-jisx0208'.
+       (complex_vars_of_mule_charset): Modify for `make_charset'; quote
+       `.'  in font registry of charset `katakana-jisx0201',
+       `latin-jisx0201', `vietnamese-viscii-lower' and
+       `vietnamese-viscii-upper'; modify DOC-string of charset
+       `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
+       registry of charset `japanese-jisx0208' not to use font for JIS
+       X0208:1990; add new charset `hiragana-jisx0208' and
+       `katakana-jisx0208'.
+
+       * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
+       (LEADING_BYTE_KATAKANA_JISX0208): New macro.
+       (struct Lisp_Charset): Add `byte_offset'.
+       (CHARSET_BYTE_OFFSET): New macro.
+       (XCHARSET_UCS_MIN): New macro.
+       (XCHARSET_UCS_MAX): New macro.
+       (XCHARSET_CODE_OFFSET): New macro.
+       (XCHARSET_BYTE_OFFSET): New macro.
+       (MIN_CHAR_HIRAGANA): New macro.
+       (MAX_CHAR_HIRAGANA): New macro.
+       (MIN_CHAR_KATAKANA): New macro.
+       (MAX_CHAR_KATAKANA): New macro.
+       (MAKE_CHAR): Modify for new coded-charset definition; use
+       `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
+       `XCHARSET_BYTE_OFFSET'.
+
+1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (CHAR96): Deleted.
+       (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
+       <Lisp_Object>.
+       (latin_iso8859_2_to_ucs): Likewise.
+       (latin_iso8859_3_to_ucs): Likewise.
+       (latin_iso8859_4_to_ucs): Likewise.
+       (latin_iso8859_9_to_ucs): Likewise.
+       (latin_viscii_lower_to_ucs): Likewise.
+       (latin_viscii_upper_to_ucs): Likewise.
+       (latin_tcvn5712_to_ucs): Commented out.
+       (make_charset): Change type of argument `decoding_table' from
+       <Emchar*> to <Lisp_Object> [vector of characters].
+       (Fmake_charset): Modify for `make_charset'.
+       (Fmake_reverse_direction_charset): Likewise.
+       (Fcharset_mapping_table): New function in UTF-2000.
+       (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
+       UTF-2000.
+       (complex_vars_of_mule_charset): Modify for type change of
+       `*_to_ucs'; modify for `make_charset'.
+
+       * char-ucs.h (struct Lisp_Charset): Change type of
+       `decoding_table' from <Emchar*> to <Lisp_Object>.
+       (MAKE_CHAR): Modify for new specification of `decoding_table'.
+
+1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
+       error with non-UTF-2000-Mule.
+
+1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
+       in lisp again].
+       (Vcharset_chinese_cns11643_4): Likewise.
+       (Vcharset_chinese_cns11643_5): Likewise.
+       (Vcharset_chinese_cns11643_6): Likewise.
+       (Vcharset_chinese_cns11643_7): Likewise.
+       (Qchinese_cns11643_3): Likewise.
+       (Qchinese_cns11643_4): Likewise.
+       (Qchinese_cns11643_5): Likewise.
+       (Qchinese_cns11643_6): Likewise.
+       (Qchinese_cns11643_7): Likewise.
+       (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
+       `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
+       and `chinese-cns11643-7' to lisp/mule/chinese.el.
+       (complex_vars_of_mule_charset): Likewise.
+
+1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (charset_get_byte1): Fix bug about 94- and
+       96-set.
+       (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
+       CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
+
+1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
+       0xFF60.
+       (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
+       (breakup_char_1): Likewise.
+
+       * text-coding.c (char_encode_iso2022): Keep designated charsets if
+       one of them includes the specified character.
+
+1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
+
+1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
+
+1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
+       definition for non-UTF-2000 Mule.
+       (latin_iso8859_3_to_ucs): Likewise.
+       (latin_iso8859_4_to_ucs): Likewise.
+       (latin_iso8859_9_to_ucs): Likewise.
+       (latin_jisx0201_to_ucs): Likewise.
+       (MIN_CHAR_THAI): Likewise.
+       (MAX_CHAR_THAI): Likewise.
+       (MIN_CHAR_GREEK): Likewise.
+       (MAX_CHAR_GREEK): Likewise.
+       (MIN_CHAR_HEBREW): Likewise.
+       (MAX_CHAR_HEBREW): Likewise.
+       (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
+       (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
+       (MIN_CHAR_CYRILLIC): Likewise.
+       (MAX_CHAR_CYRILLIC): Likewise.
+
+1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * char-ucs.h (breakup_char_1): Use
+       `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
+       thai-tis620 and katakana-jisx0201 area.
+
+1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * char-ucs.h (breakup_char_1): Use
+       `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
+       area.
+
+       * text-coding.c (reset_encoding_stream): Fixed.
+       (char_encode_ucs4): Delete `& 255'.
+
+       * char-ucs.h (breakup_char_1): Use
+       `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
+
+1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * file-coding.c (Fmake_coding_system): Don't set up
+       `codesys->fixed.size'.
+       (encode_coding_no_conversion): Don't refer
+       `str->codesys->fixed.size'.
+
+1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
+       (latin_a_char_to_byte1): Deleted.
+       (latin_a_char_to_byte2): Deleted.
+
+1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (make_charset): Add new argument `ucs_min',
+       `ucs_max' and `code_offset'.
+       (charset_get_byte1): New implementation [delete specific charset
+       depended implementations].
+       (Fmake_charset): Modify for `make_charset'.
+       (Fmake_reverse_direction_charset): Likewise.
+       (complex_vars_of_mule_charset): Likewise.
+
+       * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
+       `code_offset'.
+       (CHARSET_UCS_MIN): New macro.
+       (CHARSET_UCS_MAX): New macro.
+       (CHARSET_CODE_OFFSET): New macro.
+       (MAKE_CHAR): Delete charset depended definitions [except
+       katakana-jisx0201].
+
+1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * char-ucs.h (breakup_char_1): Use
+       `Vdefault_coded_charset_priority_list' for C0-Controls,
+       Basic-Latin, C1-Controls and Latin-1-Supplement area.
+
+1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * char-ucs.h (charset_get_byte1): New function.
+       (XCHARSET_GET_BYTE1): Deleted.
+       (charset_get_byte2): New function.
+       (XCHARSET_GET_BYTE2): Deleted.
+       (Vdefault_coded_charset_priority_list): New external variable.
+       (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
+       `Vdefault_preferred_coded_charset_list'.
+
+       * mule-charset.c (charset_get_byte1): New function.
+       (charset_get_byte2): New function.
+       (Vdefault_coded_charset_priority_list): New variable.
+       (vars_of_mule_charset): Add new variable
+       `default-coded-charset-priority-list'.
+
+1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
+       (XCHARSET_GET_BYTE2): New inline function.
+       (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
+       `XCHARSET_GET_BYTE2'.
+
+1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-charset.c (make_charset): Initialize
+       `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
+       NULL if table is not defined.
+
+1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * text-coding.c (char_encode_shift_jis): Use
+       `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
+       `ucs_to_latin_jisx0201'.
+
+       * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
+       (ucs_to_latin_iso8859_2): Deleted.
+       (ucs_to_latin_iso8859_3): Deleted.
+       (ucs_to_latin_iso8859_4): Deleted.
+       (ucs_to_latin_iso8859_9): Deleted.
+       (ucs_to_latin_viscii_lower): Deleted.
+       (ucs_to_latin_viscii_upper): Deleted.
+       (ucs_to_latin_tcvn5712): Deleted.
+       (make_charset): Add new argument `decoding_table'; set up
+       `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
+       `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
+       `decoding_table' is defined in UTF-2000.
+       (Fmake_charset): Modify for `make_charset'.
+       (Fmake_reverse_direction_charset): Likewise.
+       (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
+       and `GENERATE_96_SET'.
+
+       * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
+       (ucs_to_latin_jisx0201): Deleted.
+       (latin_iso8859_2_to_ucs): Deleted.
+       (ucs_to_latin_iso8859_2): Deleted.
+       (latin_iso8859_3_to_ucs): Deleted.
+       (ucs_to_latin_iso8859_3): Deleted.
+       (latin_iso8859_4_to_ucs): Deleted.
+       (ucs_to_latin_iso8859_4): Deleted.
+       (latin_iso8859_9_to_ucs): Deleted.
+       (ucs_to_latin_iso8859_9): Deleted.
+       (latin_viscii_lower_to_ucs): Deleted.
+       (ucs_to_latin_viscii_lower): Deleted.
+       (latin_viscii_upper_to_ucs): Deleted.
+       (ucs_to_latin_viscii_upper): Deleted.
+       (struct Lisp_Charset): Renamed `encoding_table' to
+       `to_byte1_table'; add `to_byte2_table'.
+       (CHARSET_DECODING_TABLE): New macro.
+       (CHARSET_TO_BYTE1_TABLE): New macro.
+       (CHARSET_TO_BYTE2_TABLE): New macro.
+       (XCHARSET_DECODING_TABLE): New macro.
+       (XCHARSET_TO_BYTE1_TABLE): New macro.
+       (XCHARSET_TO_BYTE2_TABLE): New macro.
+       (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
+       tables.
+       (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
+       don't use `ucs_to_*' tables.
+
+1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * text-coding.c (Fmake_coding_system): Don't set up
+       `codesys->fixed.size'.
+       (encode_coding_no_conversion): Use `if' instead of `switch'.
+
+       * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
+
+1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (make_charset): Delete argument `rep_bytes'.
+       (Fmake_charset): Modify for `make_charset'.
+       (Fmake_reverse_direction_charset): Likewise.
+       (complex_vars_of_mule_charset): Likewise.
+
+1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * text-coding.c (char_encode_shift_jis): Use table
+       `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
+
+1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * text-coding.c (text_encode_generic): Use `if' instead of
+       `switch'.
+       (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
+       decode JIS-Latin.
+
+1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * text-coding.c (encode_coding_sjis): Deleted.
+       (char_encode_shift_jis): New function.
+       (char_finish_shift_jis): New function.
+       (reset_encoding_stream): Set up `encode_char' and `finish' for
+       `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
+       (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
+       (char_encode_utf8): Treat `eol_type'.
+
+1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * file-coding.c (decode_coding_iso2022): Use
+       `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
+
+1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
+       to 0.7 (Hirano).
+
+1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * char-lb.h (CHAR_COLUMNS): New macro.
+
+1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * text-coding.c (char_encode_ucs4): New function.
+       (char_finish_ucs4): New function.
+       (encode_coding_ucs4): Deleted.
+       (mule_encode): Use generic encoder for `CODESYS_UCS4'.
+       (text_encode_generic): Delete local variable `charset' and `half'.
+       (ucs_to_mule_table): Deleted.
+       (mule_to_ucs_table): Deleted.
+       (Fset_ucs_char): Deleted.
+       (ucs_to_char): Deleted.
+       (Fucs_char): Deleted.
+       (Fset_char_ucs): Deleted.
+       (Fchar_ucs): Deleted.
+       (decode_ucs4): Deleted.
+       (mule_char_to_ucs4): Deleted.
+       (encode_ucs4): Deleted.
+       (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
+       (decode_coding_utf8): Likewise.
+       (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
+       (char_encode_iso2022): Fixed.
+       (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
+       `Fset_char_ucs' and `Fchar_ucs'.
+       (complex_vars_of_file_coding): Don't initialize
+       `ucs_to_mule_table'.
+
+       * objects-tty.c (tty_initialize_font_instance): Don't use
+       `XCHARSET_COLUMNS'.
+
+       * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
+       UTF-2000.
+
+       * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
+       instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
+
+       * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
+       instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
+       (emchar_string_displayed_columns): Likewise.
+
+       * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
+       `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
+       (string_column_at_point): Likewise.
+       (Fmove_to_column): Likewise.
+
+       * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
+       `encoding_table' and `decoding_table'.
+       (CHARSET_REP_BYTES): Deleted.
+       (XCHARSET_REP_BYTES): Deleted.
+       (XCHARSET_COLUMNS): Deleted.
+       (CHAR_COLUMNS): New macro.
+       (lookup_composite_char): Deleted unconditionally.
+       (composite_char_string): Likewise.
+
+1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * char-ucs.h (Emchar_to_byte_table): New type.
+       (get_byte_from_character_table): New function interface.
+       (Vcharset_latin_jisx0201): New variable.
+       (latin_jisx0201_to_ucs): New variable.
+       (ucs_to_latin_jisx0201): New variable.
+       (Vcharset_latin_iso8859_2): New variable.
+       (latin_iso8859_2_to_ucs): New variable.
+       (ucs_to_latin_iso8859_2): New variable.
+       (Vcharset_latin_iso8859_3): New variable.
+       (latin_iso8859_3_to_ucs): New variable.
+       (ucs_to_latin_iso8859_3): New variable.
+       (Vcharset_latin_iso8859_4): New variable.
+       (latin_iso8859_4_to_ucs): New variable.
+       (ucs_to_latin_iso8859_4): New variable.
+       (Vcharset_latin_iso8859_9): New variable.
+       (latin_iso8859_9_to_ucs): New variable.
+       (ucs_to_latin_iso8859_9): New variable.
+       (Vcharset_latin_viscii_lower): New variable.
+       (latin_viscii_lower_to_ucs): New variable.
+       (ucs_to_latin_viscii_lower): New variable.
+       (Vcharset_latin_viscii_upper): New variable.
+       (latin_viscii_upper_to_ucs): New variable.
+       (ucs_to_latin_viscii_upper): New variable.
+       (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
+       (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
+       (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
+       (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
+       `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
+       `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
+       (breakup_char_1): Use `ucs_to_latin_iso8859_2',
+       `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
+       `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
+       `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
+
+       * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
+       (Vcharset_latin_viscii_upper): New variable.
+       (make_byte_from_character_table): New function.
+       (put_byte_from_character_table): New function.
+       (get_byte_from_character_table): New function.
+       (CHAR96): New macro.
+       (ucs_to_latin_jisx0201): New variable.
+       (latin_jisx0201_to_ucs): New variable.
+       (ucs_to_latin_iso8859_2): New variable.
+       (latin_iso8859_2_to_ucs): New variable.
+       (ucs_to_latin_iso8859_3): New variable.
+       (latin_iso8859_3_to_ucs): New variable.
+       (ucs_to_latin_iso8859_4): New variable.
+       (latin_iso8859_4_to_ucs): New variable.
+       (ucs_to_latin_iso8859_9): New variable.
+       (latin_iso8859_9_to_ucs): New variable.
+       (ucs_to_latin_viscii_lower): New variable.
+       (latin_viscii_lower_to_ucs): New variable.
+       (ucs_to_latin_viscii_upper): New variable.
+       (latin_viscii_upper_to_ucs): New variable.
+       (ucs_to_latin_tcvn5712): New variable.
+       (latin_tcvn5712_to_ucs): New variable.
+       (Qlatin_viscii_lower): New variable.
+       (Qlatin_viscii_upper): New variable.
+       (syms_of_mule_charset): Set up new symbol
+       `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
+       (complex_vars_of_mule_charset): Set up new charset
+       `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
+       `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
+       `ucs_to_<CHARSET>' tables.
+
+1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * text-coding.c: New file.
+
+1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (Fmake_char): Fix problem of 256-set.
+
+       * char-ucs.h (Vcharset_ucs_bmp): New variable.
+       (MAKE_CHAR): Modify for `ucs-bmp'.
+       (breakup_char_1): Return `ucs-bmp' and code point of BMP for
+       non-MULE characters of BMP.
+
+1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
+       to 0.6.
+
+1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * lstream.h:
+       - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
+       - Include character.h for `CHAR_ASCII_P'.
+
+       * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
+
+       * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
+       (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
+
+       * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
+       (BYTE_C0_P): Likewise.
+       (BYTE_C1_P): Likewise.
+       (Lstream_get_emchar_1): Likewise.
+       (Lstream_fput_emchar): Likewise.
+       (Lstream_funget_emchar): Likewise.
+       (copy_internal_to_external): Likewise.
+       (copy_external_to_internal): Likewise.
+
+       * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
+       (BYTE_C0_P): Likewise.
+       (BYTE_C1_P): Likewise.
+       (Lstream_get_emchar_1): Likewise.
+       (Lstream_fput_emchar): Likewise.
+       (Lstream_funget_emchar): Likewise.
+       (copy_internal_to_external): Likewise.
+       (copy_external_to_internal): Likewise.
+
+       * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
+       (REP_BYTES_BY_FIRST_BYTE): Likewise.
+
+       * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
+       (BYTE_ASCII_P): Moved to mb-1byte.h.
+
+1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
+
+       * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
+       (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
+       (VALID_CHARPTR_P): Moved to mb-*byte.h.
+       (VALIDATE_CHARPTR_BACKWARD): Likewise.
+       (VALIDATE_CHARPTR_FORWARD): Likewise.
+       (simple_charptr_emchar): Moved to mb-multibyte.h.
+       (simple_set_charptr_emchar): Likewise.
+       (simple_charptr_copy_char): Likewise.
+       (non_ascii_charptr_emchar): Likewise.
+       (non_ascii_set_charptr_emchar): Likewise.
+       (non_ascii_charptr_copy_char): Likewise.
+       (charptr_emchar): Moved to mb-*byte.h.
+       (set_charptr_emchar): Likewise.
+       (charptr_copy_char): Likewise.
+
+       * mb-1byte.h, mb-multibyte.h: New files.
+
+1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mb-utf-8.h (MULTIBYTE): New macro.
+       (MAX_EMCHAR_LEN): Moved from buffer.h.
+       (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
+
+       * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
+
+       * mb-lb.h, multibyte.h: New files.
+
+       * char-1byte.h (Charset_ID): Moved from buffer.h.
+       (MIN_LEADING_BYTE): Likewise.
+       (LEADING_BYTE_ASCII): Likewise.
+       (NUM_LEADING_BYTES): Likewise.
+       (CHARSETP): Likewise.
+       (CHARSET_BY_LEADING_BYTE): Likewise.
+       (XCHARSET_LEADING_BYTE): Likewise.
+       (XCHARSET_GRAPHIC): Likewise.
+       (XCHARSET_COLUMNS): Likewise.
+       (XCHARSET_DIMENSION): Likewise.
+       (CHAR_CHARSET): Likewise.
+       (CHAR_LEADING_BYTE): Likewise.
+       (BREAKUP_CHAR): Likewise.
+       (Vcharset_ascii): Likewise.
+
+       * buffer.h: Include multibyte.h unconditionally.
+       (VALID_CHARPTR_P): Moved to multibyte.h.
+       (ASSERT_VALID_CHARPTR): Likewise.
+       (REAL_INC_CHARPTR): Likewise.
+       (REAL_INC_CHARBYTIND): Likewise.
+       (REAL_DEC_CHARPTR): Likewise.
+       (INC_CHARPTR): Likewise.
+       (INC_CHARBYTIND): Likewise.
+       (DEC_CHARPTR): Likewise.
+       (VALIDATE_CHARPTR_BACKWARD): Likewise.
+       (VALIDATE_CHARPTR_FORWARD): Likewise.
+       (charptr_n_addr): Likewise.
+       (MAX_EMCHAR_LEN): Moved to mb-*.h.
+       (simple_charptr_emchar): Moved to multibyte.h.
+       (simple_set_charptr_emchar): Likewise.
+       (simple_charptr_copy_char): Likewise.
+       (non_ascii_charptr_emchar): Likewise.
+       (non_ascii_set_charptr_emchar): Likewise.
+       (non_ascii_charptr_copy_char): Likewise.
+       (charptr_emchar): Likewise.
+       (set_charptr_emchar): Likewise.
+       (charptr_copy_char): Likewise.
+       (charptr_emchar_n): Likewise.
+       (Charset_ID): Moved to char-1byte.h.
+       (Vcharset_ascii): Likewise.
+       (CHAR_CHARSET): Likewise.
+       (CHAR_LEADING_BYTE): Likewise.
+       (LEADING_BYTE_ASCII): Likewise.
+       (NUM_LEADING_BYTES): Likewise.
+       (MIN_LEADING_BYTE): Likewise.
+       (CHARSETP): Likewise.
+       (CHARSET_BY_LEADING_BYTE): Likewise.
+       (XCHARSET_LEADING_BYTE): Likewise.
+       (XCHARSET_GRAPHIC): Likewise.
+       (XCHARSET_COLUMNS): Likewise.
+       (XCHARSET_DIMENSION): Likewise.
+       (BREAKUP_CHAR): Likewise.
+
+1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * character.h: Add document about interface for characters.
+
+       * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
+       (MAKE_CHAR): Delete comment about
+       `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
+       `FIELD2_TO_PRIVATE_LEADING_BYTE'.
+       (BREAKUP_CHAR): Modify name of arguments.
+       (CHAR_CHARSET): Modify name of argument.
+
+       * buffer.h: Delete document about Emchar accessors.
+
+1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * character.h (CHAR_INTP): Moved from buffer.h
+       (CHAR_OR_CHAR_INTP): Likewise.
+       (XCHAR_OR_CHAR_INT): Likewise.
+       (CHECK_CHAR_COERCE_INT): Likewise.
+
+       * buffer.h (CHAR_INTP): Moved to character.h
+       (CHAR_OR_CHAR_INTP): Likewise.
+       (XCHAR_OR_CHAR_INT): Likewise.
+       (CHECK_CHAR_COERCE_INT): Likewise.
+
+1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * character.h:
+       - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
+       - Include char-1byte.h, char-lb.h or char-ucs.h.
+
+       * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
+
+       * buffer.h: Include character unconditionally.
+       (valid_char_p): Moved to char-*.h.
+       (non_ascii_valid_char_p): Moved to char-lb.h.
+
+       * char-1byte.h, char-lb.h, char-ucs.h: New files.
+
+1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
+
+       * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
+       in UTF-2000 because it is not ported yet and not to use
+       `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
+       `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
+       `FIELD1_TO_PRIVATE_LEADING_BYTE'.
+
+       * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
+       (CHAR_ASCII_P): Moved from character.h.
+
+       * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
+       (CHAR_ASCII_P): Likewise.
+       (CHAR_FIELD1_MASK): Deleted.
+       (CHAR_FIELD2_MASK): Deleted.
+       (CHAR_FIELD3_MASK): Deleted.
+       (MAX_CHAR_BASIC_LATIN): New macro.
+       (CHAR_FIELD1): Deleted.
+       (CHAR_FIELD2_INTERNAL): Deleted.
+       (CHAR_FIELD3_INTERNAL): Deleted.
+       (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
+       (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
+       (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
+       (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
+       (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
+       (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
+       (MIN_CHAR_FIELD2_PRIVATE): Deleted.
+       (MAX_CHAR_FIELD2_PRIVATE): Deleted.
+       (MIN_CHAR_FIELD1_PRIVATE): Deleted.
+       (MAX_CHAR_FIELD1_PRIVATE): Deleted.
+       (MULE_CHAR_PRIVATE_OFFSET): Deleted.
+       (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
+       (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
+       (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
+       (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
+       (MIN_CHAR_COMPOSITION): Deleted.
+       (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
+       `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
+
+1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
+
+       * buffer.h: Include mb-utf-8.h in UTF-2000.
+
+       * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
+
+       * mb-utf-8.h: New file.
+
+1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
+       instead of `int'.
+
+       * mule-charset.h, buffer.h (Charset_ID): New type.
+
+1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-canna.c (c2mu): Use `MAKE_CHAR',
+       `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
+       instead of `MULE_CHAR_PRIVATE_OFFSET',
+       `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
+       and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
+       (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
+
+       * character.h (Vcharset_japanese_jisx0212): New variable
+       definition.
+
+1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
+       (charset_by_attributes): Delete array about direction.
+       (latin_a_char_to_charset): New variable in UTF-2000.
+       (latin_a_char_to_byte1): New variable in UTF-2000.
+       (latin_a_char_to_byte2): New variable in UTF-2000.
+       (Qucs_bmp): New variable.
+       (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
+       `Bufbyte'.
+       (next_allocated_2_byte_leading_byte): Likewise.
+       (non_ascii_set_charptr_emchar): Likewise.
+       (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
+       `CHARSET_TYPE_256X256' in UTF-2000; modify for
+       `charset_by_attributes'.
+       (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
+       (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
+       and `CHARSET_BY_LEADING_BYTE'.
+       (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
+       `utf-2000-version' to `vars_of_mule_charset'.
+       (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
+       define `leading-code-private-11' in UTF-2000; move setting of
+       `utf-2000-version' from `syms_of_mule_charset'.
+       (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
+       UTF-2000.
+
+       * character.h (Charset_ID): New type.
+       (LEADING_BYTE_UCS_BMP): New macro.
+       (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
+       (CHARSET_ID_OFFSET_94): New macro.
+       (MIN_CHARSET_ID_PRIVATE_94): New macro.
+       (MAX_CHARSET_ID_PRIVATE_94): New macro.
+       (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
+       final-byte.
+       (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
+       (LEADING_BYTE_LATIN_JISX0201): Likewise.
+       (CHARSET_ID_OFFSET_96): New macro.
+       (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
+       CHARSET_ID_OFFSET_96 and final-byte.
+       (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
+       (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
+       (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
+       (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
+       (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
+       (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
+       (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
+       (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
+       (LEADING_BYTE_THAI_TIS620): Likewise.
+       (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
+       (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
+       (CHARSET_ID_OFFSET_94x94): New macro.
+       (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
+       CHARSET_ID_OFFSET_94x94 and final-byte.
+       (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
+       (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
+       (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
+       (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
+       (LEADING_BYTE_CHINESE_GB2312): Likewise.
+       (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
+       (LEADING_BYTE_KOREAN_KSC5601): Likewise.
+       (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
+       (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
+       (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
+       (LEADING_BYTE_KOREAN_KPS9566): Likewise.
+       (CHARSET_TYPE_128X128): New macro.
+       (CHARSET_TYPE_256X256): New macro.
+       (XCHARSET_PRIVATE_P): Delete unconditionally.
+       (charset_by_attributes): Delete array about direction.
+       (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
+       (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
+       (MIN_CHAR_94): New macro.
+       (MAX_CHAR_94): New macro.
+       (MIN_CHAR_96): New macro.
+       (MAX_CHAR_96): New macro.
+       (MIN_CHAR_94x94): New macro.
+       (MAX_CHAR_94x94): New macro.
+       (MIN_CHAR_96x96): New macro.
+       (MAX_CHAR_96x96): New macro.
+       (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
+       (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
+       (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
+       - 32)'.
+       (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
+       (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
+       (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
+       (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
+       (MAX_CHAR_PRIVATE_TYPE9N): Changed.
+       (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
+       `XCHARSET_LEADING_BYTE' to make code-point.
+       (latin_a_char_to_charset): New variable.
+       (latin_a_char_to_byte1): New variable.
+       (latin_a_char_to_byte2): New variable.
+       (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
+       Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
+       `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
+
+       * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
+       instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
+       (find_charsets_in_emchar_string): Likewise.
+       (vars_of_insdel): Don't define local variable `i' in UTF-2000.
+
+       * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
+       `int'.
+       (decode_coding_iso2022): Likewise.
+
+       * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
+       of `unsigned char'.
+
+       * redisplay.c (redisplay_text_width_emchar_string): Use
+       `Charset_ID' instead of `unsigned char'.
+       (redisplay_frame_text_width_string): Likewise.
+
+       * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
+       `unsigned char'.
+
+       * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
+       instead of `unsigned char'.
+       (face_cachel_charset_font_metric_info): Likewise.
+
+       * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
+       (get_non_ascii_char_table_value): Likewise.
+       (get_char_table): Likewise.
+       (put_char_table): Likewise.
+       (map_over_other_charset): Likewise.
+       (map_char_table): Likewise.
+
+       * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
+       instead of `unsigned char'.
+
+1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
+       (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
+
+       * mule-charset.c (leading_code_private_11): Don't define in
+       UTF-2000.
+
+       * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
+       in UTF-2000 because it is not ported yet and not to use
+       `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
+
+1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * character.h (LEADING_BYTE_COMPOSITE): Deleted.
+
+1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
+       in UTF-2000.
+
+       * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
+       of unsigned char to store leading-byte.
+
+       * chartab.c (get_non_ascii_char_table_value): Don't use
+       `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
+
+       * file-coding.c (encode_coding_big5): Delete bogus implementation
+       in UTF2000.
+
+       * character.h (LEADING_BYTE_*): Delete definition for
+       non-UTF-2000.
+       (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
+       (LEADING_BYTE_PREFIX_P): Deleted.
+       (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
+       (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
+       (BUFBYTE_LEADING_BYTE_P): Deleted.
+       (CHARSET_PRIVATE_P): Deleted unconditionally.
+       (rep_bytes_by_first_byte): Deleted unconditionally.
+       (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
+       (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
+       (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
+       (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
+       (CHAR_FIELD2): Deleted.
+       (CHAR_FIELD3): Deleted.
+       (MAKE_CHAR): Delete definition for non-UTF-2000.
+       (BREAKUP_CHAR_1_UNSAFE): Deleted.
+       (breakup_char_1): New implementation.
+       (CHAR_CHARSET): Use `BREAKUP_CHAR'.
+       (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
+
+1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
+       condition.
+
+1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
+       (CHARSET_PRIVATE_P): Likewise.
+       (XCHARSET_PRIVATE_P): Likewise.
+       (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
+
+       * file-coding.c (encode_coding_ucs4): Delete bogus implement in
+       UTF2000.
+       (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
+
+1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * character.h (LEADING_BYTE_*): Changed in UTF2000.
+       (NUM_LEADING_BYTES): Changed from 128 to 256.
+       (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
+       (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
+       UTF2000.
+       (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
+
+       * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
+       UTF2000.
+       (Vcharset_chinese_cns11643_4): New variable in UTF2000.
+       (Vcharset_chinese_cns11643_5): New variable in UTF2000.
+       (Vcharset_chinese_cns11643_6): New variable in UTF2000.
+       (Vcharset_chinese_cns11643_7): New variable in UTF2000.
+       (Qchinese_cns11643_3): New variable in UTF2000.
+       (Qchinese_cns11643_4): New variable in UTF2000.
+       (Qchinese_cns11643_5): New variable in UTF2000.
+       (Qchinese_cns11643_6): New variable in UTF2000.
+       (Qchinese_cns11643_7): New variable in UTF2000.
+       (syms_of_mule_charset): Define `chinese-cns11643-3',
+       `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
+       and `chinese-cns11643-7' in UTF2000.
+       (vars_of_mule_charset): Initialize
+       next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
+       + 1 in UTF2000.
+       (complex_vars_of_mule_charset): Setup charset
+       `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
+       `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
+
+1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c: Move setting for `leading-code-private-11' from
+       `syms_of_mule_charset' to `vars_of_mule_charset'.
+
+1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
+       and `NUM_LEADING_BYTES' in assert.
+
+1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
+       instead of 128.
+       (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
+       `NUM_LEADING_BYTES' instead of 128.
+
+1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.h (charset_by_leading_byte): Use
+       `NUM_LEADING_BYTES' instead of 128.
+       (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
+
+       * mule-charset.c (charset_by_leading_byte): Use
+       `NUM_LEADING_BYTES' instead of 128.
+       (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
+
+       * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
+       128.
+
+1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (syms_of_mule_charset): Update to
+       0.4 (Shin-Imamiya).
+
+1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
+
+       * file-coding.c (encode_coding_sjis): New implementation for
+       UTF2000.  (decode_coding_sjis): Ditto.
+
+1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
+       Don't define in UTF2000.
+
+       * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
+       defined.
+
+       * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
+       mule-ccl.c, lstream.h, buffer.h: Include character.h in every
+       MULE.
+
+1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * config.h.in (CHAR_IS_UCS4): New macro.
+
+       * mule-charset.c (rep_bytes_by_first_byte): Modify for
+       conventional MULE representation.
+       (syms_of_mule_charset): Update to 0.3 (Imamiya).
+
+       * mule-charset.h: Reverted to original.
+
+       * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
+       mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
+       "mule-charset.h" if CHAR_IS_UCS4 is defined.
+
+       * character.h: New file.
+
+       * file-coding.c (Fmake_coding_system): Set 1 to
+       `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
+       defined.
+       (encode_coding_no_conversion): New implementation for UTF2000.
+
+       * file-coding.h (struct Lisp_Coding_System): Add new member
+       `fixed.size'.
+
+1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * file-coding.c (decode_coding_iso2022): Code-point arguments of
+       `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
+       (encode_coding_iso2022): New implementation for UTF2000.
+
+1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-canna.c (c2mu): New implementation for UTF2000.
+       (m2c): Likewise.
+
+1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
+
+1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * file-coding.c (reset_encoding_stream): Set 0 to
+       `str->iso2022.current_char_boundary' in UTF2000.
+       (encode_utf8): Don't define in UTF2000.
+       (encode_coding_utf8): New implementation for UTF-8 representation
+       of UTF2000.
+       (complex_vars_of_file_coding): Define coding-system `utf-8'.
+
+1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
+
+       * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
+       UTF2000.
+       (REP_BYTES_BY_FIRST_BYTE): Likewise.
+
+       * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
+
+       * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
+       local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
+       as UTF-8 in UTF2000.
+       (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
+       (non_ascii_valid_char_p): Don't define in UTF2000.
+       (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
+       (Lstream_get_emchar_1): Likewise.
+       (utf-2000-version): New variable in UTF2000.
+
+       * lread.c (read_escape): Add new reader `u'.
+
+       * insdel.c (three_to_one_table): Don't define in UTF2000.
+       (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
+       `buf->text->mule_shifter' and `buf->text->mule_three_p' in
+       UTF2000.
+       (bytind_to_bufpos_func): Likewise.
+       (buffer_mule_signal_inserted_region): Likewise.
+       (vars_of_insdel): Don't initialize `three_to_one_table'.
+       (init_buffer_text): Use `buf->text->mule_size' instead of
+       `buf->text->mule_shifter' and `buf->text->mule_three_p' in
+       UTF2000.
+
+       * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
+       UTF-8 representation in UTF2000.
+       (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
+       (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
+       (decode_coding_iso2022): Don't define local variable `lb' in
+       UTF2000; don't use LEADING_BYTE in UTF2000; use
+       `DECODE_ADD_UCS_CHAR' in UTF2000.
+       (convert_to_external_format): Decode as UTF-8 in UTF2000.
+
+       * config.h.in (UTF2000): New macro.
+
+       * buffer.h (struct buffer_text): Add new member `mule_size' and
+       don't add `mule_shifter' and `mule_three_p' in UTF2000.
+       (valid_char_p): Return always 1 in UTF2000.
+       (MAX_EMCHAR_LEN): 6 in UTF2000.
+       (three_to_one_table): Don't define in UTF2000.
+       (real_bufpos_to_bytind): Modify for UTF-8 representation in
+       UTF2000.
+       (real_bytind_to_bufpos): Likewise.
+
+       * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
+
+1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
+
+       * mule-charset.c (rep_bytes_by_first_byte): Modified for character
+       representation change.
+       (Vutf_2000_version): New variable.
+       (leading_code_private_11): New variable.
+       (syms_of_mule_charset): Add new variables `utf-2000-version' and
+       `leading-code-private-11'.
+
+       * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
+       (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
+       (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
+       (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
+       (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
+       (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
+       (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
+       (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
+       (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
+       (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
+       (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
+       (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
+       (MIN_CHAR_GREEK): New macro.
+       (MAX_CHAR_GREEK): New macro.
+       (MIN_CHAR_CYRILLIC): New macro.
+       (MAX_CHAR_CYRILLIC): New macro.
+       (MIN_CHAR_HEBREW): New macro.
+       (MAX_CHAR_HEBREW): New macro.
+       (MIN_CHAR_THAI): New macro.
+       (MAX_CHAR_THAI): New macro.
+       (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
+       (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
+       (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
+       (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
+       (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
+       (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
+       (CHAR_FIELD2): New inline function.
+       (CHAR_FIELD3): New inline function.
+       (MULE_CHAR_PRIVATE_OFFSET): New macro.
+       (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
+       (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
+       (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
+       (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
+       (MIN_CHAR_COMPOSITION): Likewise.
+       (CHAR_LEADING_BYTE): Modified for character representation change.
+       (MAKE_CHAR): Likewise.
+
+       * lisp.h (Vcharset_latin_iso8859_1): New variable.
+       (Vcharset_greek_iso8859_7): Likewise.
+       (Vcharset_cyrillic_iso8859_5): Likewise.
+       (Vcharset_hebrew_iso8859_8): Likewise.
+       (Vcharset_thai_tis620): Likewise.
+       (Vcharset_katakana_jisx0201): Likewise.
+
+2004-02-02  Vin Shelton <acs@xemacs.org>
+
+       * XEmacs 21.4.15 is released
+
+2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
+
+       * device-x.c (x_error_handler): Don't call stderr_out
+
+2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
+
+       * buffer.c (other-buffer): Clarify documentation of order of
+       arguments for FSF Emacs.
+
+2003-10-11  Olivier Galibert  <galibert@pobox.com>
+
+       * window.c (Fdelete_window): Dirty the mirror structure _before_
+       marking the window deleted.
+
+2003-09-15  Jerry James  <james@xemacs.org>
+
+       * event-msw.c (debug_mswin_messages): Conditionally compile
+       messages missing from the Cygwin headers.
+
+2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * data.c (eq_with_ebola_notice): Fix typo in comment.
+       (Ftrue_list_p): Improve docstring.
+
+2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
+
+2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * search.c (trivial_regexp_p): Regexps containing "\{" are
+       nontrivial.  Thanks to Manfred Bartz for reporting the bug and
+       Stefan Monnier for suggesting a diagnosis.
+
+2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * elhash.c (make-hash-table): Clarify use of :test #'equal.
+
+2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * search.c (Fsearch_forward):
+       (Fsearch_backward):
+       Document negative count.
+
+2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
+
+2003-09-13  Martin Buchholz  <martin@xemacs.org>
+
+       * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
+
+2003-09-15  Vin Shelton  <acs@xemacs.org>
+
+       * .gdbinit (pobj): Remove Ilya's fix that was only intended for
+       21.5.
+
+2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
+       (re_search_2): Match the first byte of Bufbyte, not Emchar.
+       (re_match_2_internal): Use TRANSLATE instead of
+       TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
+       non-ASCII char case conversion.
+
+2003-09-08  Mike Sperber  <mike@xemacs.org>
+
+       * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
+       RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
+
+2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
+
+       * .gdbinit (pobj): fix printing of symbol name.
+
+2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
+
+       * frame-x.c (x_layout_widgets): When resizing is about to cause
+       frame size slip, mark it for redisplay.
+
+2003-08-18  Jerry James  <james@xemacs.org>
+
+       * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
+
+2003-09-03  Vin Shelton <acs@xemacs.org>
+
+       * XEmacs 21.4.14 is released
+
+2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * config.h.in (REGEX_MALLOC): Make it configure'able.
+
+2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
+
+       * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
+       linking.
+       * sysdll.c (dll_init):
+       * sysdll.c (dll_open):
+       * sysdll.c (dll_close):
+       * sysdll.c (dll_function):
+       * sysdll.c (dll_variable):
+       * sysdll.c (dll_error):
+       Add support for loading bundles using Darwin/MacOSX
+       native API.
+
+2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * process.c (start-process-internal): Document coding systems.
+
+2003-07-30  Jerry James  <james@xemacs.org>
+
+       * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
+
+2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
+
+       * event-msw.c (mswindows_enqueue_mouse_button_event):
+       * event-msw.c (mswindows_wnd_proc):
+          enqueue button event when scrollwheel event isn't handled by 
+          mswindows_handle_mousewheel_event, such as when the scrollbars
+          are not showing.
+
+2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
+
+2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
+
+2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * regex.c (re_match_2_internal): Fix matching degenerate word
+       boundaries.
+
+2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+       * XEmacs 21.4.13 is released
+
+2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
+       * lisp.h (<inttypes.h>):
+       Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
+       the definition.
+
+2003-03-15  Martin Buchholz  <martin@xemacs.org>
+
+       * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
+       Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
+       Result: "temacs can only be run in -batch mode."
+       Fix: Check xemacs executable candidate for directory-ness.
+
+2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
+
+       * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
+         they conflict with <sys/types.h>.
+
+2003-02-14  Martin Buchholz  <martin@xemacs.org>
+
+       * database.c: Berkeley DB wants __STDC__ to be defined.
+
+2003-02-13  Martin Buchholz  <martin@xemacs.org>
+
+       * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
+
+2003-02-01  Martin Buchholz  <martin@xemacs.org>
+
+       * process-unix.c (unix_send_process): Fix C++ compile error.
+
+2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
+
+       * Added .dylib as an acceptable shared library file extension
+       * to support MacOSX.
+
+2003-02-01  Martin Buchholz  <martin@xemacs.org>
+
+       * EmacsFrameP.h (EmacsFramePart):
+       Kludge to allow compiling with Motif1, but linking with Motif2.
+
+2003-01-28  Martin Buchholz  <martin@xemacs.org>
+
+       * config.h.in (_ALL_SOURCE): Guard against multiple definition.
+
+
+2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
+
+2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
+
+       * sysdll.c: Included lisp.h to define needed alloca_array.
+
+2003-02-13  Martin Buchholz  <martin@xemacs.org>
+
+       Make XEmacs redisplay 10 times faster.
+       If, that is, you're using a slow X connection and MoveOpaque.
+       Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
+       Use compress_motion = TRUE.
+       * EmacsFrame.c (emacsFrameClassRec): 
+       * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
+       * EmacsManager.c (emacsManagerClassRec):
+       * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
+
+2003-01-30  Vin Shelton  <acs@xemacs.org>
+
+       * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
+
+2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
+       Patch by Martin Buchholz.
+
+2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
+       Thanks to icc for warning and Martin Buchholz for reporting.
+
+2003-01-29  Vin Shelton <acs@xemacs.org>
+
+       Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
+
+       * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
+       remember to multiply by the element size.
+
+2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.12 "Portable Code" is released.
+
+2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
+
+       * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
+       * s/cygwin.sc: new linker file.
+
+2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
+
+       * redisplay-x.c (x_output_string): Use X11-specified types.
+       * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
+       * emacs.c (__free_hook): Use typeof with Intel compiler.
+       * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
+
+2003-01-08  Andy Piper  <andy@xemacs.org>
+
+       * unexcw.c (copy_executable_and_dump_data_section): Set the stack
+       reserve size during unexec().
+
+2003-01-07  Daiki Ueno  <daiki@xemacs.org>
+
+       * process-unix.c (unix_create_process): Don't let outchannel block.
+
+2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
+
+        * emacs.c: Include "syswindows.h" when compiling under Cygwin.
+        Needed for IsBadReadPtr().
+
+2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.11 "Native Windows TTY Support" is released.
+
+2002-12-14  Ben Wing  <ben@xemacs.org>
+
+       * callint.c: Declaration error.
+       * dumper.c (pdump):
+       * dumper.c (pdump_load): Warning fix.
+       * process.c: GCPRO error.
+       * glyphs.c (unmap_subwindow):
+       * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
+       * event-stream.c (maybe_kbd_translate): Wrong argument to
+       character_to_event().
+
+       * alloc.c (garbage_collect_1):
+       * emacs.c:
+       * emacs.c (debug_can_access_memory):
+       * emacs.c (fatal_error_signal):
+       * emacs.c (mswindows_handle_hardware_exceptions):
+       * emacs.c (main_1):
+       * emacs.c (main):
+       * emacs.c (assert_failed):
+       * emacs.c (syms_of_emacs):
+       * lisp.h:
+       * print.c:
+       * print.c (std_handle_out_va):
+       * print.c (write_string_to_stdio_stream):
+       * print.c (write_fmt_string):
+       * print.c (printing_badness):
+       * print.c (printing_major_badness):
+       * print.c (print_internal):
+       * print.c (debug_print_no_newline):
+       * print.c (debug_backtrace):
+       Be more defensive in handling bad values when printing.  Add code
+       from trunk involving inhibit_non_essential_printing_operations.
+       When going down or in debug_print(), don't do external conversion
+       and such and try really, really hard when printing to avoid core
+       dumping.  Add force-debugging-signal, debug_break().
+
+2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * dumper.c (pdump_load): Include sysdep.h; retry with truename.
+       Analysis and original patch by Vin Shelton <acs@xemacs.org>.
+
+2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
+
+       * database.c: Fix open_database. Berkeley DB API has changed in
+       4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
+
+2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * specifier.c (Fvalid_specifier_type_p): Typo in comment.
+
+2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * event-Xt.c (Xt_timeout):
+       (Xt_timeout_callback):
+       (emacs_Xt_add_timeout):
+       (emacs_Xt_remove_timeout):
+       (Xt_timeout_to_emacs_event):
+       Turn completed_timeouts from a stack into a queue.  Fixes
+       deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
+
+2002-11-07  Wolfram Gloger  <wg@malloc.de>
+
+       * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
+       * emacs.c (main): Assert that mmap'd allocation is disabled.
+
+2002-10-14  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-widget.c (layout_query_geometry): add in fiddle
+       factor. Include border text in width layout calculation.
+       (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
+
+2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.10 "Military Intelligence" is released.
+
+2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
+
+       * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
+       using the NAS private array SoundFileInfo that no longer exists in
+       NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
+       and earlier.  This is broken for some versions between 1.5a and
+       1.5f.
+
+2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
+
+       * emacs.c (shut_down_emacs): Improve crash message.
+
+2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * file-coding.c (determine_real_coding_system): Check for coding
+       cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
+       shebangs and Python PEP 263.
+
+2002-10-08  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-widget.c (layout_query_geometry): only resize dynamically
+       if static sizes haven't been set.
+
+2002-08-30  Mike Alexander  <mta@arbortext.com>
+
+       * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
+       to close a socket.
+
+2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * callproc.c (child_setup): 21.4 doesn't have retry_close.
+
+2002-09-20  Mike Sperber <mike@xemacs.org>
+
+       (This partially gets back my patch from 2002-07-20 without the
+       bug.)
+       * callproc.c (child_setup): Remove Ben's comment noting confusion
+       over the file descriptors >= 3: close_process_descs() doesn't
+       close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
+       * process-unix.c (unix_create_process): Call
+       begin_dont_check_for_quit to inhibit unwanted interaction (and
+       thus breaking of X event synchronicity) in the child.
+
+2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
+
+       * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
+       widget.
+
+2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
+
+       * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
+       instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
+       the xemacs process did not exit, but looped infinitely here.  This
+       fixes that problem.
+
+2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
+       (find_context): Improve comments.
+
+       * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
+       (re_match_2): An XCHAR_TABLE operation was missing.
+
+       Many of the following changes were inspired by Andy Piper's (now
+       obsolete) patch to make syntax-table text property lookup optional.
+
+       [Documentation]
+
+       * syntax.h (top level): Document semantics of syntax flags.
+       * syntax.c (comstr_start, Fforward_comment): Improve comments.
+       * syntax.c, syntax.h (top level): Document syntax cache better in
+       comments.
+
+       [Instrument syntax caching (temporary change)]
+
+       * syntax.h (enum syntax_cache_statistics_functions, struct
+       syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
+       SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
+       * syntax.c (scan_words, Fforward_comment, scan_lists,
+       Fbackward_prefix_characters):
+       * font-lock.c (find_context):
+       Use them to instrument syntax caching. 
+       * syntax.c (struct syntax_cache_statistics, scs_statistics,
+       syntax_cache_statistics_function_names): New type and variables.
+       * syntax.c (update_syntax_cache): Update and report statistics.
+
+       [Major syntax cache optimizations]
+
+       syntax.c (lookup_syntax_properties): Default off.
+
+       * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
+       * syntax.c (update_syntax_cache):
+       Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
+
+       [Minor syntax cache optimizations and code clarifications]
+
+       * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
+       SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
+       SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
+       SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
+       SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
+       (Code clarification.)
+
+       * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
+       scan_lists): Compute code from syncode, use Boolean macros instead
+       of redundant masking operations.  (Code clarification; any decent
+       compiler can do this optimization.)
+
+       * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
+       for clarity.
+
+       * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
+       PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
+       use F*_single_property_change instead of F*_extent_change.
+       Currently F*_single_property_change is _much_ less efficient.
+
+       * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
+       * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
+       syntax_cache.object properly, don't leave Qt or Qnil.
+       (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
+       * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
+       tests for Qt or Qnil.
+
+2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * redisplay.c (point_in_line_start_cache): 
+       * extents.c (print_extent_1):
+       Fix warnings.
+
+       * extents.c (Fset_extent_property): Document `syntax-table' property.
+
+       * extents.h (Fnext_single_property_change): EXFUN it.
+
+2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * search.c (clear_unused_search_regs): New static function.
+       (search_buffer): 
+       (simple_search): 
+       (boyer_moore):
+       Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
+       Minor clarifications in comments.
+
+       * regex.c (re_match_2_internal): Ensure no stale submatches.
+
+2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * event-Xt.c (enqueue_focus_event): Add missing prototype.
+
+2002-08-29  Jerry James  <james@xemacs.org>
+
+       * lisp.h: structrures -> structures.
+
+2002-06-03  Andy Piper  <andy@xemacs.org>
+
+       * frame.c (frame_conversion_internal): add conversion appropriate
+       for setting frame dimensions in pixels.
+
+       * console.h (struct console_methods): add device-specific widget
+       layout functions.
+
+       * emacs.c (main_1): initialize glyph vars.
+
+       * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
+       (handle_focus_event_2): new function. Allow focus to
+       be set to a particular window and widget.
+       (enqueue_focus_event): new function. Create a
+       synthetic focus event.
+       (emacs_Xt_handle_magic_event): call
+       handle_focus_event_2.
+
+       * frame.c (Fset_frame_pixel_height): new function. Allow
+       pixel-based sizing. Does the right thing on character-oriented
+       displays.
+       (Fset_frame_pixel_width): ditto.
+       (Fset_frame_pixel_size): ditto.
+       (syms_of_frame): declare.
+
+       * general-slots.h: add :vertically-justify and
+       :horizontally-justify.
+
+       * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
+       (mswindows_widget_border_width): new function.
+       (mswindows_combo_box_instantiate): set border widths.
+       (console_type_create_glyphs_mswindows): declare.
+
+       * glyphs-widget.c:
+       (check_valid_justification): allow vertical and horizontal
+       justification.
+       (widget_border_width): new function. Call device methods.
+       (widget_instance_border_width): ditto.
+       (logical_unit_height): new function. Determine the height of a
+       logical-unit. Logical units are intended to provide grid-like
+       layout for subcontrols in a layout. If the layout is
+       :vertically-justify top then subcontrols will be positioned on
+       logical-unit boundaries, thus allowing adjacent subcontrols to
+       line up.
+       (widget_logical_unit_height): ditto for widgets.
+       (redisplay_widget): misc cleanup.
+       (widget_spacing): new function. Call device specific
+       methods. Intended to be the default gap between adjacent widgets.
+       (widget_query_geometry): use new spacing functions to determine
+       appropriate geometry.
+       (initialize_widget_image_instance): initialize horizontal and
+       vertical justification.
+       (widget_instantiate): use logica-units where appropriate for
+       sizing large widgets.
+       (button_query_geometry): use widget_instance_border_width.
+       (tree_view_query_geometry): ditto.
+       (tab_control_query_geometry): ditto.
+       (edit_field_query_geometry): new function.
+       (layout_update): pick up :justify, :horizontally-justify and
+       :vertically-justify none of which worked previously. :justify is
+       used as a fallback for both horizontal and vertical justification.
+       (layout_query_geometry): use logical units to size appropriately.
+       (layout_layout): ditto.
+       (Fwidget_logical_to_character_width): new function. Allow users to
+       convert from logical units to characters so that frame sizes can
+       be set appropriately.
+       (Fwidget_logical_to_character_height): ditto.
+       (syms_of_glyphs_widget): declare.
+       (image_instantiator_edit_fields): add edit_field_query_geometry.
+       (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
+       :horizontally-justify.
+       (specifier_vars_of_glyphs_widget): new function. Declare
+       Vwidget_border_width which is not yet used.
+
+       * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
+       (x_widget_border_width): new function.
+       (x_widget_instantiate): create a sensible name for widgets.
+       (console_type_create_glyphs_x): declare x_widget_border_width.
+
+       * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
+       (struct Lisp_Image_Instance): add :vertically-justify and
+       :horizontally-justify.
+       (LAYOUT_JUSTIFY_TOP): new.
+       (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
+       (ROUND_UP): new macro. Round argument up to next integral
+       interval.
+
+       * redisplay-output.c (redisplay_output_layout): misc formatting.
+
+       * symsinit.h: declare specifier_vars_of_glyphs_widget.
+
+2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.9 "Informed Management" is released.
+
+2002-08-19  Andy Piper  <andy@xemacs.org>
+
+       * fileio.c (Ffile_truename): on cygwin using win32 normalize to
+       win32 format.
+
+       * realpath.c (xrealpath): normalize drive spec also so that dir
+       sep chars are not mixed on cygwin.
+
+2002-08-06  Jerry James  <james@xemacs.org>
+
+       * window.c (Fsplit_window): Count only half of the divider width
+       against the left window when splitting horizontally. 
+
+2002-06-24  Andy Piper  <andy@xemacs.org>
+
+       * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
+       toolbar was cleared.
+
+       * toolbar-msw.c (mswindows_clear_frame_toolbars): new
+       function. Split out from mswindows_output_frame_toolbars.
+       (mswindows_output_frame_toolbars): move clear pieces to
+       mswindows_output_frame_toolbars.
+
+       * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
+       out from gtk_output_frame_toolbars.
+       (gtk_output_frame_toolbars): move clear pieces to
+       gtk_clear_frame_toolbars.
+
+       * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
+       the frame is cleared. How this ever worked before is a mystery.
+       (x_output_frame_toolbars): Only output toolbars.
+       (x_clear_frame_toolbars): new. Clear previous toolbar locations.
+
+       * gutter.c (update_gutter_geometry):
+       Mark frame layout changed.
+       (update_frame_gutter_geometry, update_frame_gutters):
+       Respect frame_layout_changed.
+
+       * console.h (struct console_methods): add
+       clear_frame_toolbars_method.
+
+       * redisplay.c (redisplay_frame): call
+       update_frame_toolbars_geometry and re-order update_frame_toolbars.
+
+       * toolbar.h: declare update_frame_toolbars_geometry.
+
+       * toolbar.c (update_frame_toolbars_geometry): new function. Split
+       out from update_frame_toolbars.  Call clear_frame_toolbars.
+       (update_frame_toolbars): only output, do not change geometry.
+
+       * redisplay.c: add frame_layout_changed.
+
+       * redisplay.h: add frame_layout_changed.
+       (CLASS_RESET_CHANGED_FLAGS): set it.
+       (GLOBAL_RESET_CHANGED_FLAGS): ditto.
+       (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
+       (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
+
+       * device.h (struct device): add frame_layout_changed.
+       (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
+
+       * frame.h (struct frame): add frame_layout_changed.
+       (MARK_FRAME_LAYOUT_CHANGED): new.
+
+2002-06-30  Mike Alexander  <mta@arbortext.com>
+
+       * event-msw.c (mswindows_need_event): Don't wait for a new message
+       if the queue is not empty.  Suggested by Paul Moore.
+
+2002-06-12  Andy Piper  <andy@xemacs.org>
+
+       * frame-msw.c (msprinter_init_frame_3): calculate the frame size
+       for printing on accurately.
+
+2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
+
+       * event-msw.c (mswindows_wnd_proc): Add a handler for the
+       WM_ACTIVATE message. Make sure that the frame is visible if the
+       window is visible. This seemss to fix the problem where XEmacs
+       appears to freeze after switching desktops with certain virtual
+       window managers.
+       (debug_output_mswin_message): Added code to output message
+       parameters for WM_WINDOWPOSCHANGED, 
+       WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
+
+2002-05-25  Andy Piper  <andy@xemacs.org>
+
+       * select-x.c (vars_of_select_x): Fix docstring of
+       x-selection-strict-motif-ownership
+
+2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * keymap.c (get_keymap):
+       Add comment about do_autoload GCPROs own args.
+
+2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * bytecode.c (execute_optimized_program): check_opcode ifdef
+       ERROR_CHECK_BYTE_CODE.
+
+2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       Thanks to Ben Wing and Michael Sperber.
+
+       * eval.c (Fcommand_execute):
+       (Feval):
+       (Ffuncall):
+       (Fmacroexpand_internal):
+       (function_argcount):
+       callint.c (Fcall_interactively):
+       Add comment about do_autoload GCPROs own args.
+
+       * (do_autoload): GCPRO both args as well as local Lisp_Object.
+
+       * eval.c (Ffuncall): Extra braces to placate GCC.
+
+2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * backtrace.h (grow_specpdl):
+       (SPECPDL_RESERVE):
+       * EmacsFrame.c (EmacsFrameSetValues):
+       * eval.c (grow_specpdl):
+       * ExternalShell.c (hack_event_masks_1):
+       * glyphs-x.c (convert_EImage_to_XImage): 
+       (x_finalize_image_instance):
+       * ralloc.c (page_size):
+       (r_alloc_sbrk):
+       * xgccache.c (gc_cache_hash):
+       Fix unsigned comparison warnings.
+
+2002-07-29  Jerry James  <james@xemacs.org>
+
+       * lread.c (locate_file): Any nonnegative return value indicates
+       success if MODE is nonnegative.
+
+2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
+
+       * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
+       argument. 
+
+2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * process-unix.c (unix_send_process): #ifdef the coding_stream member.
+
+       * dumper.c (pdump_get_indirect_count):
+       (pdump_scan_by_alignment):
+       (pdump_dump_root_struct_ptrs):
+       (pdump_dump_rtables):
+       (pdump_dump_root_objects):
+       (pdump):
+       * nas.c (WaveOpenDataForReading):
+       * fns.c (print_bit_vector):
+       * font-lock.c (SINGLE_SYNTAX_STYLE):
+       * glyphs.c (check_for_ignored_expose):
+       (find_matching_subwindow):
+       * glyphs-eimage.c:
+       * imgproc.c (get_histogram):
+       * redisplay.c (point_in_line_start_cache):
+       * redisplay-output.c (redisplay_unmap_subwindows):
+       * symbols.c (defsymbol_massage_name_1):
+       (defkeyword_massage_name):
+       (deferror_massage_name_and_message):
+       * redisplay-x.c (x_output_string): 
+       * emacs.c (run_temacs_argv_size, run_temacs_args_size):
+       * frame.h (struct frame):
+       * filelock.c (current_lock_owner):
+       * doprnt.c (emacs_doprnt_1):
+       * lisp.h (struct Lisp_Bit_Vector):
+       (DO_REALLOC):
+       Fix warnings.
+
+2002-02-13  Ben Wing  <ben@xemacs.org>
+
+       * event-stream.c (reset_key_echo):
+       * event-stream.c (reset_this_command_keys):
+       * event-stream.c (execute_command_event):
+       If console is dead as a result of C-x 5 0, then post-command stuff
+       needs to be careful and do only non-console-specific stuff.
+
+2002-07-01  Mike Sperber <mike@xemacs.org>
+
+       * process-unix.c (unix_send_process): Mark coding_outstream as
+       non-open upon SIGPIPE.
+
+       * event-stream.c (Fnext_event): Reorder switch cases to something
+       that makes sense.
+
+2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
+
+       * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
+       Don't bogusly reinitialize ascii_character property.
+
+2002-07-08  Mike Sperber <mike@xemacs.org>
+
+       * process.c (Fstart_process_internal): Do error checking before we
+       fork off the child, so the child can't muck with the state of the
+       parent.
+
+2002-07-08  Mike Sperber <mike@xemacs.org>
+
+       * ralloc.c (init_ralloc): Allocate properly for pdump.
+
+2002-06-12  Andy Piper  <andy@xemacs.org>
+
+       * glyphs.c (query_string_geometry): check the string.
+
+       * glyphs-widget.c (widget_logical_unit_height): cope with nil
+       widget names.
+
+2002-06-17  Jerry James  <james@xemacs.org>
+
+       * sysdll.c: Remove RTLD_GLOBAL initialization.
+       * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
+
+2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
+
+2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
+
+       * sysdep.c (sys_rename): Make sys_rename work for the case where
+       Windows rename sets errno to EACCES if target file exists.
+
+2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
+
+       * device-msw.c (mswindows_handle_page_setup_dialog_box):
+       Fix detection of metric units to work on Win95
+
+2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
+
+2002-04-25  Andy Piper  <andy@xemacs.org>
+
+       * redisplay.c (create_text_block): Remove extra comment trailer.
+
+2002-04-24  Andy Piper  <andy@xemacs.org>
+
+       * redisplay.c (create_text_block): Don't actually add propagation
+       data if the line ends after we have added a glyph.
+
+2002-04-22  Andy Piper  <andy@xemacs.org>
+
+       * extents.c (extent_fragment_update): check for glyphs we have
+       previously displayed.
+       * extents.c (print_extent_1): warning removal.
+       * extents.h: change prototype.
+       * redisplay-output.c (redisplay_normalize_glyph_area): calculate
+       widths correctly for wide glyphs.
+       * redisplay.c (position_redisplay_data_type): add end_glyph_width.
+       * redisplay.c (prop_type): add PROP_GLYPH.
+       * redisplay.c (struct prop_block): add glyph type
+       * redisplay.c (add_glyph_rune): when adding part of a glyph add it
+       to the propagation data.
+       * redisplay.c (create_text_block): if there is a glyph in the
+       propagation data use it to salt extent_fragment_update.
+       * redisplay.c (create_string_text_block): ditto.
+
+2002-04-13  Nix  <nix@esperi.demon.co.uk>
+
+       * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
+       * redisplay-output.c (compare_runes): Compare them.
+       * redisplay.c: Update copyright date.
+       * redisplay.c (pos_data): Add need_baseline_computation field.
+       * redisplay.c (add_glyph_rune): Update ascent, descent, and
+       need_baseline_computation; zero yoffset. Set max_pixmap_height
+       for all pixmaps, not just automatically positioned ones.
+       * redisplay.c (calculate_yoffset): New, compute yoffset values.
+       * redisplay.c (calculate_baseline): New, compute textual baseline.
+       * redisplay.c (add_glyph_rune): Call them.
+       * redisplay.c (create_text_block): Likewise.
+       * redisplay.c (create_overlay_glyph_block): Likewise.
+       * redisplay.c (add_margin_runes): Likewise.
+       * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
+
+       * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
+       * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
+       * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
+       * redisplay-msw.c (mswindows_output_string): Likewise.
+       * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
+       * redisplay-gtk.c (gtk_output_display_block): Likewise.
+       * redisplay-x.c (x_output_display_block): Likewise.
+
+2002-03-28  Ben Wing  <ben@xemacs.org>
+
+       * redisplay.c: Fixed bug in redisplay
+       w.r.t. hscroll/truncation/continuation glyphs causing jumping up
+       and down of the lines, since they're bigger than the line
+       size. (It was seen most obviously when there's a horizontal scroll
+       bar, e.g. do C-h a glyph or something like that.) The problem was
+       that the glyph-contrib-p setting on glyphs was ignored even if it
+       was set properly, which it wasn't until now.
+
+2002-04-24  Andy Piper  <andy@xemacs.org>
+
+       * lisp.h (Dynarr_end): Fix definition.
+
+2002-02-06  Adrian Aichner  <adrian@xemacs.org>
+
+       * redisplay.c (mark_redisplay): Remove call to
+       update_frame_window_mirror.
+
+2001-11-15  Andy Piper  <andy@xemacs.org>
+
+       * win32.c (Fmswindows_shell_execute): fix handling of URL's under
+       cygwin (again).
+
+2002-02-13  Andy Piper  <andy@xemacs.org>
+
+       * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
+       we did in fact enqueue the XM_MAPFRAME event.
+
+2002-01-15  Adrian Aichner  <adrian@xemacs.org>
+
+       * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
+       to fix problem switching between virtual desktops under virtuawin
+       virtual window manager.
+
+2001-07-30  Adrian Aichner  <adrian@xemacs.org>
+
+       * event-msw.c: Typo fix.
+       * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
+       magic XM_MAPFRAME event has been sent.
+
+2001-11-23  Andy Piper  <andy@xemacs.org>
+
+       * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
+
+2001-11-21  Andy Piper  <andy@xemacs.org>
+
+       * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
+       mouse events outside the frame.
+
+2002-03-20  Andy Piper  <andy@xemacs.org>
+
+       * menubar-msw.c (mswindows_popup_menu): warning removal.
+       * dialog-msw.c (dialog_popped_down): ditto.
+
+2001-12-11  Andy Piper  <andy@xemacs.org>
+
+       * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
+       * dialog-msw.c (mswindows_make_dialog_box_internal): set
+       popup_up_p.
+       * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
+       * menubar-msw.c (mswindows_handle_wm_command): ditto.
+       * menubar-msw.c (mswindows_popup_menu): ditto.
+
+2001-10-29  Andy Piper  <andy@xemacs.org>
+
+       * dialog-msw.c (handle_directory_dialog_box): quit if the user
+       cancels.
+
+2002-01-03  Andy Piper  <andy@xemacs.org>
+
+       * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
+       letters.
+       (xrealpath): ditto.
+
+2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
+
+       * device-msw.c (plist_get_margin): Add arg specifying mm or inches
+       * device-msw.c (plist_set_margin): Fix multiplicand used for mm
+       * device-msw.c (mswindows_handle_page_setup_dialog_box):
+       Detect and handle case where machine is set up for metric units
+
+2002-04-02  Andy Piper  <andy@xemacs.org>
+
+       * dired-msw.c (mswindows_get_files): 
+       * nt.c (mswindows_stat): SetErrorMode() so that file errors are
+       completely handled by XEmacs. Suggested by Thomas Vogler
+       <mail@thomas-vogler.de>.
+
+2001-11-14  Andy Piper  <andy@xemacs.org>
+
+       * nt.c (REG_ROOT): change registry key to XEmacs.
+
+2002-04-27  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
+
+2002-04-26  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
+       behavior.
+
+2002-03-14  Mike Alexander  <mta@arbortext.com>
+
+       * event-msw.c (mswindows_unwait_process): New, remove process from
+       wait list
+       * process-nt.c (nt_finalize_process_data): Call
+       mswindows_unwait_process
+       * console-msw.h: Declare mswindows_unwait_process
+
+2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * editfns.c (Fdecode_time):
+       (Fformat_time_string):
+       Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
+       (make_time): Warning elimination (change arg name).
+
+2001-11-24  Andy Piper  <andy@xemacs.org>
+
+       * window.c (Fsplit_window): Doc return type.
+
+2002-04-01  Andy Piper  <andy@xemacs.org>
+
+       * emacs.c (Fkill_emacs): Only output message box in interactive
+       mode.
+
+2002-04-26  Andy Piper  <andy@xemacs.org>
+       * config.h.in: pull in 21.5.x change to stop alloca warnings under
+       cygwin.
+
+2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
+
+       * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
+       bit platform.
+
+2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.8 "Honest Recruiter" is released.
+
+2002-05-07  Nix  <nix@esperi.demon.co.uk>
+
+       Supersedes 2002-04-17 patch.
+
+       * process.h (PROCESS_LIVE_P): Use the process status as
+       evidence of health, not the state of the input stream.
+       (PROCESS_READABLE_P): Say if the process is readable
+       from. (It may be dead nonetheless.)
+       (CHECK_READABLE_PROCESS): Test for that condition.
+
+       * process.c (create_process): Use PROCESS_READABLE_P.
+       (read_process_output, set_process_filter): Likewise.
+
+       * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
+       (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
+
+       This code is #if 0'd, this is not the time to add new functions:
+
+       * process.c (Fprocess_readable_p): Report readability status.
+       * process.c (Qprocess_readable_p): New, associated symbol...
+       * process.c (syms_of_process): ... initialize it.
+
+2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.7 "Economic Science" is released.
+
+2002-04-17  Nix  <nix@esperi.demon.co.uk>
+
+       * process.h (PROCESS_LIVE_P): Use the process status as
+       evidence of health, not the state of the input stream.
+
+2002-04-30  Charles G. Waldman <cgw@xemacs.org>
+
+        * sysdep.c (sys_siglist): change "signum" to "signal"
+
+2001-04-21  Martin Buchholz  <martin@xemacs.org>
+
+       * s/darwin.h: New file.
+       Thanks to Greg Parker <gparker@cs.stanford.edu>.
+       
+2002-04-23  Andreas Jaeger  <aj@suse.de>
+
+       * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
+       which use lib64 for 64-bit libs.
+        (START_FILES): Likewise.
+
+2002-02-11  Mike Sperber  <mike@xemacs.org>
+
+       * device-x.c: 
+       (x_IO_error_handler):
+       (x_init_device): Temporarily keep device in static variable
+       `device_being_initialized' so we can recover gracefully from
+       internal XOpenDevice failure.  (XOpenDevice is documented to
+       return NULL on failure, but sometimes calls the IO error handler
+       instead.)
+
+2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
+
+       * dired.c (Ffile_name_all_completions): Change documentation --
+       remove reference to completion-ignored-extensions.
+       * dired.c (vars_of_dired): Change documentation for
+       completion-ignored-extensions -- remove reference to
+       file-name-all-completions.
+
+2002-03-06  Jerry James  <james@xemacs.org>
+
+       * emodules.c (emodules_load): Fix multiple loading of same module.
+
+2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
+       * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
+       RTLD_LAZY to avoid incorrect symbol binding when using nested
+       shared libraries on Solaris.
+
+2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * fileio.c (Ffind_file_name_handler): Improve docstring.
+
+2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * fns.c (Fmapconcat): Improve docstring.
+
+2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
+
+       * device-gtk.c: Add prototype for
+       emacs_gtk_selection_clear_event_handle.
+       (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
+       selection.  Setup signal handler for "selection_clear_event"
+       (emacs_gtk_selection_clear_event_handle).
+
+       * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
+       other applications owning the clipboard (based on
+       x_handle_selection_clear).
+
+2001-12-23  William M. Perry  <wmperry@gnu.org>
+
+       * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
+       
+2002-01-04  Martin Buchholz  <martin@xemacs.org>
+
+       * keymap.c (define_key_alternate_name): Parenthesize EQ.
+
+2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.6 "Common Lisp" is released.
+
+2001-12-16  Torsten Duwe  <duwe@caldera.de>
+
+       * search.c (Freplace_match): Add missing sub-expression functionality.
+
+       * buffer.c (decode_buffer): Add a check for pointer type to
+       decode_buffer, before gcc's CSE optimization reorders a
+       dereference in front of the allow_string test.
+
+2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
+
+       * window.c (window_loop): Fix bug that sometimes prevented
+       window_loop() from iterating across multiple devices.  Also, at
+       Ben's request, changed infloop-detecting code to abort() instead
+       of silently terminating window_loop().
+
+2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       Based on analysis and patch by Simon Josefson <jas@extundo.com>.
+       * editfns.c (make_time): New function.
+       (Fencode_time): Use it instead of wasteful_word_to_lisp.
+       * lisp.h (make_time): Prototype and comment it.
+       * dired.c (wasteful_word_to_lisp): Deprecate.
+       (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
+
+2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
+
+       * fileio.c (auto_save_1): Use current coding system, not
+       escape-quoted.
+
+2001-11-13  Ben Wing  <ben@xemacs.org>
+
+       * window.c:
+       * window.c (window_truncation_on):
+       * window.c (syms_of_window):
+       truncate-partial-width-windows should respect the buffer being
+       displayed, like other redisplay vars.
+
+2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
+
+       * event-stream.c (Fread_key_sequence): save current buffer.
+
+2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
+
+       * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
+
+2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
+
+       * alloc.c (lcrecord_stats): Add space for types defined in modules.
+
+2001-10-26  Mike Alexander  <mta@arbortext.com>
+
+       * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
+
+2001-10-25  Andy Piper  <andy@xemacs.org>
+
+       * ChangeLog:
+       * dialog-msw.c (handle_directory_proc): new function.
+        (handle_directory_dialog_box): new fucntion.
+        (handle_file_dialog_box): use new directory dialog support.
+        (mswindows_make_dialog_box_internal): ditto.
+       * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
+       handling.
+       (mswindows_find_frame): make global.
+       * fileio.c (Fexpand_file_name): build fix.
+       * general-slots.h: add Qdirectory.
+       * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
+       handling.
+       * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
+       cygwin not leaving win32 paths unchanged.
+       * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
+       cygwin runtime to do path conversion.
+       (Fmswindows_shell_execute): fix cygwin handling of URLs.
+       (syms_of_win32): add new function.
+       * window.c (window_loop): build fix.
+
+2001-10-15  Andy Piper  <andy@xemacs.org>
+
+       (Fmswindows_shell_execute): fix handling of URL's under cygwin.
+
+2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.5 "Civil Service" is released.
+
+2001-04-08  Danny Colascione  <qtmstr@optonline.net>
+
+       * glyphs-x.c: Force buffer-tab highlight update when moving the
+       buffer, avoiding an ugly black border, used for keyboard focus
+       indication, on a widget that can never have keyboard focus, the
+       buffer tab.
+
+2001-08-30  Daiki Ueno  <ueno@unixuser.org>
+
+       * process-unix.c (unix_open_multicast_group): Remove too much
+       conversion between host and network byte order.
+
+2001-09-10  Nix  <nix@esperi.demon.co.uk>
+
+       * src/buffer.c (kill_buffer): Undedicate windows showing BUF
+       before replacing them.
+
+       * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
+       operation.
+
+       * src/window.c (undedicate_windows): Use it.
+       * src/window.h: Add prototype.
+
+2001-09-17  Ben Wing  <ben@xemacs.org>
+
+       * fileio.c (normalize_filename):
+       * fileio.c (Fexpand_file_name):
+       Fix various C++ compile errors in Andy's recent code.
+       
+       * callint.c (Fcall_interactively):
+       * editfns.c (Ftemp_directory):
+       * editfns.c (Fuser_full_name):
+       * emacs.c (argmatch):
+       * lread.c (locate_file_map_suffixes):
+       * redisplay-x.c (x_ring_bell):
+       Fix sign-compare warnings.
+       
+2001-09-08  Andy Piper  <andy@xemacs.org>
+
+       * fileio.c (normalize_filename): copied from nt.c
+       * (Ffile_name_directory): enable win32 paths under cygwin.
+       * (Ffile_name_nondirectory): ditto.
+       * (directory_file_name): ditto.
+       * (Fexpand_file_name): ditto.
+       * (Ffile_truename): ditto.
+       * (Fsubstitute_in_file_name): ditto.
+       * (Ffile_name_absolute_p): ditto.
+       * (Ffile_readable_p): ditto.
+
+2001-09-08  Andy Piper  <andy@xemacs.org>
+
+       * device-msw.c (mswindows_finish_init_device): remove dde
+       initialization.
+       * device-msw.c (mswindows_init_dde): factor out from
+       mswindows_finish_init_device()
+       * device-msw.c (init_mswindows_very_early): new function
+       initialize but don't enable dde.
+       * emacs.c (main_1): call init_mswindows_very_early.
+       * event-msw.c:
+       * event-msw.c (mswindows_dde_callback): only execute when we are
+       ready.
+       * symsinit.h: declare init_mswindows_very_early.
+
+2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
+
+       [sjt: This has been in 21.5 for months with no complaints.]
+
+       * console.h (struct console_methods): Added flags member.
+       (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
+       (CONMETH_IMPL_FLAG):
+       (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
+       Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
+
+       * device.c (window_system_pixelated_geometry): Use the above macros.
+
+       * device.h (DEVICE_IMPL_FLAG): Macro to check a device
+       implememntation flag.
+       * device.h (DEVICE_DISPLAY_P): Use it.
+
+       * frame.c (delete_frame_internal): Use the above macro.
+
+       * redisplay.c (redisplay_device): Use it.
+       (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
+       (redisplay_frame): Ditto.
+
+       * device-msw.c (mswindows_device_implementation_flags): Removed.
+       (msprinter_device_implementation_flags): Removed.
+       (console_type_create_device_mswindows): Removed references to
+       implementation_flags methods, set implementation flags here.
+       (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
+
+       * device-gtk.c (gtk_device_implementation_flags): Removed method.
+       (console_type_create_device_gtk): Removed method declaration.
+       Added commented out statement which semantically matches the
+       commented out statement in the above removed method.
+
+2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
+
+       The attached patch fixes a few warnings. 
+
+       * src/emacs.c: prototype console_type_create_select_gtk for GTK only
+       * src/frame-gtk.c: guard against GNOME calls in GTK only
+       * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
+       * src/select-gtk.c: prototype lisp_to_time
+
+2001-06-08  Ben Wing  <ben@xemacs.org>
+
+       ------ gc-in-window-procedure fixes ------
+       
+       * alloc.c:
+       * alloc.c (struct post_gc_action):
+       * alloc.c (register_post_gc_action):
+       * alloc.c (run_post_gc_actions):
+       * alloc.c (garbage_collect_1):
+       Create "post-gc actions", to avoid those dreaded "GC during window
+       procedure" problems.
+
+       * event-msw.c:
+       Abort, clean and simple, when GC in window procedure.  We want
+       to flush these puppies out.
+
+       * glyphs-msw.c:
+       * glyphs-msw.c (finalize_destroy_window):
+       * glyphs-msw.c (mswindows_finalize_image_instance):
+       Use a post-gc action when destroying subwindows.
+
+       * lisp.h:
+       Declare register_post_gc_action().
+
+       * scrollbar-msw.c:
+       * scrollbar-msw.c (unshow_that_mofo):
+       Use a post-gc action when unshowing scrollbar windows, if in gc.
+
+       * redisplay.c (mark_redisplay):
+       Add comment about the utter evilness of what's going down here.
+
+       ------ cygwin setitimer fixes ------
+       
+       * Makefile.in.in (sheap_objs):
+       * Makefile.in.in (profile_objs):
+       * Makefile.in.in (objs):
+       Compile profile.c only when HAVE_SETITIMER.
+       
+       * nt.c (mswindows_sigset):
+       * nt.c (mswindows_sighold):
+       * nt.c (mswindows_sigrelse):
+       * nt.c (mswindows_sigpause):
+       * nt.c (mswindows_raise):
+       * nt.c (close_file_data):
+       Style fixes.
+       
+       * nt.c:
+       Move setitimer() emulation to win32.c, because Cygwin needs it too.
+       
+       * profile.c:
+       * profile.c (Fstart_profiling):
+       * profile.c (Fstop_profiling):
+       Make sure we don't compile if no setitimer().  Use qxe_setitimer()
+       instead of just plain setitimer().
+       
+       * signal.c:
+       * signal.c (set_one_shot_timer):
+       * signal.c (alarm):
+       Define qxe_setitimer() as an encapsulation around setitimer() --
+       call setitimer() directly unless Cygwin or MS Win, in which case
+       we use our simulated version in win32.c.
+       
+       * systime.h:
+       * systime.h (struct itimerval):
+       * systime.h (ITIMER_REAL):
+       Prototype mswindows_setitimer() and qxe_setitimer().  Long
+       comment about "qxe" and the policy regarding encapsulation.
+
+       * win32.c:
+       * win32.c (setitimer_helper_proc):
+       * win32.c (setitimer_helper_period):
+       * win32.c (setitimer_helper):
+       * win32.c (mswindows_setitimer):
+       Move setitimer() emulation here, so Cygwin can use it.
+       Rename a couple of functions and variables to be longer and more
+       descriptive.  In setitimer_helper_proc(), send the signal
+       using either mswindows_raise() or (on Cygwin) kill().  If for
+       some reason we are still getting lockups, we'll change the kill()
+       to directly invoke the signal handlers.
+
+       ------ windows shell fixes ------
+       
+       * callproc.c:
+       * ntproc.c:
+       Comments about how these two files must die.
+
+       * callproc.c (init_callproc):
+       On MS Windows, init shell-file-name from SHELL, then COMSPEC,
+       not just COMSPEC. (more correct and closer to FSF.) Don't
+       force a value for SHELL into the environment. (Comments added
+       to explain why not.)
+       
+       * nt.c (init_user_info):
+       Don't shove a fabricated SHELL into the environment.  See above.
+
+2001-06-01  Ben Wing  <ben@xemacs.org>
+
+       * Makefile.in.in (ldflags):
+       eliminate that pesky "defaulting to 00401000" warning.
+       * nt.h:
+       eliminate warnings.
+
+2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
+
+       * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
+       * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
+
+2001-04-24  Jerry James <james@xemacs.org>
+
+       * faces.h: pass parameters to Fadd_spec_to_specifier in the
+       correct order.
+
+2001-06-01  Ben Wing  <ben@xemacs.org>
+
+       * event-msw.c (debug_mswin_messages):
+       conditionalize the messages that were causing compile errors.
+       (if only macros could generate #ifdef statements ...)
+
+2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.4 "Artificial Intelligence" is released.
+
+2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
+
+2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
+       * process-unix.c (unix_canonicalize_host_name):
+       sysdep.c (init_system_name):
+       Use it to conditionally support IPv6 canonicalization.
+
+2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
+
+       * event-msw.c:
+       Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
+
+2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
+
+       * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
+       attempt is made to scroll when no scroll bar is available.
+
+2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
+
+       * input-method-motif.c (XIM_delete_frame): New callback.
+       (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
+       got deleted from 21.4.3.)
+
+2001-06-01  Ben Wing  <ben@xemacs.org>
+
+       * nt.c (mswindows_utime):
+       * nt.c (close_file_data):
+       fix off-by-one-indirection error.
+
+2001-05-29  Adrian Aichner  <adrian@xemacs.org>
+
+       * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
+       because set_file_times() now takes Lisp_Object path, instead of
+       char*.
+       * nt.c: Include buffer.h.
+       * nt.c (convert_from_time_t): New.
+       * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
+       not set mtime correctly.
+       * nt.h: Declare mswindows_utime().
+       * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
+       path, instead of char*.
+       * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
+
+2001-05-30  Ben Wing  <ben@xemacs.org>
+
+       For 21.4:
+
+       (Stephen, just take all event-msw.c patches.  This includes
+       the "iconify" fix below.)
+
+       * event-msw.c:
+       * event-msw.c (mswindows_dequeue_dispatch_event):
+       * event-msw.c (assert):
+       * event-msw.c (emacs_mswindows_quit_p):
+       * event-msw.c (debug_mswin_messages):
+       * event-msw.c (debug_output_mswin_message):
+       * event-msw.c (vars_of_event_mswindows):
+       Fix yet more problems with C-g handling.
+       Implement debug-mswindows-events.
+       
+2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
+
+       * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
+       
+2001-05-23  Ben Wing  <ben@xemacs.org>
+
+       * event-msw.c (winsock_writer):
+       * event-msw.c (winsock_closer):
+       prior kludgy code was clobbering the buffer, thinking it was
+       "unused" space to store an unneeded return value; instead, use
+       the variable we've already got staring us in the face.
+
+2001-05-17  Andy Piper  <andy@xemacs.org>
+
+       * sysfile.h: don't assume that file attributes are boolean
+
+2001-05-23  Ben Wing  <ben@xemacs.org>
+
+       * device-msw.c (msprinter_init_device):
+       signal an error rather than crash with an unavailable network
+       printer (from Mike Alexander).
+       
+       * event-msw.c:
+       * event-msw.c (struct winsock_stream):
+       * event-msw.c (winsock_writer):
+       * event-msw.c (winsock_closer):
+       * event-msw.c (make_winsock_stream_1):
+       cleanup headers.  fix (hopefully) an error with data corruption
+       when sending to a network connection.
+
+       * fileio.c (Fexpand_file_name): Fix evil code that attempts
+       to handle the ~user prefix by (a) always assuming we're referencing
+       ourselves and not even verifying the user -- hence any file with
+       a tilde as its first char is invalid! (b) if there wasn't a slash
+       following the filename, the pointer was set *past* the end of
+       file and we started reading from uninitialized memory.  Now we
+       simply treat these as files, always.
+
+       * buffer.c (common_init_complex_vars_of_buffer): comment change.
+       
+2001-05-19  Ben Wing  <ben@xemacs.org>
+
+       * eval.c: doc comment about gcpro'ing in record_unwind_protect.
+
+       * process-nt.c:
+       * process-nt.c (vars_of_process_nt):
+       remove unused mswindows-quote-process-args.  rec for 21.4.
+       
+2001-05-12  Ben Wing  <ben@xemacs.org>
+
+       * event-msw.c (mswindows_dde_callback):
+       * event-msw.c (mswindows_wnd_proc):
+       eliminate cygwin warnings.
+
+2001-05-06  Ben Wing  <ben@xemacs.org>
+
+       * console-msw.h:
+       * device-msw.c:
+       * device-msw.c (print_dialog_worker):
+       * device-msw.c (mswindows_handle_print_dialog_box):
+       * device-msw.c (syms_of_device_mswindows):
+       * dialog-msw.c (mswindows_make_dialog_box_internal):
+       * general-slots.h:
+       implement printing the selection when it's selected.
+
+2001-05-20  Drazen Kacar  <dave@arsdigita.com>
+
+       * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
+
+2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * lisp.h (EMACS_INT_MAX): This should be one bit less since
+       EMACS_INT is signed.
+
+2001-04-15  Michael Lausch  <mla@1012surf.net>
+
+       * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
+       gtk_widget_request_size() to give scrollbar >0 width for
+       GTK >1.2.8.
+
+2001-05-30  William M. Perry  <wmperry@gnu.org>
+
+       * event-gtk.c: Check for buttons as modifier keys.
+
+2001-05-25  Craig Lanning  <CraigL@Knology.net>
+
+       * s\mingw32.h:
+       Properly find MinGW's <process.h> inside Cygwin's restructured
+       include directories.  Don't try to include <cygwin/version.h>
+       since we are dropping support for MinGW in versions of Cygwin
+       earlier than b21.
+       * nt.c:
+       Drop support for MinGW in versions of Cygwin before b21.
+       * sysdep.c:
+       Properly find MinGW's <process.h> inside Cygwin's restructured
+       include directories.
+       * syswindows.h:
+       Drop support for MinGW in versions of Cygwin before b21.
+       * unexcw.c:
+       Even though a.out.h is no longer detected by configure, allow
+       MinGW to use it until we figure out how to do the job with Win32.
+
+2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
+
+       * syntax.c (find_start_of_comment):
+       Fix `unbalanced parentheses' bug when dealing with mixed comment
+       styles in c++/java/etc. mode
+
+2001-05-29  Mike Alexander  <mta@arbortext.com>
+
+       * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
+       FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
+
+2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
+
+       * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
+
+2001-03-31  Mike Sperber <mike@xemacs.org>
+
+       * search.c (Freplace_match): Support FSF-style specification of
+       match subexpression when applied to a buffer.
+
+2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
+
+       * event-stream.c (is_scrollbar_event): add missing semicolon
+
+2001-05-22  Isaac Hollander  <ysh@mindspring.com>
+
+       * Makefile.in.in: Use TAR macro instead of hardcoding
+         tar.  Allows use of GNU tar instead of system tar
+
+2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
+
+       * event-stream.c (is_scrollbar_event): add missing semicolon
+
+2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.3 "Academic Rigor" is released.
+
+2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
+
+2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * buffer.c (Vcase_fold_search): Remove obsolete
+         comment about non ASCII case-fold-search.  This
+         bug has been fixed by case-table changes.
+
+2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * event-msw.c: Restore include of events-mod.h.
+
+2001-04-22   zhaoway  <zw@debian.org>
+
+       * event-stream.c (is_scrollbar_event): Noop returning 0 if
+       !HAVE_SCROLLBARS.
+
+2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
+
+2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
+
+       * mule-charset.c (Fmake_charset): Add missing else.
+
+2001-04-23  Ben Wing  <ben@xemacs.org>
+
+       * event-msw.c (FAKE_MOD_QUIT):
+       * event-msw.c (mswindows_dequeue_dispatch_event):
+       * event-msw.c (mswindows_wnd_proc):
+       * event-msw.c (emacs_mswindows_quit_p):
+       Get critical quit working.
+
+2001-05-05  Ben Wing  <ben@xemacs.org>
+
+       * console-msw.h:
+       * device-msw.c:
+       * device-msw.c (mswindows_get_default_margin):
+       * frame-msw.c (mswindows_size_frame_internal):
+       * frame-msw.c (msprinter_init_frame_1):
+       * frame-msw.c (vars_of_frame_mswindows):
+       Change top/bottom margin defaults to 0.5 inches.
+
+2001-05-01  Martin Buchholz  <martin@xemacs.org>
+
+       Fix link error with gcc 3.0 on Linux.
+       * terminfo.c (UP): Remove.
+       * terminfo.c (BC): Remove.
+       * terminfo.c (PC): Remove.
+       They weren't used, and in any case, these symbols should be
+       defined in the *library*.
+
+2001-05-03  Martin Buchholz  <martin@xemacs.org>
+
+       * s/aix4.h: Fix crash with xlc -O3.
+       Improve comment explaining how -O3 works.
+
+2001-04-15  Ben Wing  <ben@xemacs.org>
+
+       * event-stream.c:
+       * event-stream.c (Fnext_event):
+       * event-stream.c (is_scrollbar_event):
+       * event-stream.c (execute_command_event):
+       Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
+       crash' problem.  His fix introduces other problems.  We filter
+       out scrollbar events specifically, making them somewhat invisible
+       to command-building, and not appearing in `this-command-keys'.
+       More work is still needed (see comments in event-stream.c), but
+       this fixes all the major problems.
+
+2001-04-20  Ben Wing  <ben@xemacs.org>
+
+       * .cvsignore: Added stuff for Windows.
+
+2001-04-28  Ben Wing  <ben@xemacs.org>
+
+       * buffer.c (Ferase_buffer):
+       * editfns.c (buffer_insert1):
+       * editfns.c (Finsert_before_markers):
+       * editfns.c (Finsert_string):
+       * editfns.c (Finsert_char):
+       * editfns.c (Fdelete_region):
+       * editfns.c (Fwiden):
+       * editfns.c (Fnarrow_to_region):
+       remove bogus lines setting zmacs_region_stays to 0.
+       
+2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
+
+       * process-unix.c (unix_open_network_stream): If connect() fails
+       invalidate file descriptor after closing it.
+
+2001-03-08  Mike Alexander  <mta@arbortext.com>
+
+       * event-msw.c (mswindows_need_event_in_modal_loop):
+       Don't dispatch a message if we didn't get one.
+       (mswindows_need_event):
+       Terminate the correct process when one exits instead of the first
+       one on Vprocess_list and look for process termination when in
+       mswindows_protect_modal_loop.
+
+2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.1 "Copyleft" is released.
+
+2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
+
+       * input-method-motif.c (XIM_delete_frame): New callback.
+       (XIM_init_frame): Register it.
+
+2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.4.0 "Solid Vapor" is released.
+
+2001-04-15  Ben Wing  <ben@xemacs.org>
+
+       * cmdloop.c (call_command_loop):
+       Fix braino in bit-rotting code.
+       
+2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+       * extents.c (Fset_extent_endpoints): Force creation of extent info
+       in buffer_or_string.
+
+       * extents.c (process_extents_for_insertion_mapper): Correctly
+       check for open-open zero-length extents.
+
+2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * lisp.h: New typedefs Memory_count, Element_count.
+       * regex.c:
+       * regex.h:
+       Sign-compare warning elimination: several unsigned -> signed.
+       Based on work by Ben Wing <ben@xemacs.org>.
+
+2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * XEmacs 21.2.47 "Zephir" is released.
+
+2001-04-02  Jan Vroonhof  <jan@xemacs.org>
+
+       * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
+
+2001-04-03  Mike Sperber <mike@xemacs.org>
+
+       * search.c: Revert previous patch due because of release.
+
+2001-03-30  Ben Wing  <ben@xemacs.org>
+
+       * s\cygwin32.h:
+       Add missing killpg prototype.
+
+       * elhash.c:
+       Add a comment about fixing problems when a new entry is added
+       while mapping.
+
+       * frame-msw.c (mswindows_init_frame_1):
+       Fix compile warnings.
+
+       * menubar.c (vars_of_menubar):
+       Provide `menu-accelerator-support' to indicate that we properly
+       support %_ in menu specifications, so that package code can
+       conditionalize on this (and remove %_ from menu specifications
+       on older versions).
+
+       * event-msw.c:
+       * scrollbar-msw.c:
+       * scrollbar-msw.c (can_scroll):
+       * scrollbar-msw.h:
+       Fix handling of mouse wheel under Windows to follow standards --
+       now scrolls window under pointer, not selected window.
+
+2001-03-31  Mike Sperber <mike@xemacs.org>
+
+       * search.c (Freplace_match): Support FSF-style specification of
+       match subexpression when applied to a buffer.
+
+2001-03-15  Martin Buchholz  <martin@xemacs.org>
+
+       * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
+       function to modify KEYMAP, so map over a copy of the hash table.
+
+2001-03-21  Martin Buchholz <martin@xemacs.org>
+
+       * XEmacs 21.2.46 "Urania" is released.
+
+2001-03-20  Dan Holmsand  <dan@eyebee.com>
+
+       * realpath.c (xrealpath): Make file-truename work with symlinks to
+       /cygdrive paths on cygwin. Always lowercase drive-letters on
+       native windows.
+       (cygwin_readlink): Don't try to find canonical filename unless
+       file exists.
+
+2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * ChangeLog: Log GTK merge.
+
+       * dumper.c:
+       * select-x.c:
+       * specifier.c:
+       * symeval.h:
+       Revert gratuitous whitespace changes from GTK merge.
+
+       * emacs.c: Document end of complex #ifdef @ l. 1495.
+
+
+2001-03-12  Andy Piper  <andy@xemacs.org>
+
+       * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
+       have to do likewise.
+
+2001-03-12  Andy Piper  <andy@xemacs.org>
+
+       * sysdep.c: we only support mingw now.
+
+2001-03-09  Andy Piper  <andy@xemacs.org>
+
+       * unexcw.c (copy_executable_and_dump_data_section): making approx
+       overrun a warning only.
+
+2001-03-10  William M. Perry  <wmperry@aventail.com>
+
+       * faces.c (complex_vars_of_faces): Rewrote the font mucking to
+       satisfy Stephen's identical-after-cpp plea.
+
+2001-03-02  Ben Wing  <ben@xemacs.org>
+
+       * cmds.c:
+       * cmds.c (Fforward_char):
+       * syntax.c:
+       * window.c:
+
+       Augment documentation of the most common motion commands to make
+       note of the shifted-motion support.
+       
+2001-03-02  Ben Wing  <ben@xemacs.org>
+
+       * nt.c (mswindows_fstat):
+       * nt.c (mswindows_stat):
+       * search.c (boyer_moore):
+       Fix compile warnings under Windows.
+       
+       * sysdep.c (sys_readdir):
+       Fix buggy filename-conversion code under Mule.
+
+2001-03-09  William M. Perry  <wmperry@aventail.com>
+
+       * Makefile.in.in:
+       * config.h.in:
+       * console.c:
+       * console.h:
+       * device.c:
+       * device.h:
+       * dragdrop.c:
+       * emacs.c:
+       * event-stream.c:
+       * events.c:
+       * events.h:
+       * faces.c:
+       * frame.h:
+       * general-slots.h:
+       * glyphs.c:
+       * gutter.c:
+       * inline.c:
+       * lisp.h:
+       * lrecord.h:
+       * make-src-depend:
+       * redisplay-output.c:
+       * redisplay.c:
+       * symsinit.h:
+       * sysfile.h:
+       * toolbar.c:
+       * window.c:
+       The Great GTK Merge.
+
+       * ChangeLog.GTK:
+       * console-gtk.c:
+       * console-gtk.h:
+       * device-gtk.c:
+       * emacs-marshals.c:
+       * emacs-widget-accessors.c:
+       * event-gtk.c:
+       * frame-gtk.c:
+       * gccache-gtk.c:
+       * gccache-gtk.h:
+       * glade.c:
+       * glyphs-gtk.c:
+       * glyphs-gtk.h:
+       * gtk-glue.c:
+       * gtk-xemacs.c:
+       * gtk-xemacs.h:
+       * gui-gtk.c:
+       * gui-gtk.h:
+       * menubar-gtk.c:
+       * native-gtk-toolbar.c:
+       * objects-gtk.c:
+       * objects-gtk.h:
+       * redisplay-gtk.c:
+       * scrollbar-gtk.c:
+       * scrollbar-gtk.h:
+       * select-gtk.c:
+       * toolbar-gtk.c:
+       * ui-byhand.c:
+       * ui-gtk.c:
+       * ui-gtk.h:
+       The Great GTK Merge: new files.
+
+2001-02-26  Ben Wing  <ben@xemacs.org>
+
+       Reapplied Lstream change.
+
+2001-02-26  Ben Wing  <ben@xemacs.org>
+
+       Undid the last change, since it is more controversial than I
+       thought.  It should be back in at some point soon.
+       
+2001-02-25  Ben Wing  <ben@xemacs.org>
+
+       * buffer.c:
+       * callproc.c (Fold_call_process_internal):
+       * event-msw.c (ntpipe_slurp_reader):
+       * event-msw.c (ntpipe_shove_writer):
+       * event-msw.c (winsock_reader):
+       * event-msw.c (winsock_writer):
+       * file-coding.c:
+       * file-coding.c (detect_eol_type):
+       * file-coding.c (detect_coding_type):
+       * file-coding.c (determine_real_coding_system):
+       * file-coding.c (Fdetect_coding_region):
+       * file-coding.c (decoding_reader):
+       * file-coding.c (decoding_writer):
+       * file-coding.c (mule_decode):
+       * file-coding.c (Fdecode_coding_region):
+       * file-coding.c (encoding_reader):
+       * file-coding.c (encoding_writer):
+       * file-coding.c (mule_encode):
+       * file-coding.c (Fencode_coding_region):
+       * file-coding.c (detect_coding_sjis):
+       * file-coding.c (decode_coding_sjis):
+       * file-coding.c (encode_coding_sjis):
+       * file-coding.c (detect_coding_big5):
+       * file-coding.c (decode_coding_big5):
+       * file-coding.c (encode_coding_big5):
+       * file-coding.c (detect_coding_ucs4):
+       * file-coding.c (decode_coding_ucs4):
+       * file-coding.c (encode_coding_ucs4):
+       * file-coding.c (detect_coding_utf8):
+       * file-coding.c (decode_coding_utf8):
+       * file-coding.c (encode_coding_utf8):
+       * file-coding.c (detect_coding_iso2022):
+       * file-coding.c (decode_coding_iso2022):
+       * file-coding.c (encode_coding_iso2022):
+       * file-coding.c (decode_coding_no_conversion):
+       * file-coding.c (encode_coding_no_conversion):
+       * glyphs-x.c (write_lisp_string_to_temp_file):
+       * gpmevent.c (tty_get_foreign_selection):
+       * lisp.h:
+       * lstream.c:
+       * lstream.c (Lstream_flush_out):
+       * lstream.c (Lstream_adding):
+       * lstream.c (Lstream_write_1):
+       * lstream.c (Lstream_write):
+       * lstream.c (Lstream_raw_read):
+       * lstream.c (Lstream_read_more):
+       * lstream.c (Lstream_read):
+       * lstream.c (Lstream_unread):
+       * lstream.c (Lstream_fputc):
+       * lstream.c (stdio_reader):
+       * lstream.c (stdio_writer):
+       * lstream.c (filedesc_reader):
+       * lstream.c (filedesc_writer):
+       * lstream.c (lisp_string_reader):
+       * lstream.c (struct fixed_buffer_stream):
+       * lstream.c (make_fixed_buffer_input_stream):
+       * lstream.c (make_fixed_buffer_output_stream):
+       * lstream.c (fixed_buffer_reader):
+       * lstream.c (fixed_buffer_writer):
+       * lstream.c (struct resizing_buffer_stream):
+       * lstream.c (resizing_buffer_writer):
+       * lstream.c (dynarr_writer):
+       * lstream.c (lisp_buffer_reader):
+       * lstream.c (lisp_buffer_writer):
+       * lstream.h:
+       * lstream.h (lstream_implementation):
+       * lstream.h (struct lstream):
+       * md5.c (Fmd5):
+       * process-nt.c (nt_send_process):
+       * process-unix.c (unix_send_process):
+       
+       Correct Lstream lossage due to mixing of signed and unsigned
+       quantities.  All Lstream uses of size_t and ssize_t are now a
+       single signed data type Lstream_data_count.  This fixes problems
+       under Windows with sending large quantities of data to a process,
+       and may well fix other subtle bugs.
+
+2001-02-23  Martin Buchholz <martin@xemacs.org>
+
+       * XEmacs 21.2.45 "Thelxepeia" is released.
+
+2001-02-21  Martin Buchholz  <martin@xemacs.org>
+
+       * lisp-union.h (XSETINT): 
+       (XSETCHAR):
+       (XSETOBJ): 
+       Reverse previous change of 2001-02-06.
+
+2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
+
+       Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
+       buffers.
+       * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
+       * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
+       Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
+       * regex.c (POS_AS_IN_BUFFER): removed
+       * regex.c (re_search_2):
+       * regex.c (re_match_2):
+       Don't use an offset of 1 when calculating buffer positions, since
+       `BI_BUF_BEGV' does it already.
+
+2001-02-18  Wim Dumon  <wim@easics.be>
+
+       * insdel.c (prepare_to_modify_buffer): Also check for
+       supersession when clash-detection is enabled. 
+
+2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
+
+       * regex.c (re_match_2_internal):
+       Convert temp characters from 'const unsigned char' to 're_char'.
+       Fix crashing bug with extended characters under mule.
+       * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
+       syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
+       font-lock, pdump, and new syntax-table code.
+       * syntax.c (find_start_of_comment):
+       (find_end_of_comment):
+       (forward-comment):
+       Fix crashing bugs involving moving beyond end of buffer.
+       * syntax.c (find_start_of_comment):
+       Fixed logic to allow proper detection of cases where the same
+       character is used to end both a two-char comment start and a
+       two-char comment end sequence. Fixes `(forward-comment -1)'.
+       * syntax.c (find_start_of_comment):
+       Return position just past last comment-end character for all cases
+       (previously was only done for two-char comment-end sequences).
+       * syntax.c (forward-comment):
+       Take value returned from `find_end_of_comment', rather than
+       incrementing it.
+       * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
+       Properly deal with BUFFERP (syntax_cache.object)
+
+2001-02-17  Martin Buchholz  <martin@xemacs.org>
+
+       * alloc.c (Fgarbage_collect): 
+       * alloc.c (make_bit_vector_from_byte_vector):
+       -Wsign-compare-correctness.
+
+2001-02-16  Martin Buchholz  <martin@xemacs.org>
+
+       * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
+       (XSETCHAR): Likewise.
+       (XSETOBJ): Likewise.
+
+2001-02-15  Martin Buchholz  <martin@xemacs.org>
+
+       * mule-canna.c (canna-func-delete_previous): 
+       Rename to canna-func-delete-previous.
+
+2001-02-14  Martin Buchholz  <martin@xemacs.org>
+
+       * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
+
+2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
+
+       * font-lock.c (find_context): Fix C++ compile errors introduced by
+       recent patch
+
+2001-02-13  Martin Buchholz  <martin@xemacs.org>
+
+       * s/aix4.h: Later versions of IBM C compiler need a bug workaround
+       pragma, but earlier ones barf on the same pragma.
+
+2001-02-06  Mike Sperber <mike@xemacs.org>
+
+       * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
+       `configure-mule-lisp-directory'.
+
+2001-02-12  Martin Buchholz  <martin@xemacs.org>
+
+       Make sure dump-id.c is compiled in the same way as other .c's.
+       Fixes pdump compilation failure with HP's cc, which defaults to K&R.
+       * dump-id.h: Remove.
+       * emacs.c: Move dump-id.h into dumper.h.
+       * dumper.h: Move dump-id.h into dumper.h.
+       * Makefile.in.in:
+       Use standard .c.o rule for building dump-id.o.
+       Remove preprocessor flags from link command.
+       Add dump-id.o to ${otherobjs} if PDUMP.
+
+2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
+
+       Port FSF 20.7 syntax table improvements.
+       * syntax.c.
+       * syntax.h.
+
+       Fixups for new syntax table stuff.
+       * dired.c: Include syntax.c.
+       (Fdirectory_files): Initialize regex_match_object and
+       regex_emacs_buffer.
+       * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
+       and Fget_char_property.
+
+       Use ported FSF 20.7 syntax table improvements.
+       * font-lock.c.
+       * regex.c.
+       * search.c.
+       
+2001-02-09  Martin Buchholz  <martin@xemacs.org>
+
+       * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
+       Unixware's enum boolean from sys/types.h.
+
+2001-02-10  Martin Buchholz  <martin@xemacs.org>
+
+       Fix support for building with latest Purify.
+       * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
+       (PURIFY_FLAGS): Likewise.
+
+2001-02-09  Martin Buchholz  <martin@xemacs.org>
+
+       * fileio.c (lisp_string_set_file_times): New.
+       * fileio.c (Fcopy_file): Use it.
+       Fixes bug:
+       (copy-file filename non-ascii-filename t t)
+       ==> No such file or directory, non-ascii-filename
+
+2001-02-10  Martin Buchholz  <martin@xemacs.org>
+
+       * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
+       USHRT_MAX seems clearer than ~0 anyways.
+
+2001-02-09  Martin Buchholz  <martin@xemacs.org>
+
+       dumper improvements.  Inspired by Olivier.
+       * dumper.c (pdump_max_align): New.
+       * dumper.c (pdump_add_entry): Use pdump_max_align.
+       * dumper.c (pdump_get_entry_list): Likewise.
+       * dumper.c (pdump_scan_by_alignment): Likewise.
+       Don't iterate through unnecessary alignments.
+       * dumper.c (pdump_file_get): No need to align result of malloc().
+       * dumper.c (pdump_mallocadr): Remove.  
+       The result of malloc() is guaranteed to be maximally aligned.
+       * dumper.c: s/elmt/elt/g;
+       * dumper.c (pdump_object_table): Allocate dynamically, not statically.
+       * dumper.c (pdump_alert_undump_object): Likewise.
+       * dumper.c (pdump_align_table): 
+       Don't support alignments > 64.
+       Store ALIGNOF's, not shift counts, in table.
+
+2001-02-09  Martin Buchholz  <martin@xemacs.org>
+
+       * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
+       * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
+       * systime.h: Use HAVE_UTIME.
+       * sysdep.c (struct utimbuf): Remove.
+       * sysdep.c (set_file_times): Prefer utime() to utimes().
+       * config.h.in (HAVE_UTIME): New.
+       * config.h.in (HAVE_UTIME_H): Remove.
+       * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
+
+2001-02-09  Martin Buchholz  <martin@xemacs.org>
+
+       * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
+
+2001-02-08  Martin Buchholz  <martin@xemacs.org>
+
+       * s/irix6-0.h: Use the standard system memmove, not bcopy.
+
+2001-02-08  Martin Buchholz <martin@xemacs.org>
+
+       * XEmacs 21.2.44 "Thalia" is released.
+
+2001-02-06  Martin Buchholz  <martin@xemacs.org>
+
+       Fixes crashes in kill-emacs on some systems.
+       * process-unix.c (unix_kill_child_process):
+       It's OK for kill() to fail with ESRCH.
+
+2001-02-07  Martin Buchholz  <martin@xemacs.org>
+
+       Contortions to make .gdbinit tricks work on most systems.
+       * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
+       * alloc.c (dbg_valmask): Make non-const.
+       * alloc.c (dbg_typemask): Make non-const.
+       * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
+       * alloc.c (dbg_valbits): Make non-const.
+       * alloc.c (dbg_gctypebits): Make non-const.
+       * .gdbinit (decode_object): Make it work with AIX cc.
+
+2001-02-06  Martin Buchholz  <martin@xemacs.org>
+
+       * elhash.c (make_general_lisp_hash_table):
+       Use simpler and more efficient calloc to clear entries.
+
+2001-02-07  Martin Buchholz  <martin@xemacs.org>
+
+       * window.c (window_scroll): Work around an AIX C compiler bug.
+       Fixes 'scroll-up' does nothing problem with xlC.
+
+2001-02-05  Martin Buchholz  <martin@xemacs.org>
+
+       * .gdbinit: Remove obsolete comment.
+
+2001-01-31  Mike Alexander  <mta@arbortext.com>
+
+       * select.c (Fown_selection_internal): Set owned_p for device
+       method correctly.
+
+2001-02-01  Martin Buchholz  <martin@xemacs.org>
+
+       Port to g++ 2.97.
+       "not" cannot be used as a macro name as it is an operator in C++
+       * config.h.in: Stop #defining `not'.
+       * chartab.c (check_category_char): not ==> not_p
+       * chartab.h: Likewise.
+       * regex.c (re_match_2_internal): Likewise.
+
+2001-02-02  Martin Buchholz  <martin@xemacs.org>
+
+       * lisp-disunion.h: Fix up comments.
+
+2001-01-31  Martin Buchholz  <martin@xemacs.org>
+
+       * keymap.c (define_key_check_and_coerce_keysym):
+       (syms_of_keymap):
+       Support mouse-6 and mouse-7 bindings in the obvious way.
+
+2001-02-01  Martin Buchholz  <martin@xemacs.org>
+
+       * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
+
+2001-01-30  Martin Buchholz  <martin@xemacs.org>
+
+       Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
+       Previous patch missed DEFVAR_INT_MAGIC.
+       Make sure future DEFVAR_foo use correct types.
+       * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
+       * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
+       * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
+       * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
+       * (DEFVAR_INT): Likewise.
+       * redisplay.c (vertical_clip): Should be of type Fixnum.
+       * redisplay.c (horizontal_clip): Likewise.
+       * lisp.h (dump_add_opaque_int): New.
+       (dump_add_opaque_fixnum): New.
+
+2001-01-29  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-widget.c (check_valid_int_or_function): allow symbols
+       since they can be eval'ed
+
+2001-01-29  Martin Buchholz  <martin@xemacs.org>
+
+       * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
+       Oops, XEmacs redefines `class'.  Use `typename' instead.
+
+2001-01-28  Martin Buchholz  <martin@xemacs.org>
+
+       * dumper.c: Fix C++ compile errors.
+
+2001-01-29  Martin Buchholz  <martin@xemacs.org>
+
+       * tparam.c: Use correct prototypes.
+
+2001-01-28  Martin Buchholz  <martin@xemacs.org>
+
+       * sysproc.h: #include util.h for NetBSD's openpty.
+
+2001-01-27  Martin Buchholz  <martin@xemacs.org>
+
+       More 64-bit correctness.
+       The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
+       Use a typedef `fixnum' for the type used for DEFVAR_INT.
+       Fix up comments.
+       This finally finishes the 64-bit SGI port.
+       Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
+       * symbols.c: Fix up comments and type casts.
+       * symbols.c (do_symval_forwarding): s/int/Fixnum/g
+       * symbols.c (store_symval_forwarding): s/int/Fixnum/g
+       * symeval.h (Fixnum): New type.
+       * symeval.h (symbol_value_type): Fix up comment.
+
+       * commands.h:
+       * nt.c:
+       * emacs.c:
+       * data.c:
+       * redisplay.c:
+       * abbrev.c:
+       * dired-msw.c:
+       * event-Xt.c:
+       * eldap.c:
+       * window.c:
+       * sound.c:
+       * event-stream.c:
+       * eval.c:
+       * buffer.c:
+       * mule-canna.c: A million DEFVAR_INTs here...
+       * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
+       * extents.c:
+       * cmdloop.c:
+       * lisp.h:
+       * select-x.c:
+       * console-x.h:
+       * event-msw.c:
+       * mule-wnnfns.c:
+       * hpplay.c:
+       * ralloc.c:
+       * alloc.c:
+       * keymap.c:
+       * profile.c:
+       s/int/Fixnum/g in DEFVAR_INT declarations.
+
+2001-01-26  Martin Buchholz  <martin@xemacs.org>
+
+       Port pdump to SGI alignment-sensitive environment.
+       Lisp Object sizeof methods now return aligned sizes.  Rely on that.
+       Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
+       properly aligned.
+       Define and use aligned reading and writing macros.
+       Use buffered stdio instead of posix i/o for faster dumping.
+       Eliminate kludgy 256 byte space for header.
+       Read and write from dump file using structs for alignment safety.
+       * dumper.c (pdump_align_stream): New.
+       * dumper.c (PDUMP_ALIGN_OUTPUT): New.
+       * dumper.c (PDUMP_READ_ALIGNED): New.
+       * dumper.c (PDUMP_WRITE_ALIGNED): New.
+       * dumper.c (pdump_static_Lisp_Object): New struct.
+       * dumper.c (pdump_static_pointer): New struct.
+       * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
+       * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
+       * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
+       * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
+
+       * dumper.c (pdump_backtrace):
+       * dumper.c (pdump_get_indirect_count):
+       * dumper.c (pdump_register_object):
+       * dumper.c (pdump_register_struct):
+       * dumper.c (pdump_reloc_one):
+       * dumper.c (pdump_scan_by_alignment):
+       * dumper.c (pdump_dump_from_root_struct_ptrs):
+       * dumper.c (pdump_dump_opaques):
+       * dumper.c (pdump_dump_rtables):
+       * dumper.c (pdump_dump_from_root_objects):
+       * dumper.c (pdump):
+       * dumper.c (pdump_load_finish):
+       Use aligned reading and writing.
+
+       * dumper.c (pdump_free): Make static.
+       * dumper.c (pdump_hFile): Likewise.
+       * dumper.c (pdump_hMap): Likewise.
+
+2001-01-26  Martin Buchholz <martin@xemacs.org>
+
+       * XEmacs 21.2.43 "Terspichore" is released.
+
+2001-01-25  Martin Buchholz  <martin@xemacs.org>
+
+       Type fiddling for window_config.saved_windows_count
+       * window.c (struct window_config): 
+       Make saved_windows_count member unsigned.
+       * window.c (sizeof_window_config_for_n_windows): 
+       Make parameter unsigned.
+       * window.c (mark_window_config):
+       * window.c (window_config_equal):
+       * window.c (free_window_configuration):
+       * window.c (Fset_window_configuration):
+       * window.c (count_windows):
+       * window.c (Fcurrent_window_configuration):
+       * window.c (reinit_vars_of_window):
+       Update all callers and users.
+
+2001-01-25  Martin Buchholz  <martin@xemacs.org>
+
+       Alignment correctness for flexible arrays.
+       * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
+       Make alignment-correct. Add interesting comments.
+       * alloc.c (size_vector):
+       * alloc.c (make_vector_internal):
+       * alloc.c (make_bit_vector_internal):
+       * alloc.c (sweep_bit_vectors_1):
+       * fns.c (size_bit_vector):
+       Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
+       * window.c (sizeof_window_config_for_n_windows): 
+       Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
+
+2001-01-24  Martin Buchholz  <martin@xemacs.org>
+
+       * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
+
+2001-01-23  Andy Piper  <andy@xemacs.org>
+
+       * select.c (Fown_selection_internal): pass owned_p
+
+       * select-msw.c (mswindows_own_selection): New Signature.
+
+       * console.h (struct console_methods): add owned_p to
+       _own_selection.
+
+       * select-x.c (x_own_selection): pass owned_p
+       (hack_motif_clipboard_selection): use owned_p
+       (vars_of_select_x): new variable -
+       x_selection_strict_motif_ownership.
+
+2001-01-23  Martin Buchholz  <martin@xemacs.org>
+
+       * specifier.h (specifier_data_offset): Remove pointless parens.
+       * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
+
+2001-01-24  Martin Buchholz  <martin@xemacs.org>
+
+       Make Lisp_Object sizeof methods be alignment-correct.
+       pdump must restore objects to the same alignment as the C compiler
+       assumes.  It really matters on SGIs.
+       * lstream.c (aligned_sizeof_lstream): New.
+       (sizeof_lstream): Use aligned_sizeof_lstream.
+       (Lstream_new): Likewise.
+       * opaque.c (aligned_sizeof_opaque): New.
+       (sizeof_opaque): Use aligned_sizeof_opaque.
+       (make_opaque): Likewise.
+       * specifier.c (aligned_sizeof_specifier): New.
+       (sizeof_specifier): Use aligned_sizeof_specifier.
+       (make_specifier_internal): Likewise.
+
+2001-01-23  Martin Buchholz  <martin@xemacs.org>
+
+       * lstream.h (struct lstream): Use max_align_t for trailing data.
+       * specifier.h (struct Lisp_Specifier): Likewise.
+
+2001-01-22  Martin Buchholz  <martin@xemacs.org>
+
+       * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
+       (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
+       (CCL_SUSPEND): Likewise.
+       (CCL_INVALID_CMD): Likewise.
+       (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
+       (ccl_driver): Likewise.
+       (CCL_WRITE_CHAR): Macro hygiene.
+       (CCL_WRITE_STRING): Macro hygiene.
+
+2001-01-22  Martin Buchholz  <martin@xemacs.org>
+
+       Port "portable" dumper to SunOS 4 and HP-UX.
+       * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
+       * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
+       * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
+
+2001-01-22  Martin Buchholz  <martin@xemacs.org>
+
+       * lisp.h (ALIGNOF): A better definition for C++.
+
+2001-01-20  Martin Buchholz  <martin@xemacs.org>
+
+       Macro hygiene.
+       Fix printf warnings: int format, long int arg.
+       * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
+       (PUSH_FAILURE_POINT): Use correct printf formats.
+       (POP_FAILURE_POINT): Use correct printf formats.  
+       Use do {...} while (0)
+
+2001-01-20  Martin Buchholz <martin@xemacs.org>
+
+       * XEmacs 21.2.42 "Poseidon" is released.
+
+2001-01-20  Martin Buchholz  <martin@xemacs.org>
+
+       * console-x.h: typo fix du jour.  Remove #if 0'ed code.
+
+2001-01-19  Martin Buchholz  <martin@xemacs.org>
+
+       De-kludgify FIXED_TYPE free list frobbing.
+       Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
+       * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
+       * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
+       * alloc.c (Lisp_Free): New pseudo lisp object definition.
+       * alloc.c (LRECORD_FREE_P): New.
+       * alloc.c (MARK_LRECORD_AS_FREE): New.
+       * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
+       * alloc.c (STRUCT_FREE_P): Deleted.
+       * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
+       * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
+       * alloc.c (STRING_CHARS_FREE_P): New.
+       * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
+       * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
+       * alloc.c (FREE_FIXED_TYPE): Use new definitions.
+       * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
+       * alloc.c (resize_string): Use new definitions.
+       * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
+       * alloc.c (verify_string_chars_integrity): Use new definitions.
+       * alloc.c (compact_string_chars): Use new definitions.
+       * alloc.c: Update monster comments.
+       * lrecord.h (lrecord_type): Add some new lrecord types for
+       alloc.c's use.
+
+2001-01-18  Martin Buchholz  <martin@xemacs.org>
+
+       Improve alignment hackery.
+       * lisp.h (ALIGNOF): Better definition for the non-gcc case.
+       (max_align_t): Moved from opaque.h - general purpose.
+       (ALIGN_PTR): Use size_t, not long.
+       * opaque.h (max_align_t): Move to lisp.h.
+
+2001-01-18  Norbert Koch  <nk@LF.net>
+
+       * gui.h: Fix and add prototypes to fix build problems.
+
+2001-01-18  Martin Buchholz  <martin@xemacs.org>
+
+       temacs is going away, so `dump-temacs' is now a bad name.
+       * .dbxrc (dump-temacs): Rename to `dmp'.
+       * .gdbinit (dump-temacs): Rename to `dmp'.
+
+2001-01-17  Andy Piper  <andy@xemacs.org>
+
+       * glyphs.c (print_image_instance): comment to make martin happy.
+
+       * glyphs-x.c (x_redisplay_widget): update faces after a frame
+       change.
+
+       * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
+       activation.
+       (mswindows_tab_control_redisplay): warning suppression.
+
+       * glyphs-widget.c (widget_update): re-write to cope with updated
+       items.
+       (widget_instantiate): use new gui_item functions.
+       (tab_control_update): deleted.
+       (progress_gauge_update): deleted.
+       (image_instantiator_progress_guage): take out update reference.
+       (image_instantiator_tree_view): ditto.
+       (image_instantiator_tab_control): ditto.
+
+       * gui.c (widget_gui_parse_item_keywords): new function. Do things
+       Right the new way.
+       (gui_item_add_keyval_pair): re-write to cope with descriptors and
+       return whether anything was changed.
+       (update_gui_item_keywords): as it sounds.
+
+       * gui.h: declare widget_gui_parse_item_keywords.
+
+       * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
+       (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
+
+2001-01-17  Martin Buchholz <martin@xemacs.org>
+
+       * XEmacs 21.2.41 "Polyhymnia" is released.
+
+2001-01-16  Didier Verna  <didier@xemacs.org>
+
+       * glyphs.c (image_instantiate): don't use fallbacks when
+       instantiating a face's background pixmap by inheritance.
+
+2001-01-14  Mike Sperber <mike@xemacs.org>
+
+       * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
+       Conditionalize accordingly.
+
+2001-01-16  Martin Buchholz  <martin@xemacs.org>
+
+       * dumper.c (pdump_file_get): Fix a compiler warning.
+
+2001-01-15  Martin Buchholz  <martin@xemacs.org>
+
+       Make Purify happy when pdumping.
+       * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
+       iniitalizing all bits of new lisp object memory.
+       * symbols.c (Fmake_local_variable): Likewise.
+       * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
+       * symbols.c (Fdefvaralias): Likewise.
+       * mule-charset.c (vars_of_mule_charset): Likewise.
+
+2001-01-15  Martin Buchholz  <martin@xemacs.org>
+       Add the `-nd' flag when running pre-dump operations under the debugger.
+       * .dbxrc (run-temacs): Add `-nd'.
+       * .dbxrc (update-elc): Likewise.
+       * .dbxrc (dump-temacs): Likewise.
+       * .gdbinit (run-temacs): Likewise.
+       * .gdbinit (check-temacs): Likewise.
+       * .gdbinit (update-elc): Likewise.
+       * .gdbinit (dump-temacs): Likewise.
+
+2001-01-14  Martin Buchholz  <martin@xemacs.org>
+
+       Allow building 64-bit executables on AIX with GNU malloc, e.g.
+       export OBJECT_MODE=64
+       configure --pdump --use-union-type=no
+       * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
+       * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
+
+       * miscplay.c (sndcnv8U_2mono):
+       Avoid two uses of `++' in the same expression.
+       Suppresses a GCC warning.
+
+2001-01-13  Martin Buchholz  <martin@xemacs.org>
+
+       Make sure future compilers don't miscompile alloc.c.
+       * alloc.c:
+       (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
+       (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
+
+2001-01-12  Martin Buchholz  <martin@xemacs.org>
+
+       * dumper.c: A little post-pdump-rename comment fixup.
+
+2001-01-09  Jerry James  <james@eecs.ku.edu>
+
+       * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
+
+2001-01-13  Martin Buchholz  <martin@xemacs.org>
+
+       * *.[ch]: Globally rename symbols using the following `pdump-rename'
+       script:
+       #!/bin/sh
+       replace_symbol () {
+         (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
+       }
+
+       replace_symbol pdump_wire_lists pdump_weak_object_chains
+       replace_symbol pdump_wire_list dump_add_weak_object_chain
+
+       replace_symbol pdump_wires pdump_root_objects
+       replace_symbol pdump_wire dump_add_root_object
+
+       replace_symbol pdump_dump_wired pdump_dump_from_root_objects
+       replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
+
+       replace_symbol dumpstructinfos pdump_root_struct_ptrs
+       replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
+       replace_symbol dumpstructinfo pdump_root_struct_ptr
+       replace_symbol dumpstruct dump_add_root_struct_ptr
+
+       replace_symbol dumpopaque dump_add_opaque
+       replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
+       replace_symbol dumpopaqueinfos pdump_opaques
+       replace_symbol dumpopaqueinfo pdump_opaque
+
+       replace_symbol nb_structdump nb_root_struct_ptrs
+       replace_symbol nb_opaquedump nb_opaques
+
+       replace_symbol align_table pdump_align_table
+       replace_symbol dump_header pdump_header
+
+       replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
+       replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
+
+
+2001-01-12  Martin Buchholz  <martin@xemacs.org>
+
+       * s/aix4.h: Keep the C for AIX compiler from overaggressively
+       optimizing bytecount_to_charcount().
+
+2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
+
+       * config.h.in:
+       (HAVE_DLFCN_H): Removed.
+       * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
+
+2001-01-06  Martin Buchholz  <martin@xemacs.org>
+
+       Portable dumper maintainability improvements.
+       * alloc.c (staticpro):
+       * alloc.c (staticpro_nodump):
+       * alloc.c (garbage_collect_1):
+       * alloc.c (reinit_alloc_once_early):
+       * alloc.c (init_alloc_once_early):
+       * alloc.c: Move dumper functions to alloc.c.
+       * dumper.c (pdump_backtrace):
+       * dumper.c (pdump_dump_structs):
+       * dumper.c (pdump_dump_opaques):
+       * dumper.c (pdump_dump_rtables):
+       * dumper.c (pdump_dump_wired):
+       * dumper.c (pdump):
+       * dumper.c (pdump_load_check):
+       * dumper.c (pdump_load_finish):
+       * dumper.c (pdump_file_unmap):
+       * dumper.c (pdump_file_get):
+       * dumper.c (pdump_resource_free):
+       * dumper.c (pdump_resource_get):
+       * dumper.c (pdump_file_free):
+       * dumper.c (pdump_file_try):
+       * dumper.c (pdump_load):
+       Remove fixed size limits on staticpro(), staticpro_nodump(),
+       dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
+       Remove custom code for dumping lrecord_implementations_table - use
+       dumpopaque instead.
+       Remove (most of the) custom code for dumping staticpros - dump it
+       like any other dynarr.
+
+       * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
+       * dumper.c: Moved functions from alloc.c.
+       * alloc.c (dumpstruct): Moved to dumper.c.
+       * alloc.c (dumpopaque): Likewise.
+       * alloc.c (pdump_wire): Likewise.
+       * alloc.c (pdump_wire_list): Likewise.
+
+       * lisp.h (Dynarr_sizeof): New.
+       * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
+       * lisp.h (Dynarr_end): New.  Very slightly C++oid.
+       * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
+
+       * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
+       * lisp.h (dumpopaque): ditto.
+       * lisp.h (pdump_wire): ditto.
+       * lisp.h (pdump_wire_list): ditto.
+
+2001-01-09  Martin Buchholz  <martin@xemacs.org>
+
+       * make-src-depend (PrintPatternDeps):
+       Use `sort' to make output independent of perl version.
+
+2001-01-08  Martin Buchholz  <martin@xemacs.org>
+
+       Port to Netbsd 1.5.
+       * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
+       * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
+
+2001-01-03  Didier Verna  <didier@xemacs.org>
+
+       * event-stream.c (emacs_handle_focus_change_preliminary): ensure
+       that `focus_frame' is alive before thinking of calling
+       `redisplay_redraw_cursor' on it.
+
+2001-01-08  Martin Buchholz <martin@xemacs.org>
+
+       * XEmacs 21.2.40 is released.
+
+2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
+
+       * regex.c: Replace PREFETCH with REGEX_PREFETCH.
+
+2001-01-06  Martin Buchholz  <martin@xemacs.org>
+
+       * alloc.c (dbg_valmask): Make const.
+       * alloc.c (dbg_typemask): Make const.
+       * alloc.c (dbg_USE_UNION_TYPE): Make const.
+       * alloc.c (dbg_valbits): Make const.
+       * alloc.c (dbg_gctypebits): Make const.
+
+2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * redisplay-x.c (x_bevel_area):
+       redisplay.h (struct rune):
+       Typo fixes in comments.
+
+2001-01-05  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-x.c (x_redisplay_widget): use size changed for offset
+       adjustment.
+
+       * menubar.c (menubar_visible_p_changed): don't mark frame changed.
+
+2001-01-05  Martin Buchholz  <martin@xemacs.org>
+
+       * alloc.c (pure-bytes-used): Remove unused mendacious variable.
+
+       * mule-ccl.c (stack_idx_of_map_multiple):
+       Non const global data must not be initialized!
+       Found by MIYASHITA Hisashi.
+
+2001-01-02  Andy Piper  <andy@xemacs.org>
+
+       * frame.c (change_frame_size): make sure frame size is always
+       marked as changed.
+
+       * glyphs.c (image_instance_layout): minor code reuse.
+
+       * window.c (Fcurrent_window_configuration): revert previous
+       change.
+
+2001-01-02  Martin Buchholz  <martin@xemacs.org>
+
+       * glyphs.h:
+       * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
+
+2000-12-31  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
+       when widget gets unmapped.
+
+       * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
+       function. Make sure widgets losing focus don't just drop it.
+       (handle_focus_event_1): record the widget with focus.
+
+2000-12-31  Andy Piper  <andy@xemacs.org>
+
+       * window.c (allocate_window): use
+       make_image_instance_cache_hash_table.
+       (make_dummy_parent): ditto.
+       (Fset_window_configuration): ditto.
+
+       * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
+
+       * glyphs.c (process_image_string_instantiator): use
+       INSTANTIATOR_TYPE.
+       (get_image_instantiator_governing_domain): ditto.
+       (normalize_image_instantiator): ditto.
+       (instantiate_image_instantiator): ditto.
+       (make_image_instance_1): ditto.
+       (image_instantiate): ditto. Key on glyph *and* instantiator type.
+       (instantiator_eq_equal): new function for use with instance hash
+       tables.
+       (instantiator_eq_hash): ditto.
+       (make_image_instance_cache_hash_table): create a suitable hash
+       table for storing image instances.
+
+       * elhash.h (hash_table_weakness): new internal weakness type
+       HASH_TABLE_KEY_CAR_VALUE_WEAK.
+       declare new functions.
+
+       * elhash.c (finish_marking_weak_hash_tables): introduce yet
+       another weakness type for glyphs.
+       (make_standard_lisp_hash_table): new function split out from
+       make_general_lisp_hash_table.
+       (make_lisp_hash_table): call make_standard_lisp_hash_table.
+       (hash_table_instantiate): ditto.
+       (Fmake_hash_table): ditto.
+
+2000-12-31  Martin Buchholz <martin@xemacs.org>
+
+       * XEmacs 21.2.39 is released.
+
+2000-12-29  Andy Piper  <andy@xemacs.org>
+
+       * menubar.c (menubar_visible_p_changed): signal the frame changed.
+
+       * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
+       the frame has changed so that we pick up geometry changes such as
+       menubar visibility.
+
+2000-12-28  Andy Piper  <andy@xemacs.org>
+
+       * lastfile.c (my_ebss): make a char array so we can pad the
+       bss. Fixes cygwin unexec.
+
+       * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
+
+2000-12-26  Andy Piper  <andy@xemacs.org>
+
+       * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
+       comments and try and be more precise about a non-/SIGIO world.
+       (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
+       SIGIO.
+
+       * redisplay-output.c (redisplay_normalize_glyph_area): make sure
+       we don't normalize to zero width or height.
+
+2000-12-24  Andy Piper  <andy@xemacs.org>
+
+       * Makefile.in.in (ldflags): add -mwindows when appropriate.
+
+2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
+
+       * s/sco5.h: SCO 5 has pty support.
+
+2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
+
+       * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
+       input-method-xlib.c contains whole contents of input-method-xfs.c,
+       so we can use input-method-xlib.c's code for USE_XFONTSET
+       using #ifdefs.
+       * input-method-xfs.c: removed.
+
+2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
+
+       * file-coding.h (enum coding_category_type): reorder enumerators to
+       make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
+       (now one greater than largest real coding_category_type enumerator).
+       * file-coding.c (coding_category_symbol, coding_category_by_priority,
+       coding_category_system, fcd_descriptihon_1, decode_coding_category,
+       Fcoding_category_list, Fset_coding_priority_list,
+       Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
+       vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
+
+2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
+       * redisplay-output.c (redisplay_output_window): Clear top of window
+       when face is changed.
+       * redisplay-x.c (x_redraw_exposed_window): Call
+       redisplay_clear_top_of_window.
+       * redisplay.h: Publish redisplay_clear_top_of_window.
+
+2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * buffer.c (Fkill_buffer): Map over all devices.
+       * window.c (window_loop): Remove UNSHOW_BUFFER code.
+       (list_windows): New function.
+       (list_all_windows): Ditto.
+       (Freplace_buffer_in_windows): Use them.
+
+2000-02-02   Daiki Ueno        <ueno@ueda.info.waseda.ac.jp>
+
+       * database.c (berkdb_subtype): Recognize new subtype `queue'.
+       (Fopen_database): Use `db_create' instead of `db_open'.
+       (syms_of_database): Initialize Qqueue.
+
+2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * buffer.c (common_init_complex_vars_of_buffer): Initialize
+       buffer_local_face_property.
+       * buffer.h (struct buffer): New member buffer_local_face_property.
+       * window.c (Fset_window_buffer):  Mark window's face as changed
+       when buffer has buffer local face.
+       * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
+       * objects.c (color_after_change): Set buffer_local_face_property
+       when locale of face specifier is buffer.
+       * objects.c (font_after_change): Ditto.
+       * objects.c (face_boolean_after_change): Ditto.
+       * glyphs.c (image_after_change): Ditto.
+
+2000-12-09  Dan Holmsand  <dan@eyebee.com>
+
+       * nt.c (mswindows_fstat): Report file permissions, volume serial
+       number, etc. Code adapted from FSF Emacs 20.7.
+
+2000-12-09  Dan Holmsand  <dan@eyebee.com>
+
+       * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
+       of stat when we don't have symbolic links, to make sure
+       mswindows_stat is called on mswindows.
+
+2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * alloca.c: Define malloc to xmalloc only when built with XEmacs.
+
+2000-12-12  Martin Buchholz  <martin@xemacs.org>
+
+       * doprnt.c (emacs_doprnt_1): More printing fixes.
+       Make printing of numbers compatible with libc and FSF Emacs.
+       BUG was: (format "%6.3f" 1.2) ==>"1.200000"
+       Use the system printf to do most of the hard work of formatting,
+       instead of doprnt_1().
+       Calculate memory to allocate for format string.
+       Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
+       (doprnt_1): Cleaner code and documentation.
+
+2000-12-01  Jerry James  <james@eecs.ukans.edu>
+
+       * Makefile.in.in: Use the loop variable to install headers.
+
+2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * window.c (Fsplit_window): Don't invalidate face cache.
+
+2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * minibuf.c (Fall_completions): Undo the previous change
+       which removed checking elements start with space.
+
+2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
+
+       * mule-canna.c: Didier suppression.
+
+2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
+
+       * mule-canna.c: rename static unsigned char buf[] to key_buffer
+       (warning suppression).  Add English comment translations.
+
+2000-12-05  Martin Buchholz  <martin@xemacs.org>
+
+       * unexelfsgi.c (unexec): Better test for mmap failure.
+
+2000-12-05  Martin Buchholz <martin@xemacs.org>
+
+       * XEmacs 21.2.38 is released.
+
+2000-12-05  Martin Buchholz  <martin@xemacs.org>
+
+       * redisplay.c (bar-cursor): Make a user variable.
+
+       * symsinit.h: Add init_postgresql_from_environment.
+
+2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * regex.c: Convert to clean C.
+
+2000-12-05  Dan Holmsand  <dan@eyebee.com>
+
+       * realpath.c:
+       Don't #include sysfile.h. Revert to duplicating PATH_MAX
+       initialization.
+       (sys_readlink): renamed to system_readlink to avoid conflict with
+       the other sys_readlink.
+
+2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
+
+       * dumper.c (pdump_file_get): Correct uses of pdump_fd.
+
+2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * postgresql.c (init_postgresql_from_environment): new function.
+       (vars_of_postgresql): Move code initializing Lisp variables out and
+       into init_postgresql_from_environment.
+       emacs.c (main_1): Call init_postgresql_from_environment if and only
+       if running a dumped XEmacs.
+
+2000-08-31  Dan Holmsand  <dan@eyebee.com>
+
+       * buffer.c: Make find-file-compare-truenames default to true on
+       windows.
+
+       * realpath.c (win32_abs_start):
+       (cygwin_readlink):
+       (win32_readlink): New functions.
+       (xrealpath): Return really real filenames on windows.
+
+       * fileio.c (Ffile_truename): Make file-truename work on windows.
+
+2000-11-29  Didier Verna  <didier@xemacs.org>
+
+       * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
+       * faces.c (update_face_cachel_data): use it.
+       * faces.c (add_face_cachel): use it. Complete background pixmap
+       frobbing in face cache if `update_face_cachel_data' has not done so.
+
+2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * search.c (string_match_1): Don't set last_thing_searched
+       when search failed.
+
+2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * buffer.c: Include casetab.h
+       (common_init_complex_vars_of_buffer): Use new case-table object.
+       * buffer.h: Include casetab.h
+       * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
+       (DOWNCASE_TABLE_OF): Ditto.
+       * bufslots.h: Remove char-tables and add case-table.
+       * casetab.c: Include casetab.h
+       (CASE_TABLE_P): Removed.
+       (mark_case_table): New function.
+       (allocate_case_table): New function.
+       (Fcase_table_p): Use new case-table.
+       (case_table_char): New function.
+       (Fget_case_table): Ditto.
+       (Fput_case_table): Ditto.
+       (Fput_case_table_pair): Ditto.
+       (Fcopy_case_table): Ditto.
+       (Fcurrent_case_table): Return case-table.
+       (Fstandard_case_table): Return case-table.
+       (Fset_case_table): Fix doc-string.
+       (set_case_table): Use case-table
+       (syms_of_casetab): DEFSUBR new functions.
+       (complex_vars_of_casetab): Set up standard case-table.
+       * casetab.h: New file.
+       * editfns.c: Include casetab.h
+       (Fcompare_buffer_substrings): Use case-table.
+       * inline.c: Include casetab.h
+       * lisp.h: Remove bogus extern.
+       * lrecord.h (lrecord_type): Add lrecord_type_case_table.
+       * search.c: Include casetab.h
+       (TRANSLATE_ASCII): Removed.
+       (TRANSLATE): Unconditionally translate character.
+       (looking_at_1): Use case-table.
+       (string_match_1): Ditto.
+       (fast_string_match): Ditto.
+       (search_command): Ditto.
+       (search_buffer): Separate boyer_moore.  Check whether
+       boyer_moore is possible.
+       (simple_search): New function.
+       (boyer_moore): Separated from search_buffer. Translate char.
+
+2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * regex.c (RE_TR_ASCII): Removed.
+       (RE_TRANSLATE): Unconditionally use TRT_TABLE.
+       (PATFETCH): Call PATFETCH_RAW.
+       (PATFETCH_RAW): Fetch Emchar.
+       (PATUNFETCH): Decrement charptr.
+       (GET_BUFFER_SPACE): Rename b to buf_end.
+       (BUF_PUSH): Ditto.
+       (BUF_PUSH_2): Ditto.
+       (BUF_PUSH_3): Ditto.
+       (EXTEND_BUFFER): Ditto.
+       (SET_LIST_BIT): Ditto.
+       (regex_compile): Ditto.  Translate non ASCII char.
+       (compile_range): Ditto.
+       (re_search_2): Ditto.
+       (re_match_2_internal): Compare Emchar.
+       (bcmp_translate): Ditto.
+
+2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
+
+       * lisp.h (basic char/int typedefs):  comment improvement.
+
+2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
+
+       * emacs.c (main_1):  unconditional pdump unstomping; don't save and
+       unstomp inhibit_site_lisp.  Improve comments.
+
+2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
+
+       * mule-charset.c (Fcharset_property):  improve type checking, comments.
+
+2000-11-28  Andy Piper  <andy@xemacs.org>
+
+       * redisplay-output.c (redisplay_output_subwindow): make sure we do
+       clipped display for windows in the gutter also.
+       (redisplay_display_boxes_in_window_p): change semantics of return
+       codes to be more intuitive.
+
+       * gutter.h: declare display_boxes_in_gutter_p.
+
+       * gutter.c (display_boxes_in_gutter_p): new function for
+       redisplay.
+
+2000-11-22  Andy Piper  <andy@xemacs.org>
+
+       * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
+       autodetect domain.
+
+2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * callproc.c (Fold_call_process_internal):
+       * gpm.c (Freceive_gpm_event):
+       (tty_get_foreign_selection): Might be just warning supression.
+       * fileio.c (Fwrite_region_internal):
+       (Fset_visited_file_modtime):
+       * keymap.c (event_matches_key_specifier_p):
+       Initialize GCPROed variable.
+
+       * menubar-x.c (command_builder_find_menu_accelerator):
+       Initialize before use.
+
+2000-11-23  Andy Piper  <andy@xemacs.org>
+
+       * unexcw.c (unexec): make the resulting executable executable.
+
+2000-11-21  Martin Buchholz  <martin@xemacs.org>
+
+       * doc.c (get_doc_string):
+       Use size_t, not int, for result of XSTRING_LENGTH.
+
+       * cmds.c (Fdelete_char):
+       * cmds.c (Fpoint_at_eol):
+       * cmds.c (Fself_insert_command):
+       Use EMACS_INT, not int, for result of XINT.
+       Someday, someone will want to insert more than 2**31 identical characters.
+
+       * cmds.c (Fdelete_char):
+       * cmds.c (Fdelete_backward_char):
+       * syntax.c (Fforward_word):
+       * syntax.c (Fforward_comment):
+       Make COUNT argument optional, for consistency with forward-char et al.
+
+2000-11-22  Martin Buchholz  <martin@xemacs.org>
+
+       * lisp.h:
+       * print.c (long_to_string):
+       Return a useful value: the pointer at end of data written.
+
+       * doprnt.c:
+       Use `static const char * const' for constant strings.
+       (union printf_arg): Delete `i', `ui' members.
+       (get_doprnt_args):
+       (emacs_doprnt_1):
+       Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
+       Do all printf-ing via the `l' specifier.
+       Use EMACS_INT instead of int.
+       Optimize.
+
+2000-11-20  Didier Verna  <didier@xemacs.org>
+
+       * faces.c (update_face_cachel_data): don't frob the background
+       pixmap when the window is being created. The face is needed but
+       does not exist yet.
+
+2000-11-20  Andy Piper  <andy@xemacs.org>
+
+       * unexcw.c (copy_executable_and_dump_data_section): Only do bss
+       messing with a debug environment.
+
+2000-11-20  Martin Buchholz  <martin@xemacs.org>
+
+       * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
+
+2000-11-20  Martin Buchholz  <martin@xemacs.org>
+
+       * casetab.c (Fcase_table_p): Fix compile error and crash.
+
+2000-11-18  Philip Aston  <philipa@mail.com>
+
+       * s/cygwin32.h: Cygwin has SVR4-like pty support.
+
+2000-11-18  Martin Buchholz  <martin@xemacs.org>
+
+       * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
+       * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
+
+2000-11-17  Martin Buchholz  <martin@xemacs.org>
+
+       * config.h.in: Define HAVE_ELF_H if elf.h exists.
+       * unexelf.c: Use HAVE_ELF_H.
+       * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
+       I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
+       Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
+       Greg Harrington <greg_harrington@hotmail.com> provided a machine
+       for testing.
+       So this is an unexelfsgi.c from a different line of development.
+
+2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * regex.c (RE_TR_ASCII): New function.
+       (RE_TRANSLATE): Call it.
+
+2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * buffer.h (TRT_TABLE_OF): Remove assert.
+       (IN_TRT_TABLE_DOMAIN): Removed.
+
+2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
+
+       * free-hook.c (log_gcpro):
+       (show_gcprohist): Add support for GCPRO5.
+
+2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
+
+       * emacs.c (main_1): Improve -sd error message when --pdump=no.
+
+2000-11-16  Olivier Galibert  <galibert@xemacs.org>
+
+       * symeval.h: Declare flush_all_buffer_local_cache.
+
+       * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
+       (flush_buffer_local_cache): Added.
+       (flush_all_buffer_local_cache): Added.
+
+       * lrecord.h: Remove unused XD_LO_RESET_NIL.
+
+       * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
+       (pdump_dump_data): Ditto.
+       (pdump_reloc_one): Ditto.
+       (pdump): Remove unused pdump_qnil.  Flush buffer local caches
+       before dumping.
+
+
+2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * buffer.c: Remove if 0'ed entry.
+       * buffer.h: Rewrite TRT to use char-table.
+       * bufslots.h: Remove mirror tables.
+       * casetab.c: Remove mirror tables.
+       (CASE_TABLE_P): New macro.
+       (Fcase_table_p): Element of a case table is string or char-table.
+       (make_mirror_trt_table): Removed.
+       (set_case_table): Setup char-table from strings for backward
+       compatibility.
+       * dired.c (Fdirectory_files):
+       * dired-msw.c: (mswindows_get_files):
+       * lisp.h: Change prototype of re_pattern_buffer.
+       * regex.c: (RE_TRANSLATE): New macro.
+       (TRANSLATE_P): Ditto.
+       Change translate to type RE_TRANSLATE_TYPE.
+       * regex.h: Define RE_TRANSLATE_TYPE
+       * search.c (TRANSLATE): New macro.
+       (TRANSLATE_ASCII): New macro.
+       Translate table is changed to Lisp_Object.
+       (signal_failure): Inhibit return.
+
+2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
+
+       * device-msw.c:
+       * eldap.c:
+       * event-Xt.c:
+       * event-stream.c:
+       * print.c:
+       Do UNGCPRO before return.
+
 2000-11-14  Martin Buchholz <martin@xemacs.org>
 
        * XEmacs 21.2.37 is released.
        (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>
        * minibuf.c (Fall_completions):
        Delete old non-functional code for FSF fourth argument.
 
-       * frame.c (frame_matches_frame_spec): 
+       * frame.c (frame_matches_frame_spec):
        Renamed from `frame_matches_frametype'.  Update all callers.
-       (device_matches_device_spec): 
+       (device_matches_device_spec):
        Renamed from 'device_matches_console_spec'.  Update all callers.
 
        * doc.c (Fsubstitute_command_keys):
        * casetab.c (check_case_table): Simpler code.
 
        * window.c (Freplace_buffer_in_windows):
-       Give this the same WHICH-FRAMES and WHICH-DEVICES parameters 
+       Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
        (and similar implementation) as Fdelete_windows_on.
        Update all callers.
 
 
        * sgiplay.c (play_internal): C++ compilability.
        * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
-       * callproc.c (Fold_call_process_internal): 
+       * callproc.c (Fold_call_process_internal):
        Remove unused vars `env', `first'.
-       * scrollbar.c (update_scrollbar_instance): 
+       * 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): 
+       * specifier.c (specifier_instance):
        #### unused var `tag'.
        Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
 
 2000-10-17  Martin Buchholz  <martin@xemacs.org>
 
        * miscplay.c (sndcnv8S_2mono):
-       (sndcnv2monounsigned): 
-       (sndcnvULaw_2linear): 
-       (sndcnv16swap): 
+       (sndcnv2monounsigned):
+       (sndcnvULaw_2linear):
+       (sndcnv16swap):
        Remove implementation-defined behavior.
 
 2000-10-12  Martin Buchholz  <martin@xemacs.org>
        (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): 
+       (CHARSET_BY_LEADING_BYTE):
+       (CHARSET_BY_ATTRIBUTES):
        Always use inline function.
        Use type_checking_assert.
        Hide chlook.
        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): 
+       (Lstream_get_emchar_1):
        Replace over-clever fall-through switch with a simple loop.
 
        * menubar-x.c (menu_item_descriptor_to_widget_value_1):
        * 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: 
+       * sysproc.h:
+       * config.h.in:
        Use stropts.h, not sys/stropts.h.
        Use strtio.h, not sys/strtio.h.
 
        called_from_delete_device bogus arg, and hence, remove this
        function.  Just use other_visible_frames().
 
-       * window.c (Fnext_window): 
+       * 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.  
+       (Fprevious_window):
+       Prettify docstring.
        Make code look more like Fnext_window.
        (window_loop):
        Respect the `console' arg when iterating through windows.
@@ -1007,7 +9691,7 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        Warning fix.
        Avoid buffer overrun on very long file name.
 
-       * input-method-xlib.c (XIM_init_device): 
+       * input-method-xlib.c (XIM_init_device):
        6th parameter of XRegisterIMInstantiateCallback has different
        pointer types on different OSes, so simply cast to (void *).
 
@@ -1018,7 +9702,7 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        Simply return NULL for compatibility with dlopen.
        * sysdll.c: Conform to XEmacs coding standards.
 
-       * sysdep.c (get_pty_max_bytes): 
+       * 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>
@@ -1122,7 +9806,7 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * data.c (indirect_function):
        Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
 
-       * eval.c (function_argcount): 
+       * eval.c (function_argcount):
        Use original function when signaling errors.
 
 2000-08-18  Andy Piper  <andy@xemacs.org>
@@ -1199,7 +9883,7 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        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.
@@ -1217,14 +9901,14 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
 
 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
 
-        * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
-        color if the image is a mono pixmap.
+       * 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:
@@ -1236,18 +9920,18 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        (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):
@@ -1264,7 +9948,7 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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):
@@ -1273,7 +9957,7 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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):
@@ -1284,17 +9968,17 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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):
@@ -1305,10 +9989,10 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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):
@@ -1333,7 +10017,7 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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):
@@ -1343,24 +10027,24 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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):
@@ -1383,7 +10067,7 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        (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):
@@ -1401,40 +10085,40 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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):
@@ -1445,7 +10129,7 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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):
@@ -1453,11 +10137,11 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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):
@@ -1466,35 +10150,35 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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.
 
@@ -1503,16 +10187,16 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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): 
+       * 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_type_last_built_in_type.
        (lrecord_implementations_table): changed prototype to know how
-       long the array is supposed to be. 
+       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):
@@ -1544,14 +10228,14 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
 
 2000-08-03  Martin Buchholz  <martin@xemacs.org>
 
-       * callproc.c (Fcall_process_internal): 
-       (Fcall_process_internal): 
+       * 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): 
+       * elhash.c (print_hash_table):
        Fix printing of hash tables to also use `key-and-value' instead of `t'.
        Prettify docstrings and indentation.
 
@@ -1605,7 +10289,7 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
 
        * 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.
@@ -1685,7 +10369,7 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
 
        * window.c (Fset_window_configuration): add comment.
 
-       * redisplay-output.c (compare_runes): 
+       * redisplay-output.c (compare_runes):
        (redisplay_output_subwindow): redisplay rather than update subwindow.
        (redisplay_output_layout): ditto.
 
@@ -1789,687 +10473,687 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        (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-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.
 
-       * glyphs-eimage.c (jpeg_normalize):
-       (gif_normalize):
-       (png_normalize):
-       (tiff_normalize): add dest_mask so that it can be proprogated by
-       layout_normalize.
+       * 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.
 
-       * 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..
+       * 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.
 
-       * console.h (struct console_methods): move update_* to
-       redisplay_*.
+       * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
 
-2000-07-20  Ben Wing  <ben@xemacs.org>
+       * events.c:
+       * events.c (Fmake_event):
+       * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
+       [1].
+       [9].
 
-       * *.[ch] (XSETOBJ): remove unused middle argument.
-       lisp-disunion.h: correct wrap_object() to one argument.
-       
-2000-07-15  Ben Wing  <ben@xemacs.org>
+       * events.c (format_event_object): fix gcc warnings.
 
-        * 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.
+       * events.c (Fevent_timestamp): Document new primitives.
 
-        * s/windowsnt.h: [5].
+       * events.c (TIMESTAMP_HALFSPACE): New.
 
-2000-07-15  Ben Wing  <ben@xemacs.org>
+       * events.c (Fevent_timestamp_lessp): New.  New primitive for
+       comparing timestamps correctly (half-space algorithm).
 
-       * 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.
+       * 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.
 
-        * alloc.c (syms_of_alloc):
-        [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
+       * events.h:
+       Update long comment for button modifiers, timestamps.
 
-        * buffer.c:
-        Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
+       * events.h (struct event_stream):
+       New current_event_timestamp method.
 
-        * buffer.c (Fget_file_buffer):
-        Fixed GCPRO problem.
+       * 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].
 
-        * buffer.c (get_truename_buffer):
-        Fixed comment about GC checking.
+       * 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'.
 
-        * 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.
+       * extents.c (get_text_property_bytind):
+       extent_at_bytind has another arg.
+       [9].
 
-        * bufslots.h:
-        Remove dedicated-frame; in lisp.
+       * extents.c (syms_of_extents): New primitive.
 
-        * bytecode.c (funcall_compiled_function):
-        [1].
+       * file-coding.c (Fmake_coding_system): [1].
+       * file-coding.c (subsidiary_coding_system): fix gcc warning
+       * file-coding.c (syms_of_file_coding): [2].
 
-        * bytecode.c (syms_of_bytecode):
-        [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.
 
-        * console-msw.c:
-        * console-msw.c (mswindows_show_console): Rewrote.
+       * 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].
 
-        * console-msw.c (Fmswindows_debugging_output): New.
-        Sends to OutputDebugString (special MSWin debugger interface).
+       * frame-msw.c (mswindows_init_frame_1):
+       * frame-msw.c (mswindows_delete_frame):
+       Register popups with dialog code so keyboard traversing works.
 
-        * console-msw.c (Fmswindows_message_box):
-        Fixed stupid bugs so it works when called from kill-emacs.
+       * frame-tty.c (tty_raise_frame_no_select): [1].
 
-        * console-msw.c (syms_of_console_mswindows):
-        Declare Fmswindows_debugging_output.
+       * 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].
 
-        * console-msw.h:
-        New MSWin prototypes.
+       * frame.c:
+       * frame.c (Fmouse_pixel_position): Minor doc fixes.
 
-        * console-msw.h (struct mswindows_frame):
-        New entry last-click-mods for improved button-modifier support.
+       * frame.h (wrap_frame): New.
+       Macro like wrap_device.
 
-        * console-msw.h (FRAME_MSWINDOWS_POPUP):
-        New struct entry `popup' with corresponding accessor.
+       * 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.
 
-        * 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];
+       * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
+       * glyphs-msw.c (mswindows_resource_instantiate): [5].
 
-        * 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.
+       * glyphs-msw.c (mswindows_native_layout_instantiate):
+       Add DS_CONTROL so keyboard traversal will work.
 
-        * 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.
+       * glyphs-widget.c:
+       * glyphs-widget.c (syms_of_glyphs_widget):
+       Move some symbols to general-slots.h.
 
-        * console.h (struct console_methods):
-        New method make_dialog_box_internal supersedes older
-        popup_dialog_box method.
+       * 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].
 
-        * data.c:
-        Define many new errors, part of new structured errors.
+       * glyphs.c (syms_of_glyphs):
+       [2].
 
-        * data.c (init_errors_once_early):
-        * data.c (syms_of_data):
-        [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].
 
-        * device-msw.c (mswindows_init_device):
-        [[[5]]]: Cleanup to support NT 3.51.
+       * gui-x.h:
+       Muleize, prototype changes matching gui-x.c.
 
-        * device-msw.c (decode_devmode): Cleanup.
+       * 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].
 
-        * 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.
+       * insdel.c (get_buffer_pos_char):
+       * insdel.c (get_buffer_range_char):
+       Add GC comments.
 
-        * 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).
+       * 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.
 
-        * 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.
+       * 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:
+       * 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.
+       * 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 (Fadd_tooltalk_message_arg):
+       * tooltalk.c (Fadd_tooltalk_pattern_attribute):
+       * tooltalk.c (Fadd_tooltalk_pattern_arg):
+       [7].
 
-        * tooltalk.c (syms_of_tooltalk):
-        [2].
+       * tooltalk.c (syms_of_tooltalk):
+       [2].
 
-        * unexnt.c:
-        * unexnt.c (unexec):
-        Fix up headers, declaration of unexec() to be more standard.
+       * unexnt.c:
+       * unexnt.c (unexec):
+       Fix up headers, declaration of unexec() to be more standard.
 
 2000-07-20  Martin Buchholz  <martin@xemacs.org>
 
@@ -2485,8 +11169,8 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        (msprinter_canonicalize_device_connection): Added.
 
        * device-msw.c (msprinter_default_printer):
-       (Fmswingows_get_default_printer): 
-       (signal_enum_priner_error): 
+       (Fmswingows_get_default_printer):
+       (signal_enum_priner_error):
        (Fmswingows_printer_list): Added.
 
 2000-07-19  Martin Buchholz <martin@xemacs.org>
@@ -2495,7 +11179,7 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
 
 2000-07-19  Martin Buchholz  <martin@xemacs.org>
 
-       * select-x.c (x_handle_selection_request): 
+       * select-x.c (x_handle_selection_request):
        Text selected in xemacs and pasted into xterm failed to appear.
        Spelling fixes and cosmetic changes.
 
@@ -2594,17 +11278,17 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
 
        * 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.
 
@@ -2626,7 +11310,7 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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.
@@ -2635,7 +11319,7 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
 
        * 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.
@@ -2702,8 +11386,8 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        default minibuffer frame on a printer device.
 
        * frame-msw.c (apply_dc_geometry): Added.
-       (msprinter_start_page): 
-       (msprinter_init_frame_3): 
+       (msprinter_start_page):
+       (msprinter_init_frame_3):
        (msprinter_eject_page): Use it.
 
        * console-msw.h (struct msprinter_frame): Added pix_left and top,
@@ -2723,7 +11407,7 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
 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.
 
@@ -2761,49 +11445,49 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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.
+       * 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.
+       * 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:
+       * 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.
+       (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
+       * 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.
+       (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. 
+       (Lisp_Devmode): Added lrecord declaration.
        (struct msprinter_device): Contain devmode as a Lisp object.
        Added mswindows_get_selected_frame_hwnd();
 
@@ -2812,27 +11496,27 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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): 
+       (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): 
+       (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): 
+       (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.
 
@@ -2843,9 +11527,9 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
 
        * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
        (msprinter_init_frame_3):
-       (msprinter_frame_property): 
+       (msprinter_frame_property):
        (msprinter_internal_frame_property_p):
-       (msprinter_frame_properties): 
+       (msprinter_frame_properties):
        (msprinter_set_frame_properties): Removed 'orientation and 'duplex
        print job properties (will move to device settings).
 
@@ -2894,13 +11578,13 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
 
 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.
+       (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>
 
@@ -2953,26 +11637,26 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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.
@@ -2985,21 +11669,21 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
 
        * 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):
@@ -3018,11 +11702,11 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
 
        * 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):
@@ -3035,18 +11719,18 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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):
@@ -3054,31 +11738,31 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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):
@@ -3087,20 +11771,20 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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):
@@ -3117,63 +11801,63 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        [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):
@@ -3181,70 +11865,70 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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]. 
-       
+       [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):
@@ -3260,58 +11944,58 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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
@@ -3327,13 +12011,13 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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):
@@ -3352,7 +12036,7 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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,
@@ -3386,32 +12070,32 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
 
 2000-05-30  Andy Piper  <andy@xemacs.org>
 
-       * window.c (allocate_window): 
-       (make_dummy_parent): 
+       * window.c (allocate_window):
+       (make_dummy_parent):
        (Fset_window_configuration): use new hashtable type.
 
-       * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY): 
-       (struct image_instantiator_methods): 
+       * 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): 
+       * 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): 
+       * 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>
@@ -3512,7 +12196,7 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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):
@@ -3526,14 +12210,14 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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.
 
@@ -3564,16 +12248,16 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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):
@@ -3581,10 +12265,10 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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):
@@ -3592,32 +12276,32 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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):
@@ -3656,13 +12340,13 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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):
@@ -3670,18 +12354,18 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * print.c (stdout_out):
        use console under mswin when no standard output.
        don't do code conversion during fatal error.
-       
+
        * scrollbar.c (Fscrollbar_page_up):
        * scrollbar.c (Fscrollbar_page_down):
        fix missing else.  reindent.
 
 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
 
-       Emergency fix.  
-       
-       * glyphs.h (GLYPH_CACHEL_DESCENT): 
-       (GLYPH_CACHEL_DESCENT): 
-       (GLYPH_CACHEL_DESCENT): 
+       Emergency fix.
+
+       * glyphs.h (GLYPH_CACHEL_DESCENT):
+       (GLYPH_CACHEL_DESCENT):
+       (GLYPH_CACHEL_DESCENT):
        * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
        used in case these are inline functions.
        Use more absurd values to error check.
@@ -3701,15 +12385,15 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        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):
@@ -3718,7 +12402,7 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        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.
 
@@ -3727,7 +12411,7 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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>
 
@@ -3750,14 +12434,14 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
 
        * 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):
@@ -3769,7 +12453,7 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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):
@@ -3805,12 +12489,12 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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):
@@ -3820,16 +12504,16 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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):
@@ -3840,7 +12524,7 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        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):
@@ -3848,11 +12532,11 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        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
@@ -3887,8 +12571,8 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
 
        Patch by Bill Perry.
-       
-       * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call 
+
+       * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
        back data instead of #ifdef.
        (Fscrollbar_page_down): ditto.
 
@@ -3896,7 +12580,7 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
 
        * buffer.h:
        Kludge for defining Qmswindows_tstr.
-       
+
        * nt.c:
        * nt.c (open_input_file):
        * nt.c (open_output_file):
@@ -3906,11 +12590,11 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        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):
@@ -3918,7 +12602,7 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        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.
@@ -3944,14 +12628,14 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        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.
@@ -4064,7 +12748,7 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        (XIMAGE_INSTANCE_DISPLAY_X):
        (XIMAGE_INSTANCE_DISPLAY_Y):
        (XIMAGE_INSTANCE_DISPLAY_WIDTH):
-       (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.  
+       (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
        remove subwindow_cachel structure and function references.
        (image_instance_type_to_mask): inline from glyphs.c
 
@@ -4113,7 +12797,7 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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
@@ -4149,7 +12833,7 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        (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):
@@ -4352,27 +13036,27 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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):
@@ -4385,14 +13069,14 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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):
@@ -4402,16 +13086,16 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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
@@ -4424,7 +13108,7 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
 
        * fns.c (Freplace_list):
        fix small typo in doc string.
-       
+
        * lisp.h:
        declare enqueue_Xt_dispatch_event.
 
@@ -4434,18 +13118,18 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * 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):
@@ -4490,10 +13174,10 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
 
 2000-04-20  Martin Buchholz  <martin@xemacs.org>
 
-       * filelock.c (fill_in_lock_file_name): 
+       * filelock.c (fill_in_lock_file_name):
        ANSIfy.
        Check for IS_ANY_SEP instead of '/'.
-       (lock_file_1): 
+       (lock_file_1):
        Avoid generating gratuitous garbage.  Call user_login_name() directly.
        Never check errno without first seeing that system call failed.
        (unlock_file): Add GCPRO.
@@ -4502,14 +13186,14 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
 
 2000-04-19  Martin Buchholz  <martin@xemacs.org>
 
-       * sysdep.c (get_pty_max_bytes): 
+       * sysdep.c (get_pty_max_bytes):
        Fix hangs on DEC OSF 4.0 when (process-send-string) sends
        strings longer than 252 bytes.
 
        * md5.c: Unconditionally include ANSI header <limits.h>
 
-       * glyphs-x.c (convert_EImage_to_XImage): 
-       * lisp-union.h (union Lisp_Object): 
+       * glyphs-x.c (convert_EImage_to_XImage):
+       * lisp-union.h (union Lisp_Object):
        Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
 
 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
@@ -4582,7 +13266,7 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        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.
 
@@ -4615,7 +13299,7 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
 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):
@@ -4691,12 +13375,12 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
 
        * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
        image glyph if allow_cursor.
-        (add_hscroll_rune): Don't allow cursor to border glyph.
-        (create_text_block): Ditto.
+       (add_hscroll_rune): Don't allow cursor to border glyph.
+       (create_text_block): Ditto.
 
        * redisplay-output.c (redisplay_move_cursor): Do nothing even if
        text not in buffer.
-        (redisplay_output_layout): Call ensure_face_cachel_complete for
+       (redisplay_output_layout): Call ensure_face_cachel_complete for
        text image glyph.
 
 
@@ -4716,7 +13400,7 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
 
        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.
@@ -4766,7 +13450,7 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        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>
@@ -4777,7 +13461,7 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
 
 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.
 
@@ -5275,7 +13959,7 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * alloc.c (pdump_register_struct):
        * alloc.c (pdump_dump_data):
        * alloc.c (pdump_reloc_one):
-        Minor cleanups.
+       Minor cleanups.
 
        * console-msw.c:
        * console-msw.c (GetConsoleHwnd):
@@ -5285,16 +13969,16 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * console-msw.c (msw_output_console_string):
        * console-msw.c (console_type_create_mswindows):
 
-        a) Added functions to manipulate the console window for use with
-        shell support.
+       a) Added functions to manipulate the console window for use with
+       shell support.
 
-        b) Added support for writing text to the console, which is now
-        used under Windows when xemacs is not being run non-interactively,
-        to write text that would otherwise be destined for stdout because
-        under these circumstances, text written to stdout tends to
-        disappear and not be seen.
+       b) Added support for writing text to the console, which is now
+       used under Windows when xemacs is not being run non-interactively,
+       to write text that would otherwise be destined for stdout because
+       under these circumstances, text written to stdout tends to
+       disappear and not be seen.
 
-        * console-msw.h:
+       * console-msw.h:
        * event-Xt.c:
        * event-Xt.c (x_event_to_emacs_event):
        * event-Xt.c (describe_event_window):
@@ -5348,20 +14032,20 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * device-msw.c (msw_get_workspace_coords):
        * device-msw.c (mswindows_device_system_metrics):
        and various other files, added support for a new
-        device property called offset-workspace which returns the position
-        of the upper left corner of the workspace area and goes along with
-        the existing size-workspace property.
+       device property called offset-workspace which returns the position
+       of the upper left corner of the workspace area and goes along with
+       the existing size-workspace property.
 
        * dialog-msw.c:
        * dialog-msw.c (push_bufbyte_string_as_unicode):
        * dialog-msw.c (mswindows_popup_dialog_box):
-        Added support for XEmacs-style accelerator specifications in
-        button text.  Note: I didn't add support for this under X Windows,
-        and somebody needs to do this.
+       Added support for XEmacs-style accelerator specifications in
+       button text.  Note: I didn't add support for this under X Windows,
+       and somebody needs to do this.
 
        * dialog.c:
        * dialog.c (Fpopup_dialog_box):
-        Documented the support for accelerators that was just mentioned.
+       Documented the support for accelerators that was just mentioned.
 
        editfns.c (get_home_directory): Changed behavior under Windows
        when HOME not defined; former behavior was irretrievably broken.
@@ -5380,9 +14064,9 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * print.c (debug_print):
        * print.c (debug_backtrace):
        * print.c (debug_short_backtrace):
-        Cleaned up the code that prints text to stdout so that this can be
-        changed to output into a console window instead under MS Windows,
-        as described above.
+       Cleaned up the code that prints text to stdout so that this can be
+       changed to output into a console window instead under MS Windows,
+       as described above.
 
        * eval.c:
        * eval.c (DEFEND_AGAINST_THROW_RECURSION):
@@ -5404,14 +14088,14 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * event-msw.c (mswindows_modifier_state):
        * event-msw.c (emacs_mswindows_quit_p):
        * event-msw.c (vars_of_event_mswindows):
-        a) Added support for using the alt key to select menu items as is
-        standard under MS Windows.  This is controlled using the variable
-        menu-accelerator-enabled, just like under X Windows.  There is an
-        option on the options menu to turn this support on.  I really
-        think that it should be on by default under Windows, but I'm not
-        going to make this change yet.
+       a) Added support for using the alt key to select menu items as is
+       standard under MS Windows.  This is controlled using the variable
+       menu-accelerator-enabled, just like under X Windows.  There is an
+       option on the options menu to turn this support on.  I really
+       think that it should be on by default under Windows, but I'm not
+       going to make this change yet.
 
-        b)  Added support for dynamic display size changes under Windows.
+       b)  Added support for dynamic display size changes under Windows.
 
        * event-stream.c:
        * event-stream.c (maybe_echo_keys):
@@ -5426,30 +14110,30 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * event-stream.c (complex_vars_of_event_stream):
        * events.h (struct command_builder):
 
-        a) Tried to clean up a little bit the horribly written x-specific
-        accelerator code that crept into this file.  I moved this code
-        into menubar-x.c where it belongs. I also needed to move the
-        command builder structure into the file events.h because it is
-        accessed directly by this accelerator code.  What I didn't do, but
-        which should be done at some point, is to properly abstract this
-        code using device methods instead of the kludgy way that it
-        currently hooks into the event code.
-
-        b) Added the lisp variables this-command-properties and
-        last-command- properties, which should be used to synchronize two
-        adjacent commands in preference to playing games with the variable
-        this-command, which is typically what happens.
-
-        c) Added some slightly nasty code to hook into the lisp support
-        for shifted- motion-key selection.  This is actually necessary for
-        somewhat complicated reasons, which are described in
-        simple.el. (NB: I think the proper thing would be to have the code
-        that calls the pre and post command hooks also call out to generic
-        lisp functions in simple.el, where all built-in stuff could be
-        added.  I will think about this more.)
+       a) Tried to clean up a little bit the horribly written x-specific
+       accelerator code that crept into this file.  I moved this code
+       into menubar-x.c where it belongs. I also needed to move the
+       command builder structure into the file events.h because it is
+       accessed directly by this accelerator code.  What I didn't do, but
+       which should be done at some point, is to properly abstract this
+       code using device methods instead of the kludgy way that it
+       currently hooks into the event code.
+
+       b) Added the lisp variables this-command-properties and
+       last-command- properties, which should be used to synchronize two
+       adjacent commands in preference to playing games with the variable
+       this-command, which is typically what happens.
+
+       c) Added some slightly nasty code to hook into the lisp support
+       for shifted- motion-key selection.  This is actually necessary for
+       somewhat complicated reasons, which are described in
+       simple.el. (NB: I think the proper thing would be to have the code
+       that calls the pre and post command hooks also call out to generic
+       lisp functions in simple.el, where all built-in stuff could be
+       added.  I will think about this more.)
 
        * event-unixoid.c (poll_fds_for_input):
-        * lread.c (readchar):
+       * lread.c (readchar):
        * redisplay-tty.c (tty_clear_frame):
        * redisplay-x.c (x_get_gc):
        * signal.c (interrupt_signal):
@@ -5462,33 +14146,33 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
 
        * frame-msw.c:
        * frame-msw.c (mswindows_size_frame_internal):
-        Fixed the computation of frame size and position to keep the frame
-        within the workspace area, rather than within the physical
-        dimensions of the screen, so that the frame doesn't overlap window
-        manager decorations, such as the start menu and toolbar, typically
-        at the bottom of the screen.
+       Fixed the computation of frame size and position to keep the frame
+       within the workspace area, rather than within the physical
+       dimensions of the screen, so that the frame doesn't overlap window
+       manager decorations, such as the start menu and toolbar, typically
+       at the bottom of the screen.
 
        * frame.c (vars_of_frame):
-        Changed the default frame title format under MS Windows to consist
-        of buffername-XEmacs, which is standard under MS Windows.  I think
-        it might be a good idea to change this everywhere because I think
-        it is superior to the current frame title format, but this is the
-        kind of change that is likely to cause some people to get annoyed,
-        so I'm not making it.
+       Changed the default frame title format under MS Windows to consist
+       of buffername-XEmacs, which is standard under MS Windows.  I think
+       it might be a good idea to change this everywhere because I think
+       it is superior to the current frame title format, but this is the
+       kind of change that is likely to cause some people to get annoyed,
+       so I'm not making it.
 
        * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
 
        * gui-msw.c (mswindows_handle_gui_wm_command):
-        Fixed compile warnings.
+       Fixed compile warnings.
 
        * gui-x.c:
        * gui-x.c (strdup_and_add_accel):
        * gui-x.c (button_item_to_widget_value):
        * gui-x.h:
-        Added code to automatically put an accelerator onto the beginning
-        of menu items that don't have one as is now the standard, and is
-        described more later.  Also fixed things so that the menu item
-        name can be an evaluated expression, again a new standard.
+       Added code to automatically put an accelerator onto the beginning
+       of menu items that don't have one as is now the standard, and is
+       described more later.  Also fixed things so that the menu item
+       name can be an evaluated expression, again a new standard.
 
        * gui.c:
        * gui.c (gui_item_add_keyval_pair):
@@ -5507,9 +14191,9 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * line-number.c (buffer_line_number):
        * lisp.h:
        * lisp.h (EMACS_INT_MAX):
-        Added the manifest constant EMACS_INT_MIN corresponding to the
-        existing constant EMACS_INT_MAX.  This is partially to fix compile
-        warnings under Windows, and partly for cleanliness.
+       Added the manifest constant EMACS_INT_MIN corresponding to the
+       existing constant EMACS_INT_MAX.  This is partially to fix compile
+       warnings under Windows, and partly for cleanliness.
 
        * menubar-msw.c:
        * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
@@ -5528,15 +14212,15 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * menubar-msw.c (mswindows_update_frame_menubars):
        * menubar-msw.c (mswindows_free_frame_menubars):
        * menubar-msw.c (mswindows_popup_menu):
-        Fixed a bug in handling accelerators where an extra character
-        would be displayed in the menu item.  Also generalized the
-        function displayable_menu_item because it is now used by the
-        dialog box code as well.  And finally, added code in the functions
-        that create the menubar to extract a list of accelerators for the
-        top level menubar, which is used in the event code to determine
-        whether a particular alt-key combination should be used to invoke
-        a menu item, or should be passed through to access the standard
-        XEmacs keymap binding for this key combination.
+       Fixed a bug in handling accelerators where an extra character
+       would be displayed in the menu item.  Also generalized the
+       function displayable_menu_item because it is now used by the
+       dialog box code as well.  And finally, added code in the functions
+       that create the menubar to extract a list of accelerators for the
+       top level menubar, which is used in the event code to determine
+       whether a particular alt-key combination should be used to invoke
+       a menu item, or should be passed through to access the standard
+       XEmacs keymap binding for this key combination.
 
        Much needed GCPROing.
 
@@ -5555,10 +14239,10 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * menubar-x.c (command_builder_find_menu_accelerator):
        * menubar-x.c (Faccelerate_menu):
        * menubar.h:
-        Moved a whole bunch of code here that was previously in
-        event-stream.c as described above.  There is also code connected
-        to the new standard of adding an accelerator to the beginning of
-        menu items that don't have one as described above and below.
+       Moved a whole bunch of code here that was previously in
+       event-stream.c as described above.  There is also code connected
+       to the new standard of adding an accelerator to the beginning of
+       menu items that don't have one as described above and below.
 
        * menubar.c:
        * menubar.c (menu_parse_submenu_keywords):
@@ -5568,31 +14252,31 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * menubar.c (vars_of_menubar):
        * menubar.c (complex_vars_of_menubar):
 
-        a) Cleaned up a bunch of documentation and improved it.
-
-        b) XEmacs now automatically adds an accelerator onto the beginning
-        of any menu items that don't have one.  I did this because there
-        will inevitably be some menu items on the main menubar that don't
-        have accelerators on them because the package that adds that
-        particular menu item hasn't yet been fixed up to have accelerators
-        in them and it looked rather strange to have some items with and
-        some items without accelerators, especially since even in items
-        without accelerators, you can, at least under windows, still
-        access the item through an accelerator corresponding to the first
-        character in the item's name.  If people don't like this behavior,
-        I can add a variable to turn it off optionally, but I'm not sure
-        this is a good idea because we really do need to have accelerators
-        on all of the menu items, and if a package doesn't like the
-        accelerators being put on the first character, then it should put
-        the accelerators where they belong.
-
-        c) I made a behavior change, which is that the descriptor that
-        specifies the text of the menu item, which formerly was just a
-        string, can now also be an evaluated expression.  This makes this
-        descriptor parallel with all of the others, which could also be
-        evaluated expressions.  This also obviates the need for the
-        keyword :label, which was previously listed in the documentation
-        as unimplemented, and which was for the same purpose.
+       a) Cleaned up a bunch of documentation and improved it.
+
+       b) XEmacs now automatically adds an accelerator onto the beginning
+       of any menu items that don't have one.  I did this because there
+       will inevitably be some menu items on the main menubar that don't
+       have accelerators on them because the package that adds that
+       particular menu item hasn't yet been fixed up to have accelerators
+       in them and it looked rather strange to have some items with and
+       some items without accelerators, especially since even in items
+       without accelerators, you can, at least under windows, still
+       access the item through an accelerator corresponding to the first
+       character in the item's name.  If people don't like this behavior,
+       I can add a variable to turn it off optionally, but I'm not sure
+       this is a good idea because we really do need to have accelerators
+       on all of the menu items, and if a package doesn't like the
+       accelerators being put on the first character, then it should put
+       the accelerators where they belong.
+
+       c) I made a behavior change, which is that the descriptor that
+       specifies the text of the menu item, which formerly was just a
+       string, can now also be an evaluated expression.  This makes this
+       descriptor parallel with all of the others, which could also be
+       evaluated expressions.  This also obviates the need for the
+       keyword :label, which was previously listed in the documentation
+       as unimplemented, and which was for the same purpose.
 
        d) GCPROing.
 
@@ -5601,10 +14285,10 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * ntproc.c (sys_spawnve):
        * ntproc.c (find_child_console):
        * ntproc.c (sys_kill):
-        Fixed compile warnings.  By the way, this file should really go
-        away entirely, and this will happen as soon as Kirill makes his
-        final round of process cleanups, which affect the function
-        call-process.
+       Fixed compile warnings.  By the way, this file should really go
+       away entirely, and this will happen as soon as Kirill makes his
+       final round of process cleanups, which affect the function
+       call-process.
 
        * process-nt.c:
        * process-nt.c (struct nt_process_data):
@@ -5620,17 +14304,17 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * process-nt.c (nt_kill_process_by_pid):
        * process-nt.c (nt_open_network_stream):
        * process-nt.c (vars_of_process_nt):
-        Copied over code from Emacs 20.5 to correctly send signals to sub-
-        processes under Windows 95.  Also added code to automatically
-        create and hide console window when a sub-process is created under
-        Windows 95, which obviates the need for the separate runemacs.exe
-        executable, and finally implemented some variables that were
-        implemented in Emacs 20.5, but previously not in XEmacs.  These
-        include mswindows- start-process-share-console and
-        mswindows-start-process-inherit-error-mode. (Both of these only
-        apply to Windows 95.)
-
-        * regex.c (regex_compile): Fixed a compile warning.
+       Copied over code from Emacs 20.5 to correctly send signals to sub-
+       processes under Windows 95.  Also added code to automatically
+       create and hide console window when a sub-process is created under
+       Windows 95, which obviates the need for the separate runemacs.exe
+       executable, and finally implemented some variables that were
+       implemented in Emacs 20.5, but previously not in XEmacs.  These
+       include mswindows- start-process-share-console and
+       mswindows-start-process-inherit-error-mode. (Both of these only
+       apply to Windows 95.)
+
+       * regex.c (regex_compile): Fixed a compile warning.
 
        * select-msw.c:
        * select-msw.c (mswindows_own_selection):
@@ -5638,20 +14322,20 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * select-msw.c (mswindows_disown_selection):
        * select-msw.c (console_type_create_select_mswindows):
        * select-msw.c (syms_of_select_mswindows):
-        Cleaned up the file and implemented the device method
-        selection_exists_p, which had accidentally been left out.  Also
-        removed four lisp functions that were remnants from before the
-        time when the selection code was properly device abstracted.
-        These functions are no longer needed because there are generic
-        equivalents, and because they were added recently and don't exist
-        in FSF Emacs, I don't think there's any problem with just deleting
-        them.
+       Cleaned up the file and implemented the device method
+       selection_exists_p, which had accidentally been left out.  Also
+       removed four lisp functions that were remnants from before the
+       time when the selection code was properly device abstracted.
+       These functions are no longer needed because there are generic
+       equivalents, and because they were added recently and don't exist
+       in FSF Emacs, I don't think there's any problem with just deleting
+       them.
 
        * sysdep.c:
        * sysdep.c (sys_subshell):
-        Fixed a compile warning, although in this case there's probably
-        something wrong with this code, and it ought to be looked into
-        more thoroughly by somebody who understands it.
+       Fixed a compile warning, although in this case there's probably
+       something wrong with this code, and it ought to be looked into
+       more thoroughly by somebody who understands it.
 
        * window.c:
        * window.c (Fwindow_text_area_height):
@@ -5660,13 +14344,13 @@ Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245
        * window.c (Fwindow_pixel_width):
        * window.c (debug_print_window):
        * window.c (syms_of_window):
-        Added functions window-text-area-height and window-full-width,
-        which are functions for returning various width and height
-        characteristics of a window. (One of these functions is necessary
-        for making the file dialog box work correctly, and the other one
-        was added for completeness.)  Also added a table to the
-        documentation for window-height which describes the entire scheme
-        for accessing width and height characteristics of a window.
+       Added functions window-text-area-height and window-full-width,
+       which are functions for returning various width and height
+       characteristics of a window. (One of these functions is necessary
+       for making the file dialog box work correctly, and the other one
+       was added for completeness.)  Also added a table to the
+       documentation for window-height which describes the entire scheme
+       for accessing width and height characteristics of a window.
 
 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>