update.
[chise/xemacs-chise.git-] / src / ChangeLog
index e508b43..1541367 100644 (file)
-1999-11-10  XEmacs Build Bot <builds@cvs.xemacs.org>
+2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
 
-       * XEmacs 21.2.20 is released
+       * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
+       to 0.13 (Takaida).
 
-1999-11-04  Martin Buchholz  <martin@xemacs.org>
+2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
 
-       * mule-ccl.c (ccl_driver): Warning suppression
+       * 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.
 
-1999-11-01  SL Baur  <steve@miho.m17n.org>
+       * char-ucs.h (MAKE_CHAR): Delete builtin support for
+       `Vcharset_katakana_jisx0201'.
 
-       * emacs.c (main_1): Guard call to reinit_vars_of_debug when not
-       building a debugged XEmacs.
+1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
 
-1999-10-28  Andreas Jaeger  <aj@suse.de>
+       * 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]'.
 
-       * src/emacs.c (main_1): Don't set the malloc hooks if using
-       DOUG_LEA_MALLOC.
+1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
 
-1999-10-30  Olivier Galibert  <galibert@pobox.com>
+       * 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)'.
 
-       * alloc.c (pdump_dump_rtables): Don't forget to dump the last
-       registered type.
-       (pdump): Ditto.
+1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
 
-1999-10-25  Olivier Galibert  <galibert@pobox.com>
+       * 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'.
 
-       * emacs.c (main_1): Call reinit_vars_of_scrollbar_x.
+       * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
+       (MIN_CHAR_JIS_X0208_1990): New macro.
+       (MAX_CHAR_JIS_X0208_1990): New macro.
 
-       * symsinit.h: Declare reinit_vars_of_scrollbar_x.
+1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
 
-1999-10-25  Martin Buchholz  <martin@xemacs.org>
+       * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
+       coded-charset is not found.
 
-       * redisplay.h (CLASS_RESET_CHANGED_FLAGS): 
-       (GLOBAL_RESET_CHANGED_FLAGS): 
-       (CLASS_REDISPLAY_FLAGS_CHANGEDP): 
-       (RESET_CHANGED_SET_FLAGS): 
-       Fix C++ compile errors/warnings.
-       These macros were just a tad too clever.
+1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
 
-       * process-unix.c (unix_open_network_stream):
-       * objects-x.c (allocate_nearest_color):
-       * mule-charset.c (vars_of_mule_charset): 
-       * fileio.c (Ffile_truename): 
-       * file-coding.c (vars_of_file_coding): 
-       Fix compile errors/warnings.
-
-       * alloc.c (xstrdup): Use fact that memcpy returns its first arg.
-       (allocate_lisp_storage): Simplify.
-
-1999-10-24  Olivier Galibert  <galibert@pobox.com>
-
-       * conslots.h: Add defines with first and last slot names.
-       * bufslots.h: Add defines with first and last slot names.
-
-       * buffer.c (common_init_complex_vars_of_buffer): Renamed from
-       reinit_complex_vars_of_buffer
-       (reinit_complex_vars_of_buffer): Reset the slots to the dumped
-       value.
-       (complex_vars_of_buffer): Dump the slots values.
-
-       * console.c (common_init_complex_vars_of_console): Renamed from
-       reinit_complex_vars_of_console
-       (reinit_complex_vars_of_console): Reset the slots to the dumped
-       value.
-       (complex_vars_of_console): Dump the slots values.
-
-       * alloc.c: Rename reloc_table to pdump_reloc_table, rt_list to
-       pdump_rt_list and move them at the beginning of the file.
-       (gc_sweep): Unmark pdumped objects after the sweep phase.
-       (pdump_dump_rtables): Change a bare 256 to
-       last_lrecord_type_index_assigned.  Add a separator between the
-       adresses or lrecords and the ones of C structs in the dump file.
-       (pdump_load): Cope with the new separator and the renamings.  Stop
-       looking for the hash tables list after it has been found (duh!).
-
-1999-10-24  Robert Bihlmeyer <robbe@orcus.priv.at>
-
-       * sound.c: support HAVE_ESD_SOUND
-
-       * miscplay.c: 
-       * miscplay.h: 
-       * linuxplay.c: Move large part of linuxplay to generalized file
-       miscplay. Make it platform independent.
-
-       * esd.c: New file
-
-1999-10-24  Adrian Aichner <aichner@ecf.teradyne.com>
-
-       * lisp.h (Dynarr_declare): Fix boo-boo.
-
-1999-10-24  Olivier Galibert  <galibert@pobox.com>
-
-       * process-unix.c (allocate_pty): Fix HAVE_GETPT.
-       * process.h: Ditto.
-
-1999-10-24  Jan Vroonhof  <vroonhof@math.ethz.ch>
-
-       * redisplay.c (start_with_line_at_pixpos): Remove assert(cur_elt
-       >=0). Handle the cur_elt == 0 case.
-
-1999-10-24  Jan Vroonhof  <vroonhof@math.ethz.ch>
-
-       * unexelf.c: Merge Martin's c++ fixes back in 
-
-1999-10-20  Jan Vroonhof  <vroonhof@math.ethz.ch>
-
-        * unexelf.c (unexec): Only copy the global offset
-        table from memory on sgi machines.
-
-1999-08-13     Alexandre Oliva <oliva@dcc.unicamp.br>, Vin Shelton <acs@xemacs.org>
-
-        * unexelf.c: Enable GNU/Linux/alpha to build with gcc 2.95 by
-        adding support for an sbss section.  Get IRIX 5.2 to build using
-        unexelf.c.
-
-        * m/iris4d.h: Use unexelf.o for unexec.
-
-        * m/iris5d.h: Use unexelf.o for unexec.
-
-1999-10-24  Jan Vroonhof  <vroonhof@math.ethz.ch>
-
-       * unexelf.c: Revert to 21.1 version
-
-1999-08-28  Jan Vroonhof  <vroonhof@math.ethz.ch>
-
-       * window.c (Fwindow_truncated_p): New function.
-
-1999-08-25  Jonathan Marten <jonathan.marten@uk.sun.com>
-
-       * window.c (window_truncation_on): Always return 0 for minibuffer
-       windows, to enable auto scrolling.
-
-1999-10-24 Neal Becker <nbecker@fred.net>
-       * process.h: Unix98 PTY support
-
-1999-10-17  Jan Vroonhof  <vroonhof@math.ethz.ch>
-
-       * fileio.c (Ffile_truename): Do proper mule decoding on
-       the argument to xrealpath()
-
-1999-08-19  Stephen Tse  <stephent@sfu.ca>
-
-       * process-unix.c (unix_open_network_stream): Add udp network
-       support; rename variable Qtcpip to Qtcp, parameter family to
-       protocol for consistency with Qudp.
-
-       * process-nt.c (nt_open_network_stream): Rename variable Qtcpip to
-       Qtcp, parameter family to protocol for consistency with Qudp.
-
-       * process.c (global_variables): Add a new variable Qudp for udp
-       network support; rename variable Qtcpip to Qtcp for consistency
-       with Qudp.
-       (Fopen_network_stream_internal): Rename parameter FAMILY to
-       PROTOCOL for consistency; fix a minor typo and add an explanation
-       in docstring for udp programming.
-       (Fopen_multicast_group_internal): Fix a minor typo in docstring.
-       (syms_of_process): Add a new variable Qudp for udp network
-       support; rename variable Qtcpip to Qtcp for consistency with Qudp.
-
-       * process.h (extern_variables): Add a new variable Qudp for udp
-       network support; rename variable Qtcpip to Qtcp for consistency
-       with Qudp.
-
-       * procimpl.h: Add a new variable Qudp for udp network support;
-       rename variable Qtcpip to Qtcp for consistency with Qudp.
-       (struct process_methods): Rename parameter family to protocol.
-
-
-1999-10-24  Olivier Galibert  <galibert@pobox.com>
-
-       * alloc.c (pdump_make_hash): Divide pointers by 8 for a better hash.
-
-1999-10-23  Olivier Galibert  <galibert@pobox.com>
-
-       * lrecord.h (struct lrecord_header): Removed dumped flags.
-
-       * dynarr.c: Use DUMPEDP instead of dumped flag.
-
-       * lisp.h (DUMPEDP): Added.  Removed dumped flag from dynarr.
-
-       * alloc.c: Removed hash_next linked list pointer.
-       
-       * *.c *.h: Removed markobj and mark_object parameters, removed GC_
-       and XGC macros.
-
-1999-10-14  Andy Piper  <andy@xemacs.org>
-
-       * redisplay-x.c (x_output_shadows): fix dodgy maths for border
-       calculations.
-
-       * gutter.c (output_gutter): be more accurate about the area to be
-       cleared since X seems to manage to do the clear after drawing the
-       border.
-
-       * redisplay.h (RESET_CHANGED_FLAGS): new macro for setting
-       redisplay flags as a group.
-       (RESET_CHANGED_SET_FLAGS): ditto.
-       (CLASS_RESET_CHANGED_FLAGS): ditto.
-       (GLOBAL_RESET_CHANGED_FLAGS): ditto.
-       (REDISPLAY_FLAGS_CHANGEDP): new macro for testing redisplay flags
-       as a group.
-       (CLASS_REDISPLAY_FLAGS_CHANGEDP): ditto.
-       (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
-
-       * redisplay.c (redisplay_frame): use CLASS_RESET_CHANGED_FLAGS
-       instead of setting flags individually.
-       (redisplay_device): ditto CLASS_REDISPLAY_FLAGS_CHANGEDP.
-       (redisplay_device): ditto.
-       (redisplay_device): ditto CLASS_RESET_CHANGED_FLAGS.
-       (redisplay_without_hooks): ditto GLOBAL_REDISPLAY_FLAGS_CHANGEDP.
-       (redisplay_without_hooks): ditto CLASS_REDISPLAY_FLAGS_CHANGEDP.
-       (redisplay_without_hooks): ditto.
-       (redisplay_without_hooks): ditto GLOBAL_RESET_CHANGED_FLAGS.
-
-       * redisplay-x.c (x_output_string): unmap subwindows in the area.
-       (x_output_blank): ditto.
-
-       * redisplay-output.c (redisplay_output_display_block): don't unmap
-       subwindows in case layout optimization can avoid it.
-       (redisplay_output_subwindow): unmap subwindows in the area.
-       (redisplay_output_layout): optimize the output of layouts - only
-       output glyphs that have changed if nothing else of redisplay
-       significance has occurred.
-       (redisplay_output_pixmap): change args to
-       redisplay_clear_clipped_region.
-       (redisplay_clear_clipped_region): allow the clipped region to be
-       cleared of all subwindows except the one passed in.
-
-       * redisplay-msw.c (mswindows_output_blank): unmap subwindows in
-       the area.
-       (mswindows_output_cursor): ditto.
-       (mswindows_output_string): ditto.
-
-       * gutter.c (calculate_gutter_size): if the window buffer is nil
-       then don't continue.
-       (update_frame_gutters): be more lenient about when we actually
-       update the gutter. Layout optimization makes this
-       non-costly. Cache redisplay flags that we want to temporarily
-       ignore.
-
-       * glyphs.c (Fglyph_animated_timeout_handler): handle image
-       specific timeouts rather than iterating over the instance cache.
-       (glyph_animated_timeout_mapper): deleted.
-       (add_glyph_animated_timeout): use a weak list to hold onto the
-       image so that it can be GC'ed.
-       (disable_glyph_animated_timeout): disable a specific timeout.
-       (vars_of_glyphs): disable-animated-pixmaps is a new boolean for
-       controlling whether pixmaps are animated or not.
-
-       * glyphs-msw.c (mswindows_finalize_image_instance): make sure the
-       image timeout gets disabled when the image gets freed.
-
-       * glyphs-eimage.c (gif_instantiate): remove meaningless
-       comment. Cope with timeouts specified in the gif extension block.
-
-       * event-msw.c (vars_of_event_mswindows): new variable
-       mswindows-meta-activates-menu.
-       (mswindows_wnd_proc): only goto defproc with VK_MENU if the user
-       wants it.
-
-       * glyphs-x.c (x_finalize_image_instance): delete mask first so
-       that we can compare with image.
-
-1999-10-14  Jonathan Harris  <jhar@tardis.ed.ac.uk>
-
-       * event-msw.c (mswindows_key_to_emacs_keysym):
-       Recognise keypad keys as different from normal keys.
-
-1999-10-14  Didier Verna  <didier@xemacs.org>
-
-       * glyphs-x.c (x_finalize_image_instance): avoid freeing null pixmaps.
-
-1999-10-10  Olivier Galibert  <galibert@pobox.com>
-
-       * symbols.c (init_symbols_once_early): dump Vquit_flag.
-
-       * symsinit.h: Updated.
-
-       * ntproc.c (vars_of_ntproc): Use defsymbol.
-
-       * emacs.c (main_1): Updated reinit calls.
-
-       * lisp.h: Removed Fpurecopy and pure_put declarations.
-       * fns.c: Removed pure_put.
-
-       * eval.c (Fdefvar): pure_put -> Fput
-       (Fdefconst): Ditto.
-       * frame-x.c (init_x_prop_symbols): Ditto.
-       * symbols.c (deferror): Ditto.
+       * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
+       (Fdefine_char): Use `Fmake_char'.
 
-       * alloc.c (Fmake_byte_code): Remove Fpurecopy call.
-       * buffer.c (vars_of_buffer): Ditto.
-       * bytecode.c (Ffetch_bytecode): Ditto.
-       (optimize_compiled_function): Ditto.
-       * emacs.c (vars_of_emacs): Ditto.
-       * emodules.c (vars_of_module): Ditto.
-       * eval.c (define_function): Ditto.
-       (Fautoload): Ditto.
-       * frame.c (vars_of_frame): Ditto.
-       * intl.c (Fset_domain): Ditto.
-       * lread.c (load_force_doc_string_unwind): Ditto.
-       * menubar.c (vars_of_menubar): Ditto.
-       * minibuf.c (reinit_complex_vars_of_minibuf): Ditto.
+1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
 
-       * debug.c (reinit_vars_of_debug): Extracted.
-       * device-x.c (reinit_vars_of_device_x): Ditto.
-       * emodules.c (reinit_vars_of_module): Ditto.
-       * font-lock.c (reinit_vars_of_font_lock): Ditto.
-       * glyphs-widget.c (reinit_vars_of_glyphs_widget): Ditto.
-       * glyphs.c (reinit_vars_of_glyphs): Ditto.
-       * gui-x.c (reinit_vars_of_gui_x): Ditto.
-       * insdel.c (reinit_vars_of_insdel): Ditto.
-       * menubar-x.c (reinit_vars_of_menubar_x): Ditto.
-       * minibuf.c (reinit_complex_vars_of_minibuf): Ditto.
-       * mule-wnnfns.c (reinit_vars_of_mule_wnn): Ditto.
-       * print.c (reinit_vars_of_print): Ditto.
-       * redisplay.c (reinit_vars_of_redisplay): Ditto.
-       * select-x.c (reinit_vars_of_xselect): Ditto.
-       * undo.c (reinit_vars_of_undo): Ditto.
+       * 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'.
 
-1999-10-10  Olivier Galibert  <galibert@pobox.com>
+       * 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>
 
-       * symsinit.h: Updated declarations, see other ChangeLog entries.
+       * data.c (Fstring_to_number): Don't recognize floating point if
+       base is not 10.
 
-       * redisplay.c (init_redisplay): Ensure proper reinitialisation.
+1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
 
-       * lrecord.h (XD_DYNARR_DESC): Introduce XD_INT_RESET and use it.
+       * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
 
-       * glyphs.c: Add the ii_keyword_entry and related descriptions.
-       Fix the image_instantiator_methods one.
+1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
 
-       * file-coding.c: Plonk all data that needs to be dumped in a
-       dynamically allocated structure.
+       * mule-charset.c (Qsquare): New variable.
+       (to_char_code): Add `Qsquare'.
+       (syms_of_mule_charset): Add new symbol `square'.
 
-       * extents.c (reinit_vars_of_extents): Extracted from
-       vars_of_extents.
+1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
 
-       * event-stream.c (vars_of_event_stream): Don't staticpro when
-       pdump_wire is enough.
+       * mule-charset.c (Qcircle): New variable.
+       (to_char_code): Add `Qcircle'.
+       (syms_of_mule_charset): Add new symbol `circle'.
 
-       * event-msw.c (reinit_vars_of_event_mswindows): Extracted from
-       vars_of_event_mswindows.
+1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
 
-       * event-Xt.c (reinit_vars_of_event_Xt): Extracted from
-       vars_of_event_Xt.
+       * 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.
 
-       * eval.c (vars_of_eval): Don't staticpro when pdump_wire is enough.
+1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
 
-       * emacs.c (main_1): Added some reinit calls.
+       * mule-charset.c (Fput_char_attribute): Check each element of
+       VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
 
-       * device-x.c (reinit_console_type_create_device_x): Extracted from
-       console_type_create_device_x.
+1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
 
-       * console.h: Declare the console_type_entry_dynarr description.
+       * 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.
 
-       * console.c: Unstatic the console_type_entry_dynarr description.
+       * 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)'.
 
-       * alloc.c: Removed some dubious comments.  Handle XD_INT_RESET.
+1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
 
-1999-10-07  Olivier Galibert  <galibert@pobox.com>
+       * mule-charset.c (Fset_charset_mapping_table): Fix problem with
+       `ascii'.
 
-       * symsinit.h: Updated declarations, see other ChangeLog entries.
+1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
 
-       * minibuf.c (reinit_complex_vars_of_minibuf): Extracted from
-       complex_vars_of_minibuf.
+       * 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'.
 
-       * lrecord.h: Removed XD_PARENT_INDIRECT (unused and
-       unimplemented), added XD_LO_LINK.
+1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
 
-       * lisp.h (pdump_wire_list): Add declaration.
+       * 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'.
 
-       * glyphs.h (INITIALIZE_DEVICE_IIFORMAT): Fix bug found by Andy.
-       (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT): Fix stupid bug.
-       (REINITIALIZE_IMAGE_INSTANTIATOR_FORMAT): Remove, useless once the
-       stupid bug fixed.
+1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
 
-       * glyphs.c (reinit_image_instantiator_format_create): Remove.
+       * mule-charset.c (Fchar_attribute_alist): Check the argument is a
+       character; copy the return value.
 
-       * glyphs-x.c (reinit_image_instantiator_format_create_glyphs_x):
-       Remove.
+1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
 
-       * glyphs-widget.c
-       (reinit_image_instantiator_format_create_glyphs_widget): Remove.
+       * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
 
-       * glyphs-msw.c
-       (reinit_image_instantiator_format_create_glyphs_mswindows):
-       Remove.
-
-       * glyphs-eimage.c
-       (reinit_image_instantiator_format_create_glyphs_eimage): Remove.
-
-       * frame.c (Fmake_frame): Don't reset the face cache when using the
-       stream device.
-
-       * file-coding.c: Dumped the_codesys_prop_dynarr and added all
-       relevant descriptions.
-
-       * events.c (reinit_vars_of_events): Extracted from vars_of_events.
-
-       * eval.c: The subr is _not_ a lcrecord.
-
-       * emacs.c (main_1): Call vars_of_specifier early before any
-       specifier creation (e.g in vars_of_glyphs, at least).  Remove the
-       useless reinit_image_instantiator_format*.  Add
-       reinit_vars_of_events and reinit_complex_vars_of_minibuf.  Add
-       calls to lstream_type_create* and process_type_create*.
-
-       * elhash.c: Dump Vall_weak_hash_tables correctly.
-
-       * data.c: Dump Vall_weak_lists correctly.
-
-       * console.c: Fix description.
-
-       * console-stream.c (init_console_stream): Do initializations
-       correctly in the pdump case.
-
-       * chartab.c: Fix description.  Dump Vall_syntax_tables correctly.
-       (Fcopy_char_table): Link into Vall_syntax_tables.
-
-       * alloc.c (pdump_wire_list): Added.
-       (Fgarbage_collect): Fix loop in stats couting missing the last
-       lrecord type.
-       (pdump_register_sub): Added XD_LO_LINK.
-       (pdump_dump_data): Ditto.  Fixed XD_LO_RESET_NIL forgttting the
-       counter.
-       (pdump_reloc_one): Ditto.
-       (pdump_scan_by_alignement): Use last_lrecord_type_index_assigned
-       instead of 256.
-       (pdump_dump_wired): Added lists.
-       (pdump): Use last_lrecord_type_index_assigned instead of 256.
-       Dump last_lrecord_type_index_assigned value.  Fix minor bugs.
-
-1999-10-07  Andy Piper  <andy@xemacs.org>
-
-       * glyphs-msw.c (mswindows_finalize_image_instance): zero out
-       bitmap slices.
-
-       * glyphs-x.c (x_finalize_image_instance): fix FMW problem.
-
-1999-10-06  Andy Piper  <andy@xemacs.org>
-
-       * elhash.c (resize_hash_table): Correct reference to lrecord_header.
-
-1999-10-06  Damon Lipparelli  <lipp@primus.com>
-
-       * elhash.h: forward declare Lisp_Hash_Table.
-
-1999-10-06  Andy Piper  <andy@xemacs.org>
-
-       * glyphs.c (Fset_image_instance_property): mark glyphs as dirty
-       after setting an image instance property.
-
-1999-10-05  Andy Piper  <andy@xemacs.org>
-
-       * gutter.c (update_frame_gutters): output gutters if
-       windows_changed is set. This is the only way of catching changes
-       in selected window which obviously can affect the specifiers.
-
-       * redisplay.c: new state flags, subwindows_state_changed and
-       subwindows_state_changed set.
-       (redisplay_window): use them.
-       (redisplay_device): ditto.
-       (redisplay_without_hooks): ditto.
-       (redisplay_frame): ditto. Reset subwindow cachels if
-       subwindows_changed is set.
-       (redisplay_window): call mark_glyph_cachels_as_clean after
-       redisplaying.
-
-       * redisplay-x.c (x_output_x_pixmap): select correct
-       pixmap image for display depending on the currently selected
-       slice.
-
-       * redisplay-output.c (compare_runes): check dirtiness when
-       checking RUNE_DGLYPH runes.
-       (compare_display_blocks): relax invalidation of display blocks
-       since we can now detect whether individual glyphs have changed or
-       not.
-
-       * redisplay-msw.c (mswindows_output_dibitmap): select correct
-       bitmap image for display depending on the currently selected
-       slice.
-
-       * glyphs.h (struct Lisp_Image_Instance): add a dirty flag.
-       (IMAGE_INSTANCE_DIRTYP): new macro.
-       (XIMAGE_INSTANCE_DIRTYP): ditto.
-       (MARK_IMAGE_INSTANCE_CHANGED): ditto.
-       (GLYPH_DIRTYP): ditto.
-       (XGLYPH_DIRTYP): ditto.
-       (MARK_GLYPH_CHANGED): ditto.
-       (GLYPH_CACHEL_DIRTYP): ditto.
-       (struct glyph_cachel): add a dirty flag.
-
-       * glyphs.c (update_frame_subwindows): Don't update on
-       glyphs_changed.
-       (glyph_animated_timeout_mapper): new function. Map over the
-       instance cache lookinng for animated images to update.
-       (Fglyph_animated_timeout_handler): new function. Lisp callback for
-       handling animated image timeout events.
-       (disable_glyph_animated_timeout): new function. Add the animated
-       image timeout.
-       (disable_glyph_animated_timeout): new function. Remove the
-       animated image timeout.
-       (syms_of_glyphs): initialize Qglyph_animated_timeout_handler and
-       friends.
-       (vars_of_glyphs): initialize Vglyph_animated_ticker.
-       (image_instance_equal): add the currently displayed slice.
-       (image_instance_hash): ditto.
-       (allocate_glyph): initialize dirty flag.
-       (glyph_width): rename glyph -> glyph_or_image.
-       (glyph_height_internal): ditto.
-       (glyph_dirty_p): new function. Determine whether the image
-       instance in the domain and/or glyph is dirty.
-       (set_glyph_dirty_p): set the dirtiness.
-       (update_glyph_cachel_data): take dirtiness into account. Pass the
-       image instance we are interested in to glyph_width and friends.
-       (get_glyph_cachel_index): make non-static. Always call
-       update_glyph_cachel_data.
-       (mark_glyph_cachels_as_not_updated): meaningless formatting
-       change.
-       (mark_glyph_cachels_as_clean): new function. Clean dirtiness from
-       glyph cachels.
-
-       * glyphs-x.h (struct x_image_instance_data): change
-       pixmap to a list of pixmaps.
-       (IMAGE_INSTANCE_X_PIXMAP_SLICE): new macro.
-       (IMAGE_INSTANCE_X_PIXMAP_SLICES): ditto.
-       (XIMAGE_INSTANCE_X_PIXMAP_SLICE): ditto.
-       (XIMAGE_INSTANCE_X_PIXMAP_SLICES): ditto.
-
-       * glyphs-x.c (x_finalize_image_instance): make sure multi pixmap
-       images get deleted properly.
-       (init_image_instance_from_x_image): add slices paramater and use
-       it to initialize x_image_instance_data correctly.
-       (image_instance_add_x_image): new function. Add new pixmaps to our
-       set of instantiated pixmaps for an image. Used by animated images.
-       (x_init_image_instance_from_eimage): add a slices
-       parameter. Instantiate all images from the eimage.
-       (x_xpm_instantiate): update use of
-       init_image_instance_from_x_image.
-       (init_image_instance_from_xbm_inline): ditto.
-       (x_initialize_pixmap_image_instance): add slices paramater and use
-       it to allocate x_image_instance_data correctly.
-
-       * glyphs-msw.h (struct mswindows_image_instance_data): change
-       bitmap to a list of bitmaps.
-       (IMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICE): new macro.
-       (IMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICES): ditto.
-       (XIMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICE): ditto.
-       (XIMAGE_INSTANCE_MSWINDOWS_BITMAP_SLICES): ditto.
-
-       * glyphs-msw.c (init_image_instance_from_dibitmap): add slices
-       paramater and use it to initialize mswindows_image_instance_data
-       correctly.
-       (image_instance_add_dibitmap): new function. Add new bitmaps to
-       our set of instantiated bitmaps for an image. Used by animated
-       images.
-       (mswindows_init_image_instance_from_eimage): add a slices
-       parameter. Instantiate all images from the eimage.
-       (mswindows_xpm_instantiate): update use of
-       init_image_instance_from_dibitmap.
-       (bmp_instantiate): ditto.
-       (init_image_instance_from_xbm_inline): ditto.
-       (mswindows_finalize_image_instance): make sure all the bitmap
-       slices get deleted.
-       (mswindows_initialize_dibitmap_image_instance): add slices
-       paramater and use it to allocate mswindows_image_instance_data
-       correctly.
-
-       * glyphs-eimage.c (jpeg_instantiate): give extra paramter to
-       init_image_instance_from_eimage.
-       (png_instantiate): ditto.
-       (tiff_instantiate): ditto.
-       (gif_instantiate): allocate bitmaps for all gif slices not just
-       the first one.
-
-       * device.h (struct device): add subwindows_state_changed flag.
-       (MARK_DEVICE_SUBWINDOWS_STATE_CHANGED): new macro.
-       (MARK_DEVICE_FRAMES_GLYPHS_CHANGED): ditto.
-
-       * console.h (struct console_methods): add a slice parameter to
-       init_image_instance_from_eimage_method.
-
-       * redisplay.c (create_string_text_block): Allow buffer to be nil
-       without crashing.
-
-1999-09-24  Andy Piper  <andy@xemacs.org>
-
-       * glyphs-x.c: only include gui-x.h if we are building with
-       widgets.
-
-       * gui-x.c (vars_of_gui_x): only set popup_up_p if we have popups.
-
-1999-09-28  Lee Kindness <lkindness@csl.co.uk>
-
-       * objects-x.c (allocate_nearest_color): will return 0 (failure)
-       when the colormap is full and the color it has computed to be the
-       'nearest' has been allocated read/write.
-
-1999-10-02  Olivier Galibert  <galibert@pobox.com>
-
-       * search.c (reinit_vars_of_search):   Reinit   the  search   cache
-       correctly.
-
-       * elhash.h:     Make    the    description    visible.     Declare
-       resize_hash_table.
+       * mule-charset.c (range_charset_code_point): Must use make_int.
+       (split_builtin_char): New function.
 
-       * elhash.c  (resize_hash_table): Extracted from enlarge_hash_table
-       to generalize the hash table reorganization.
-       (reorganize_hash_table): Added.
-       (enlarge_hash_table): Uses resize_has_table.
+1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
 
-       * casetab.c (complex_vars_of_casetab):  staticpro  the mule mirror
-       tables.
+       * 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).
 
-       * alloc.c:   Add  correct  management  of   blocks of  structures.
-       Reorganize hash tables at reload since  the hash values can change
-       with the pointers.
+       * 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-10-01  Olivier Galibert  <galibert@pobox.com>
+1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
 
-       * lisp.h: Add pdump_wire declaration
+       * mule-charset.c (Fmake_charset): Setup byte_offset for
+       {94|96}^n-set.
 
-       * elhash.c (vars_of_elhash): Wire Vall_weak_hash_tables.
-       * symbols.c (init_symbols_once_early): Wire Qnil and Qunbound.
+1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
 
-       * alloc.c (pdump_wire): Added..
-       (pdump_load): Support it.
-       (pdump): Support it
-
-       * glyphs-msw.c
-       (reinit_image_instantiator_format_create_glyphs_mswindows): Fix
-       macro calls.
-
-1999-09-28  Olivier Galibert  <galibert@pobox.com>
-
-       * symsinit.h: Added lots of prototypes.
-
-       * symeval.h: Added defsymbol_nodump declaration.
-
-       * symbols.c (find_symbol_value): Lame attempt at making the
-       startup go further.
-       (defsymbol_nodump): Added.
-
-       * mule-charset.c: Collapsed global lisp objects arrays in one
-       dumpable structure.
-
-       * lrecord.h: Added some flags.
-
-       * lisp.h: Added dumped flag to dynarrs.  Added dumpstruct
-       declaration.
-
-       * glyphs.h (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT_NO_SYM): Don't
-       staticpro dynamic variables.
-
-       * glyphs.c (reinit_specifier_type_create_image): Added.
-       (image_instantiator_format_create): Dump image instantiator format
-       dynarr.
-       (reinit_image_instantiator_format_create): Added.
-
-       * emacs.c (main_1): Added reinits calls.
-
-       * dynarr.c: Protect dumped dynarrays from going berzek in free or
-       realloc.
-
-       * specifier.h (INITIALIZE_SPECIFIER_TYPE): Don't staticpro dynamic
-       variables.
-       * specifier.c (specifier_type_create): Dump the specifier type
-       dynarr.
-       (reinit_specifier_type_create): Added.
-       * console.h (INITIALIZE_CONSOLE_TYPE): Don't staticpro dynamic
-       variables.
-       * console.c (console_type_create): Dump the console type dynarr.
-       (reinit_vars_of_console): Extracted from vars_of_console.
-       (reinit_complex_vars_of_console): Extracted from
-       complex_vars_of_console
-       * window.c (reinit_vars_of_window): Extracted from vars_of_window.
-       * toolbar.c (reinit_specifier_type_create_toolbar): Added.
-       * search.c (reinit_vars_of_search): Extracted from vars_of_search.
-       * objects.c (reinit_specifier_type_create_objects): Added.
-       (reinit_vars_of_objects): Extracted from vars_of_objects.
-       * lstream.c (reinit_vars_of_lstream): Extracted from
-       vars_of_lstream.
-       * lread.c (reinit_vars_of_lread): Extracted from vars_of_lread.
-       * gutter.c (reinit_specifier_type_create_gutter): Added.
-       * glyphs-x.c (reinit_image_instantiator_format_create_glyphs_x):
-       Added.
-       * glyphs-widget.c
-       (reinit_image_instantiator_format_create_glyphs_widget): Added
-       * glyphs-msw.c
-       (reinit_image_instantiator_format_create_glyphs_mswindows): Added.
-       * glyphs-eimage.c
-       (reinit_image_instantiator_format_create_glyphs_eimage): Added.
-       * event-stream.c (reinit_vars_of_event_stream): Extracted from
-       vars_of_event_stream
-       * eval.c (reinit_vars_of_eval): Extracted from vars_of_eval.
-       * device.c (reinit_vars_of_device): Extracted from vars_of_device.
-       * console-x.c (reinit_console_type_create_x): Added.
-       * console-tty.c (reinit_console_type_create_tty): Added
-       * console-stream.c (reinit_console_type_create_stream): Added.
-       (init_console_stream): If PDUMP, always reinitialise basic
-       devices.
-       * console-msw.c (reinit_console_type_create_mswindows): Added.
-       * buffer.c (reinit_vars_of_buffer): Extracted from
-       init_vars_of_buffer.
-       (reinit_complex_vars_of_buffer): Extracted from
-       complex_vars_of_buffer
-
-       * alloc.c: Further with the portable dumping, the revenge.
-       (dumpstruct): Added.
-       (reinit_alloc_once_early): Extracted from init_alloc_once_early.
-
-       * specifier.c (sizeof_specifier): Correct size computation.
-       (make_specifier_internal): Ditto.
-
-1999-09-27  Olivier Galibert  <galibert@pobox.com>
-
-       * alloc.c: Further with the portable dumping.
-
-1999-09-27  Martin Buchholz  <martin@xemacs.org>
-
-       * glyphs-x.c (update_widget_face): Remove bogus cast
-
-       * data.c (sign_extent_lisp):
-       * data.c (check_int_range):
-       * data.c (Faref):
-       * data.c (Faset):
-       * data.c (number_char_or_marker_to_int):
-       * data.c (number_char_or_marker_to_double):
-       * data.c (Frem):
-       * data.c (Fmod):
-       * extents.c (print_extent_1):
-       * fns.c (print_bit_vector):
-       * fns.c (Flength):
-       * fns.c (Fsafe_length):
-       * fns.c (copy_list):
-       * fns.c (Fsubseq):
-       * fns.c (Felt):
-       * fns.c (Flast):
-       * fns.c (Fnbutlast):
-       * insdel.h:
-       * marker.c (print_marker):
-       * syntax.h:
-       * bytecode.c (bytecode_arithcompare):
-       * bytecode.c (bytecode_arithop):
-       * lisp.h:
-       * lisp.h (EXTERNAL_LIST_LOOP_DELETE_IF):
-       * lisp.h (TRUE_LIST_P):
-       * lisp.h (CHECK_TRUE_LIST):
-       * lisp.h (bit_vector_length):
-       * lisp.h (GCPRO4): Make consistent.
-       * lisp.h (NGCPRO4): Make consistent.
-       * lisp.h (NNGCPRO4): Make consistent.
-       * alloc.c (Fmake_list):
-       * alloc.c (Fmake_string):
-       Use proper 64-bit types, e.g. EMACS_INT or size_t instead of int.
-       This should make all arithmetic 64-bit clean.
-
-       Use %ld with (long) casts in print statements of types with sizes
-       possibly larger than int.
-
-       Following functions had mismatched prototypes!!:
-       do_marker_adjustment(), fixup_internal_substring(), scan_lists(),
-       char_quoted(), make_string_from_buffer(),
-       make_string_from_buffer_no_extents()
-
-       The types of Bufpos, Bytind, Memind, Bytecount, Charcount,
-       Extcount are all now EMACS_INT.  I hope to see the day when I can
-       create a buffer with more than INT_MAX characters, without having
-       XEmacs slow down to a crawl.  I also hope to be able to create a
-       list with more than INT_MAX cons cells.
-
-       * redisplay.c (decode_mode_spec): 
-       The %p and %P specs in the mode line were not correct for buffers
-       larger than MAX_INT/100!  The %p spec was off by .5% even for
-       small buffers!
-
-1999-09-27  Martin Buchholz  <martin@xemacs.org>
-
-       * cmdloop.c (num_input_keys):
-       * print.c (debug_temp):
-       * emacs.c (Vinfo_directory):
-       Delete unused variables 
-
-       * console-x.h (x_interline_space):  Mark as unimplemented.
-       * redisplay-x.c (x_interline_space):  Mark as unimplemented.
-
-       * event-Xt.c (pending_timeouts):
-       * linuxplay.c (linuxplay_sndbuf):
-       * profile.c (QS*):
-       * search.c (searchbufs):
-       * specifier.c (specifier_type_entry_dynarr):
-       * undo.c (pending_boundary):
-       * event-stream.c (the_low_level_timeout_blocktype):
-       * extents.c (gap_array_marker_freelist):
-       * extents.c (extent_list_marker_freelist):
-       * print.c (being_printed):
-       * print.c (alternate_do_pointer):
-       * alloc.c (first_string_chars_block):
-       * alloc.c (current_string_chars_block):
-       * emacs.c (initial_argv):
-       * emacs.c (initial_argc):
-       * eval.c (lisp_eval_depth):
-       * free-hook.c (pointer_table):
-       * free-hook.c (free_queue):
-       * free-hook.c (current_free):
-       * free-hook.c (strict_free_check):
-       * redisplay.c (formatted_string_emchar_dynarr):
-       * redisplay.c (formatted_string_display_line):
-       * redisplay.c (formatted_string_extent_dynarr):
-       * redisplay.c (formatted_string_extent_start_dynarr):
-       * redisplay.c (formatted_string_extent_end_dynarr):
-       * redisplay.c (updating_line_start_cache):
-       * redisplay.c (last_display_warning_tick):
-       * redisplay.c (display_warning_tick):
-       * redisplay.c (internal_cache):
-       * window.c (Vwindow_configuration_free_list):
-       Make static.
-
-       * redisplay.c (Vinitial_window_system):  Make CONST.
-
-1999-09-24  Martin Buchholz  <martin@xemacs.org>
-
-       * redisplay-tty.c (term_get_fkeys_1): Minor aesthetic improvements.
-
-       * doprnt.c (get_doprnt_args): Use int, not short, with va_arg.
-
-1999-09-24  Andy Piper  <andy@xemacs.org>
-
-       * redisplay-output.c (output_display_line): only clear the borders
-       if we are not displaying the gutter.
-
-1999-09-24  Jan Vroonhof <vroonhof@math.ethz.ch>
-
-       * frame-x.c (x_any_window_to_frame): Let Xt find the widget and
-       then use x_any_widget_or_parent_to_frame().
-       (x_find_frame_for_window): remove special cases.
-
-1999-09-24  Andy Piper  <andy@xemacs.org>
-
-       * scrollbar-x.c (x_window_is_scrollbar): deleted.
-       * scrollbar-x.h: ditto.
-       
-1999-09-23  Martin Buchholz  <martin@xemacs.org>
-
-       * alloc.c (this_marks_a_marked_record): Remove.
-
-       * buffer.c (mark_buffer):
-       * buffer.c (nuke_all_buffer_slots):
-       * console.c (mark_console):
-       * console.c (nuke_all_console_slots):
-       * frame.c (mark_frame):
-       * frame.c (nuke_all_frame_slots):
-       Treat MARKED_SLOT() macros consistently.
-
-       * device.h (error_check_device_type):
-       * faces.c (face_getprop):
-       * fileio.c (DRIVE_LETTER):
-       * filelock.c (lock_file_1):
-       * frame-x.c (x_create_widgets):
-       * frame.h (error_check_frame_type):
-       * keymap.c (print_keymap):
-       * keymap.c (Fkey_description):
-       * keymap.c (where_is_recursive_mapper):
-       * mule-charset.h (CHARSET_LEADING_BYTE):
-       * objects-msw.c (mswindows_color_instance_hash):
-       * objects.c (color_instance_equal):
-       * objects.h (struct color_specifier):
-       * objects.h (struct font_specifier):
-       * objects.h (struct face_boolean_specifier):
-       * opaque.h (get_opaque_ptr):
-       * opaque.h (set_opaque_ptr):
-       * process-unix.c (set_socket_nonblocking_maybe):
-       * specifier.h (SPECIFIER_TYPE_P):
-       * symbols.c (store_symval_forwarding):
-       * syssignal.h (EMACS_KILLPG):
-       * terminfo.c (emacs_tparam):
-       * glyphs.c (glyph_putprop):
-       * glyphs.c (glyph_remprop):
-       * glyphs.c (Fimage_instance_subwindow_id):
-       * window.c (mark_window):
-       * window.c (mark_window_config):
-       * window.c (Fset_window_configuration):
-       * window.c (save_window_save):
-       * eval.c (Fuser_variable_p):
-       * eval.c (Fcommand_execute):
-       * eval.c (Feval):
-       * eval.c (Ffuncall):
-       * lisp.h (XPNTR):
-       * lisp.h (INT_OR_FLOATP):
-       * lisp.h (GC_INT_OR_FLOATP):
-       * lisp.h (XFLOATINT):
-       * lisp.h (IS_ANY_SEP):
-       * mule-ccl.c (Fccl_execute):
-       * mule-ccl.c (Fccl_execute_on_string):
-       * redisplay-x.c (x_output_string):
-       Remove redundant extra parentheses.
-
-1999-09-22  Martin Buchholz  <martin@xemacs.org>
-
-       * chartab.c (word_boundary_p): Add prototype for warning avoidance.
-       * eval.c (PRIMITIVE_FUNCALL): ANSIfy
-       * free-hook.c (fun_ptr): ANSIfy
-       * getloadavg.c: Remove declaration for errno.
-       * gui.c (allocate_gui_item): ANSIfy
-       * gui.h (allocate_gui_item): ANSIfy
-       * mule-ccl.c (resolve_symbol_ccl_program): Make static
-       * realpath.c: Remove K&R support.
-       * redisplay-x.c (x_output_display_block): Don't shadow previous local
-       * glyphs-widget.c (layout_instantiate):  Don't shadow previous local
-       * gutter.c (get_gutter_coords): Make static.
-       * lread.c (locate_file_map_suffixes): Make static.
-       * ralloc.c (relinquish): ANSIfy
-       * redisplay.c:
-       * lisp.h:
-       Move prototypes from redisplay.c to lisp.h
+       * mule-charset.c (Fdefine_char): Fix problem with non-UCS
+       character.
 
-1999-09-22  Martin Buchholz  <martin@xemacs.org>
+1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
 
-       * glyphs-x.c (x_widget_set_property):
-       - Remove unnecessary initialization.
-       - Use char*, not Bufbyte *, with GET_C_STRING_OS_DATA_ALLOCA
-       * glyphs-x.c (x_widget_instantiate):
-       - Use char*, not Bufbyte *, with GET_C_STRING_OS_DATA_ALLOCA
-       * unexelf.c (unexec):
-       Add cast for C++ compilability.
-       * redisplay.h:
-       Fix a typo.
-       * ralloc.c (r_alloc_reinit):
-       SET_FUN_PTR was broken wrt ANSI aliasing!
-       To compensate, use __typeof__ when using gcc, else live with
-       possible (but rare) warnings.
-       * ralloc.c (init_ralloc):
-       Ditto
-       * ralloc.c: Use the real dlmalloc prototype for __morecore.
-       * lread.c (locate_file_map_suffixes):
-       * input-method-xlib.c (XIM_init_frame):
-       - Xlib functions should use XPointer, not XtPointer.
-       * input-method-xlib.c (XIM_delete_frame):
-       - Xlib functions should use XPointer, not XtPointer.
-       * input-method-xlib.c (IMDestroyCallback):
-       - Simplify.
-       - XFRAME (obj) can never be NULL, so don't test for it.
-       * gutter.h:
-       Add GUTTER_POS_LOOP for iterating over all gutter_pos'es
-       * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
-       Run c-backslash-region on macro body.
-       * gutter.c (gutter_was_visible):
-       Remove redundant parens - this is not a macro.
-       * gutter.c (redraw_exposed_gutters):
-       Use GUTTER_POS_LOOP.
-       * gutter.c (gutter_specs_changed):
-       Use GUTTER_POS_LOOP.
-       * gutter.c (gutter_geometry_changed_in_window):
-       Use GUTTER_POS_LOOP.
-       * gutter.c (update_frame_gutters):
-       Use GUTTER_POS_LOOP.
-       * gutter.c (init_frame_gutters):
-       Use GUTTER_POS_LOOP.
-       * file-coding.c (determine_real_coding_system):
-       Fix C++ compile error.
-       * emodules.c (find_make_module):
-       Cast return value from xrealloc
-       * emacs.c (Fkill_emacs):
-       Use __typeof__, when available.
-       * emacs.c (voodoo_free_hook):
-       Use __typeof__, when available.
-       (Unfortunately, the type of __free_hook is glibc-version-dependent)
-       * dired.c (user_cache): Use Bufbyte *, not char *
-       * dired.c (Fuser_name_all_completions): Ditto.
+       * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
+       is found.
 
-1999-09-22  Andy Piper  <andy@xemacs.org>
+1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
 
-       * redisplay.c (redisplay_frame): reset the gutter display lines
-       when we reset the subwindows.
+       * 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).
 
-       * gutter.c (reset_gutter_display_lines): new function.
+1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
 
-       * window.c (Flast_nonminibuf_window): new function equivalent to
-       FRAME_LAST_NONMINIBUF_WINDOW ().
-       (syms_of_window): declare it.
+       * mule-charset.c (Fcharset_name): Define `byte_offset' in
+       non-UTF-2000 configuration.
 
-       * redisplay.c (create_string_text_block): don't add bogus eol
-       markers to gutter display lines.
+1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
 
-       * glyphs.c (reset_subwindow_cachels): make sure we unmap
-       subwindows using unmap_subwindow so that expose events get
-       registered correctly.
+       * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
+       not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
 
-       * window.c (window_scroll): use Vwindow_pixel_scroll_increment to
-       determine how much to scroll the window.
-       (vars_of_window): Vwindow_pixel_scroll_increment is a new
-       variable.
+       * 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.
 
-1999-09-20  Robert Pluim  <rpluim@nortelnetworks.com>
+       * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
+       (CHARSET_ENCODING_TABLE): Delete.
+       (XCHARSET_ENCODING_TABLE): Delete.
+       (charset_code_point): New interface.
 
-       * glyphs-x.c (update_widget_face): Guard fontList declaration for
-       non-motif uses.
+1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
 
-1999-09-20  Andy Piper  <andy@xemacs.org>
+       * text-coding.c (char_encode_iso2022): Use `charset_code_point'
+       instead of `charset_get_byte1' and `charset_get_byte2'.
 
-       * glyphs-msw.c (mswindows_update_subwindow): update faces.
+       * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
+       (charset_get_byte2): Deleted.
 
-1999-09-19  Andy Piper  <andy@xemacs.org>
+1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
 
-       * glyphs.c (update_frame_subwindows): update if faces have
-       changed.
+       * char-ucs.h (SPLIT_CHAR): New inline function.
+       (breakup_char_1): Use `SPLIT_CHAR'.
 
-       * glyphs-x.c (x_widget_instantiate): create the clip widget using
-       lwlib rather than directly.
-       (x_finalize_image_instance): delete the clip widget using lwlib.
-       (x_update_subwindow): update widget faces.
-       (update_widget_face): new function for updating the face
-       properties of a widget.
-       (x_widget_set_property): update widget faces.
+       * mule-charset.c (range_charset_code_point): New function.
+       (charset_code_point): New function.
 
-       * lwlib-Xlw.c (xlw_create_clip_window): new function. We need to
-       manage the clip widgets using lwlib so that we can delete them in
-       a safe manner.
+       * char-ucs.h (range_charset_code_point): New interface.
+       (breakup_char_1): Use `range_charset_code_point'.
 
-1999-09-16  Martin Buchholz  <martin@xemacs.org>
+1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
 
-       * lisp-union.h:
-       * lisp-disunion.h:
-       Define new, potentially faster INT arithmetic macros
-       INT_PLUS, INT_MINUS, INT_PLUS1, INT_MINUS1
-       * bytecode.c (execute_optimized_function):
-       Use new macros.
-       Fix metering code
-       * bytecode.c (bytecode_negate):
-       Optimize for integer case.
-
-1999-08-29  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
-
-       * m/mips.h: Support for mips-linux: Add !linux around places
-       that are not valid for linux, define TEXT_START, DATA_START,
-       DATA_SEG_BITS.
-
-1999-09-16  Andy Piper  <andy@xemacs.org>
-
-       * redisplay-output.c (redisplay_output_subwindow): clip subwindows
-       that don't completely fit on-screen rather than just unmapping
-       them.
-
-       * glyphs.h: change signature of map_subwindow.
-
-       * glyphs.c (map_subwindow): add display_glyph_area to the
-       signature. make sure the mapped area saved in the subwindow_cachel
-       reflects this.
-       (Fforce_subwindow_map): make a no-op. I don't think this does
-       anything useful.
-
-       * glyphs-x.h (struct x_subwindow_data): save the Display rather
-       than the Screen. Add a clipwindow and clipwidget handle.
-       (IMAGE_INSTANCE_X_CLIPWINDOW): new accessor.
-       (IMAGE_INSTANCE_X_CLIPWIDGET): ditto.
-       (XIMAGE_INSTANCE_X_CLIPWIDGET): ditto.
-       (XIMAGE_INSTANCE_X_CLIPWINDOW): ditto.
-
-       * glyphs-x.c (x_finalize_image_instance): destroy the clipwidget
-       as well as the widget itself.
-       (x_unmap_subwindow): unmap the clipwindow and clipwidget rather
-       than the widgets and subwindows themselves. move the widget inside
-       the clipwidget.
-       (x_subwindow_instantiate): hold onto the Display rather than the
-       Screen. allocate a clipwindow to put the subwindow inside.
-       (x_resize_subwindow): use saved Display directly.
-       (x_widget_instantiate): allocate a clipwidget of type EmacsManager
-       to put widgets inside.
-
-       * glyphs-widget.c: remove group stuff.
-
-       * glyphs-msw.h (struct mswindows_subwindow_data): new structure to
-       hold the clipwindow.
-       (IMAGE_INSTANCE_MSWINDOWS_CLIPWINDOW): new accessor.
-       (XIMAGE_INSTANCE_MSWINDOWS_CLIPWINDOW): ditto.
-
-       * glyphs-msw.c: remove group stuff.
-       (mswindows_finalize_image_instance): destroy clipwindow as well as
-       the widget itself.
-       (mswindows_unmap_subwindow): unmap the clipwindow rather than the
-       widget.
-       (mswindows_map_subwindow): ditto. move the widget within the
-       clipwindow.
-       (mswindows_subwindow_instantiate): allocate and initialize
-       mswindows_subwindow_data. allocate a clipwindow with the subwindow
-       as a child.
-       (mswindows_widget_instantiate): ditto.
-       (mswindows_control_wnd_proc): new function that allows us to
-       propagate events from the widget to the main windows control loop.
+       * mule-charset.c (Fmake_charset): Delete unused local variable
+       `code_offset'.
 
-       * device-msw.c (mswindows_init_device): register new widget clip window
-       class.
+       * char-ucs.h (Vcharacter_attribute_table): New extern variable.
+       (breakup_char_1): Find a charset and code-point in
+       `Vcharacter_attribute_table'.
 
-       * console.h (struct console_methods): add display_glyph_area to
-       map_window.
+1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
 
-       * console-msw.h: declare new window class and wnd proc for
-       widgets.
+       * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
+       to 0.10 (Yao).
 
-1999-09-14  Martin Buchholz  <martin@xemacs.org>
+1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
 
-       * general.c:
-       * eldap.c:
-       Move symbols used only by eldap.c into eldap.c as statics.
+       * 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-09-09  Martin Buchholz  <martin@xemacs.org>
+1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
 
-       * window.c (syms_of_window):
-       * symbols.c (syms_of_symbols):
-       * redisplay.c (syms_of_redisplay):
-       * print.c (syms_of_print):
-       * lisp.h:
-       * intl.c (syms_of_intl):
-       * general.c (syms_of_general):
-       * frame.c (syms_of_frame):
-       * fileio.c (syms_of_fileio):
-       * file-coding.h:
-       * file-coding.c (syms_of_file_coding):
-       * extents.c (syms_of_extents):
-       * event-stream.c (syms_of_event_stream):
-       * event-stream.c (Fnext_event):
-       * device.c (syms_of_device):
-       * data.c (syms_of_data):
-       * casetab.c (syms_of_casetab):
-       * casetab.c (check_case_table):
-       * callint.c (syms_of_callint):
-       * buffer.c (syms_of_buffer):
-       Delete unused C symbols:
-       Qbuffer_file_name, Qbuffer_undo_list, Quser_variable_p,
-       Qcurrent_prefix_arg, Qtranslate_table, Qkeywordp,
-       Qnumber_or_marker_p, Qcons, Qkeyword, Qignore, Qdelete_device,
-       Qcommand_execute, Qglyph_invisible,
-       Qbuffer_file_coding_system, Qfile_name_handler_alist,
-       Qframe_x_p, Qframe_tty_p, Qblack, Qkeyboard, Qmenubar, Qpath,
-       Qvector, Qwhite, Qcase, Qdomain, Qalternate_debugging_output,
-       Qprint_escape_newlines, Qprint_readably, Qfloat_output_format,
-       Qwindow_scroll_functions, Qfboundp, Qscroll_up, Qscroll_down
+       * mule-charset.c (Fmake_charset): Just use
+       `get_unallocated_leading_byte'.
 
-       Rename symbols as required by the CHECK_RECORD macro:
-       - Qcase_table_p to Qcase_tablep
-       - Qcoding_system_p to Qcoding_systemp
+       * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
+       sets; don't use final-byte based number for private sets.
 
-       * debug.h:
-       * debug.c (syms_of_debug):
-       Make debug.c's internal Lisp_Objects static.
+1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
 
-       * events.c (vars_of_events):
-       * events.c (syms_of_events):
-       Use regular old defsymbol instead of KEYSYM + staticpro().
+       * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
+       integer.
 
-       * select-x.c (CHECK_CUTBUFFER):
-       Rewrite in accordance with coding standards.
+1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
 
-       * keymap.c (syms_of_keymap):
-       Use SPC in the same way as RET, TAB, etc.
+       * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
+       to 0.9.
 
-1999-08-27  Jan Vroonhof  <vroonhof@math.ethz.ch>
+1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
 
-       * xemacs-20/src/menubar-x.c (make_dummy_xbutton_event): Don't add
-       offset twice if HAVE_WMCOMMAND is defined.
+       * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
+       of `CHAR_LEADING_BYTE' in UTF-2000.
 
-1999-09-13 Mike McEwan <mike@lotusland.demon.co.uk>
+       * 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.
 
-       * redisplay-x.c (x_output_vertical_divider): make sure
-       shadow_thickness is positive.
+       * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
+       `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
 
-1999-09-10 Julian Back <jback@rudd.compulink.co.uk>
+       * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
+       (CHAR_CHARSET_ID): New macro.
 
-       * process-nt.c (nt_create_process): fixup to cope with
-       Vprocess_environment.
+1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
 
-1999-09-02  Andy Piper  <andy@xemacs.org>
+       * chartab.c (get_char_table): Don't use type `Charset_ID' for
+       charset-id - MIN_LEADING_BYTE.
+       (put_char_table): Likewise.
 
-       * redisplay-output.c (redisplay_output_layout): call output
-       routines with clear_clip false. output layout borders with text
-       correctly.
+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>
 
-       * redisplay-msw.c (mswindows_output_blank): call output routines
-       with clear_clip true.
-       (mswindows_output_string): ditto.
-       (mswindows_output_display_block): ditto.
+       * 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>
 
-       * redisplay-x.c (x_output_display_block): call output routines
-       with clear_clip true.
+       * 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.
 
-       * redisplay.h: fix output routines for clear_clip parameter.
+       * file-coding.c (encode_coding_ucs4): Delete bogus implement in
+       UTF2000.
+       (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
 
-       * redisplay-output.c (redisplay_output_layout): cope with glyphs
-       in the border.
+1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
 
-       * glyphs-widget.c (layout_instantiate): deal with border glyphs.
-       (check_valid_glyph_or_instantiator): renamed from
-       check_valid_glyph_or_image.
-       (check_valid_border): allow glyphs or their instantiators.
-       (check_valid_glyph_or_instantiator_list): renamed from
-       check_valid_glyph_or_image_list,
-       (glyph_instantiator_to_glyph): new function. make sure a glyph is
-       a glyph and not an instantiator.
-       (substitute_keyword_value): new function. replace a keyword value
-       with a new one.
+       * 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.
 
-1999-09-01  Andy Piper  <andy@xemacs.org>
+       * 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.
 
-       * glyphs.c (string_set_property): new function to set the data of
-       a string.
-       (image_instantiator_format_create): use it.
+1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
 
-1999-09-07  Hrvoje Niksic  <hniksic@srce.hr>
+       * mule-charset.c: Move setting for `leading-code-private-11' from
+       `syms_of_mule_charset' to `vars_of_mule_charset'.
 
-       * fns.c (Fmapc): Rename back to Fmapc_internal.
+1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
 
-1999-07-30  Gleb Arshinov  <gleb@cs.stanford.edu>
+       * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
+       and `NUM_LEADING_BYTES' in assert.
 
-       * ntheap.h: CONST (semantically constant) name field of file_data
-       struct
+1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
 
-       * unexnt.c (open_output_file): match function definition with
-       function declaration
+       * 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.
 
-       * editfns.c: #include "sysfile.h" for getcwd() prototype
+1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
 
-       * gif_io.c:  #include "sysfile.h" for close() prototype
+       * 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.
 
-1999-09-02  Martin Buchholz  <martin@xemacs.org>
+       * mule-charset.c (charset_by_leading_byte): Use
+       `NUM_LEADING_BYTES' instead of 128.
+       (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
 
-       * elhash.c:
-       * elhash.h:
-       Change the :type keyword to :weakness, for compatibility with the
-       GNU Emacs 20.5 hash table implementation.
-       Keep (but don't document) the :type keyword for compatibility.
-       Obsolete function hash-table-type
-       General cleanup.
-       Define function sxhash for compatibility with Common Lisp and GNU Emacs.
-
-1999-09-01  Martin Buchholz  <martin@xemacs.org>
-
-       * floatfns.c (arith_error):
-       * floatfns.c (range_error):
-       * floatfns.c (range_error2):
-       * floatfns.c (domain_error):
-       * floatfns.c (domain_error2):
-       * lrecord.h (LRECORDP):
-       * console-x.h (X_ERROR_OCCURRED):
-       * console-x.h (HANDLING_X_ERROR):
-       * chartab.c (CATEGORYP):
-       * buffer.h (XCHAR_OR_CHAR_INT):
-       Remove redundant and confusing parentheses.
-
-       * redisplay-output.c (redisplay_clear_to_window_end):
-       Remove redundant initialization.
+       * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
+       128.
 
-       * redisplay.h:
-       * redisplay-msw.c:
-       * redisplay-x.c:
-       Move declarations of bevel_modeline() into redisplay.h.
+1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
 
-1999-08-30  Olivier Galibert  <galibert@pobox.com>
+       * mule-charset.c (syms_of_mule_charset): Update to
+       0.4 (Shin-Imamiya).
 
-       * lisp.h: Add staticpro_nodump for undumped staticpro-ing.
-       * alloc.c: Add staticpro_nodump for undumped staticpro-ing.  Add
-                 alignment information for dumped data.  Enhance
-                 descriptions.  Phase out Vterminal_* variables while
-                 dumping.
-       * lrecord.h: Add chained descriptions and automagically-reset
-                 lisp_objects to the description system.
+1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
 
-       * console-stream.h: Declare the Vterminal_* variables.
+       * file-coding.c (encode_coding_sjis): New implementation for
+       UTF2000.  (decode_coding_sjis): Ditto.
 
-       * buffer.c: Don't dump Vbuffer_alist, Vbuffer_defaults and
-                 Vbuffer_local_symbols.
-       * console.c: Don't dump Vconsole_list, Vconsole_defaults and
-                 Vconsole_local_symbols.
-       * eval.c: Don't dump Qunbound_suspended_errors_tag.
-       * lread.c: Don't dump Vread_buffer_stream.
-       * lstream.c: Don't dump Vlstream_free_list[].
-       * search.c: Don't dump last_thing_searched.
-       * window.c: Don't dump minibuf_window and
-                 Vwindow_configuration_free_list[].
+1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
 
-       * faces.c: Add face description.
-       * fns.c: Add bit_vector description.
-       * glyphs.c: Add image specifier description.
-       * objects.c: Add color, face and face boolean specifiers descriptions.
-       * opaque.c: Add opaque description.  Don't dump Vopaque_ptr_free_list.
-       * rangetab.c: Add range table description.
-       * specifier.c: Add specifier and specifier methods description.
-       * specifier.h: Add specifier extra description support.
+       * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
+       Don't define in UTF2000.
 
-       * symbols.c: Fix symbol_value_buffer_local_description.
+       * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
+       defined.
 
-       * gdbinit (Lisp): Add opaque_ptr, remove opaque_list.
+       * 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-09-02  Hrvoje Niksic  <hniksic@srce.hr>
+1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
 
-       * extents.c (extent_remprop): Get extent's plist address
-       correctly.
+       * config.h.in (CHAR_IS_UCS4): New macro.
 
-1999-08-31  Andy Piper  <andy@xemacs.org>
+       * mule-charset.c (rep_bytes_by_first_byte): Modify for
+       conventional MULE representation.
+       (syms_of_mule_charset): Update to 0.3 (Imamiya).
 
-       * xmu.h: define Xmu/Converters.h things.
+       * mule-charset.h: Reverted to original.
 
-1999-08-31  Andy Piper  <andy@xemacs.org>
+       * 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.
 
-       * opaque.c (equal_opaque_ptr): define.
-       (hash_opaque_ptr): define.
+       * character.h: New file.
 
-       * xmu.h: define Xmu/Misc.h things.
+       * 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.
 
 1999-08-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
 
        (decode_coding_ucs4): Use `counter'.
        (decode_coding_utf8): Likewise.
 
-1999-08-31  Andy Piper  <andy@xemacs.org>
-
-       * redisplay-output.c (redisplay_normalize_glyph_area): make sure
-       the clip offset doesn't exceed the height we have available to
-       show.
-
-       * window.h (struct window): add top_yoffset and left_xoffset for
-       pixel scrolling.
-       (WINDOW_TEXT_TOP_CLIP): new macro.
-
-       * window.c (window_scroll): add behaviour for pixel-scrolling of
-       tall lines.
-
-       * redisplay.h (struct display_line): add top_clip.
-       (DISPLAY_LINE_HEIGHT): adjust for top_clip.
-       (DISPLAY_LINE_YPOS): ditto.
-
-       * redisplay.c (position_redisplay_data_type): add
-       start_col_xoffset to prepare for pixel-based h-scrolling.
-       (WINDOW_SCROLLED): new macro.
-       (next_tab_position): use it.
-       (add_glyph_rune): use new hscoll vars.
-       (create_text_block): ditto.
-       (generate_displayable_area): adjust off-by-one error.
-       (regenerate_window): take top_clip into account.
-       (regenerate_window_extents_only_changed): ditto.
-       (regenerate_window_incrementally): ditto.
-
-       * redisplay-x.c (x_output_display_block): use DISPLAY_LINE_YPOS,
-       DISPLAY_LINE_HEIGHT and DISPLAY_LINE_YEND macros.
-       (x_output_string): ditto.
-       (x_output_blank): ditto.
-       (x_output_hline): ditto.
-       (x_output_eol_cursor): ditto.
-
-       * redisplay-output.c (output_display_line): allow for
-       top_clip. use DISPLAY_LINE_YPOS, DISPLAY_LINE_HEIGHT and
-       DISPLAY_LINE_YEND macros.
-       (redisplay_output_layout): output strings in layouts correctly.
-       (redisplay_clear_clipped_region): allow for top_clip.
-       (redisplay_calculate_display_boxes): ditto.
-
-       * redisplay-msw.c (mswindows_output_blank): use DISPLAY_LINE_YPOS,
-       DISPLAY_LINE_HEIGHT and DISPLAY_LINE_YEND macros.
-       (mswindows_output_cursor): ditto.
-       (mswindows_output_string): ditto.
-       (mswindows_redraw_exposed_window): ditto.
-       (mswindows_output_display_block): ditto.
-
-       * gutter.c: new specifier type gutter-size.
-       (gutter_size_validate): validate gutter-size specifier.
-       (Fgutter_size_specifier_p): predicate for gutter-size.
-       (Fredisplay_gutter_area): allow the gutter area to be redisplayed
-       under user contol, like Fredisplay_echo_area.
-       (syms_of_gutter): add new functions.
-       (specifier_type_create_gutter): add new specifier.
-       (specifier_vars_of_gutter): change specifier types of *-height to
-       gutter-size.
-
-       * glyphs.c (glyph_width): make work with image instances.
-
-       * console.h (struct console_methods): change api of output_string.
-
-       * glyphs-x.c (x_map_subwindow): move before mapping as reported by
-       Stephen J. Turnbull <turnbull@sk.tsukuba.ac.jp>
-
-1999-08-30  Andy Piper  <andy@xemacs.org>
-
-       * glyphs-x.c (x_finalize_image_instance): X_MASK -> PIXMAP_MASK
-       for assignment.
-       (init_image_instance_from_x_image): ditto.
-       (x_xpm_instantiate): ditto.
-       (x_colorize_image_instance): ditto. Reported by Richard Cognot
-       <cognot@ensg.u-nancy.fr>
-
-1999-08-29  Andy Piper  <andy@xemacs.org>
-
-       * glyphs-x.c (x_widget_instantiate): move font initialisation so
-       that it doesn't get saved in the user defined args.
-       (x_tab_control_instantiate): Set the fg color of the tab's
-       children.
-       (x_tab_control_set_property): ditto.
-
-1999-08-27  Damon Lipparelli  <lipp@primus.com>
-
-       * events.h (XTIMEOUT): must preface Lisp_Timeout with ``struct''
-       (XSETTIMEOUT): fixup typo
-
-1999-08-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
-
-       * syntax.c (scan_words): Unified Mule and Non-mule scanning.
-       Word boundary search looks back instead of forward so that it
-       doesn't peek over the limit.
-
-1999-08-20  Olivier Galibert  <galibert@pobox.com>
-
-       * config.h.in: Add PDUMP define.
-       * emacs.c (Fdump_emacs): Hackish, call pdump() if configured in.
-
-       * lrecord.h: Enhance description system.
-       * alloc.c: Fix vector and string description.  Add portable
-       dumper enumeration fonctions.
-
-       * symbols.c:  Fix symbols description.   Add  symbol_value_forward
-       description.
-       * eval.c: Add subr description.
-       * elhash.c (CLEAR_HENTRY):   Clean  value pointer  too.   Fix hash
-       table description.
-       (remhash_1): CLEAR_HENTRY evaluates the parameter two times now.
-
-1999-08-20  Olivier Galibert  <galibert@pobox.com>
-
-       * opaque.c: Kill opaque lists, make  Lisp_Opaque_Ptr a lrecord of
-       its own.
-       * opaque.h: Ditto.
-
-       * eval.c (eval_in_buffer_trapping_errors):
-       (run_hook_trapping_errors):
-       (safe_run_hook_trapping_errors):
-       (call0_trapping_errors):
-       (call1_trapping_errors):
-       (call2_trapping_errors): OPAQUEP  -> OPAQUE_PTRP.  make_opaque_ptr
-       now takes a non-const void *.
-
-1999-08-20  Olivier Galibert  <galibert@pobox.com>
-
-       * opaque.c: Remove make_opaque_long.
-
-       * opaque.h: Remove everything opaque_long related.
-
-       * eval.c (vars_of_eval): Make Qunbound_suspended_errors_tag an
-       opaque_ptr.
-
-       * emacs.c (main_1): Remove make_opaque_long from comment.
-
-1999-08-20  Olivier Galibert  <galibert@pobox.com>
-
-       * event-stream.c (mark_timeout):
-       (print_timeout):
-       (event_stream_generate_wakeup):
-       (event_stream_resignal_wakeup):
-       (event_stream_disable_wakeup):
-       (event_stream_wakeup_pending_p):
-       (vars_of_event_stream): Lisp_Timeout is now a lrecord.
-
-       * events.h (struct Lisp_Timeout): Added.
-
-1999-08-24  Andy Piper  <andy@xemacs.org>
-
-       * console-x.h: declare new pixmap signatures.
-
-1999-08-23  Andy Piper  <andy@xemacs.org>
-
-       * glyphs-x.c (x_update_subwindow): make sure the widget size is
-       maintained after an update.
-
-       * event-Xt.c (emacs_Xt_handle_magic_event): use
-       find_matching_subwindow to check whether the exposure is totally
-       inside a subwindow, if it is then ignore it.
-
-       * glyphs.c (find_matching_subwindow): new function.
-
-       * toolbar-x.c (x_draw_blank_toolbar_button): use new
-       x_output_shadows signature.
-       (x_output_toolbar_button): use new x_output_x_pixmap signature.
-
-       * redisplay.h (struct display_box): new structure.
-       (struct display_glyph_area): ditto.
-       declare new display_box functions.
-
-       * redisplay-x.c (x_output_pixmap): update for new display
-       box stuff.
-       (x_bevel_area): update to allow multiple edge styles and border
-       segments.
-       (x_output_display_block): update for new display_box stuff and
-       signatures.
-       (x_clear_region): ditto.
-       (x_output_x_pixmap): ditto. adjust offsets rather than clip.
-       (console_type_create_redisplay_x): declare new console methods.
-       (x_output_vertical_divider): update for new bevel_area signature.
-       (x_output_shadows): update to allow selective drawing of edges.
-
-       * redisplay-tty.c (tty_output_display_block): do nothing for
-       layouts.
-
-       * redisplay-output.c (redisplay_output_subwindow): convert to use
-       display_box structure, this allows us to put subwindows anywhere
-       with any offset, useful for layout glyphs.
-       (redisplay_output_layout): new function. output a layout and its
-       sub-glyphs.
-       (redisplay_output_pixmap): new modular function combining generic
-       parts of the X and mswindows versions. convert to use display_box
-       structures.
-       (redisplay_clear_clipped_region): new function. clear the area a
-       glyph is going into.
-       (redisplay_normalize_glyph_area): new function. calculate the
-       bounds of a display_glyph_area given a display_box.
-       (redisplay_normalize_display_box): new function. shrink a
-       display_box to enclose a display_glyph_area.
-       (redisplay_display_boxes_in_window_p): check whether the input
-       display_box and display_glyph_area are actually in a window.
-       (redisplay_calculate_display_boxes): calculate display boxes based
-       on conventional display_line metrics.
-       (bevel_modeline): update for new bevel_area signature.
-
-       * redisplay-msw.c (mswindows_output_blank): update for new
-       display_box stuff.
-       (mswindows_output_string): ditto.
-       (mswindows_output_dibitmap): ditto.
-       (mswindows_output_dibitmap_region): ditto.
-       (mswindows_output_pixmap): ditto.
-       (mswindows_bevel_area): update to allow multiple edge styles and
-       border segments.
-       (mswindows_output_display_block): update for new display_box stuff
-       and signatures.
-       (mswindows_clear_region): ditto.
-       (console_type_create_redisplay_mswindows): declare new console methods.
-
-       * lisp.h (edge_style): new enum.
-       declare display_box and display_glyph_area.
-
-       * gutter.c (output_gutter): update for new bevel_area signature.
-
-       * glyphs.h (image_instance_type): add layout.
-       (IMAGE_LAYOUT_MASK): ditto.
-       (LAYOUT_IMAGE_INSTANCEP): new macro.
-       (CHECK_LAYOUT_IMAGE_INSTANCE): ditto.
-       (struct Lisp_Image_Instance): add offsets for layout and the
-       layout type itself. move mask here also.
-       (IMAGE_INSTANCE_LAYOUT_CHILDREN): new macro.
-       (IMAGE_INSTANCE_LAYOUT_BORDER): ditto.
-       (XIMAGE_INSTANCE_LAYOUT_CHILDREN): ditto.
-       (XIMAGE_INSTANCE_LAYOUT_BORDER): ditto.
-
-       * glyphs.c (mark_image_instance): update for layouts.
-       (print_image_instance): ditto.
-       (image_instance_equal): ditto.
-       (image_instance_hash): ditto.
-       (allocate_image_instance): initialise offsets for layout.
-       (decode_image_instance_type): update for layouts.
-       (encode_image_instance_type): ditto.
-       (Fimage_instance_height): ditto.
-       (Fimage_instance_width): ditto.
-       (allocate_glyph): ditto.
-       (glyph_width): allow image instances as an argument. update for layouts.
-       (glyph_height_internal): ditto.
-       (syms_of_glyphs): add layout symbols.
-
-       * glyphs-x.h (struct x_image_instance_data): remove mask entry.
-       (IMAGE_INSTANCE_X_MASK): update.
-
-       * glyphs-x.c (x_label_instantiate): new function. instantiate a
-       label.
-       (image_instantiator_format_create_glyphs_x): initialise new layout
-       glyph type.
-
-       * glyphs-widget.c: new layout type.
-       (check_valid_orientation): new keyword checker for layouts.
-       (check_valid_justification): ditto.
-       (check_valid_border): ditto.
-       (check_valid_glyph_or_image_list): ditto.
-       (layout_possible_dest_types): new function for layout glyph type.
-       (layout_normalize): ditto.
-       (layout_instantiate): ditto.
-       (syms_of_glyphs_widget): new keywords for layout.
-       (image_instantiator_format_create_glyphs_widget): initialise the
-       layout glyph type.
-
-       * glyphs-msw.h (struct mswindows_image_instance_data): remove mask
-       argument.
-       (IMAGE_INSTANCE_MSWINDOWS_MASK): update.
-
-       * glyphs-msw.c: declare layout format.
-       (image_instantiator_format_create_glyphs_mswindows): initialise it.
-
-       * general.c: new symbols for layouts.
-
-       * console.h (struct console_methods): new console methods for
-       outputting pixmaps and strings.
-
-1999-08-23  Didier Verna  <verna@inf.enst.fr>
-
-       * sound.c: revert the renaming of `bell_volume' to `Vbell_volume'
-       and `bell_inhibit_time' to `Vbell_inhibit_time'.
-
-1999-08-18  Andy Piper  <andy@xemacs.org>
-
-       * redisplay-output.c (redisplay_output_subwindow): disable
-       clipping attempt.
-
-1999-08-17  Andy Piper  <andy@xemacs.org>
-
-       * gutter.c (redraw_exposed_gutter): handle degenerate case of no
-       area to expose or no gutter to display.
-
-1999-08-16  Charles G Waldman  <cgw@fnal.gov>
-
-       * sound.c: rename `bell_volume' to `Vbell_volume' and
-       `bell_inhibit_time' to `Vbell_inhibit_time'.
-
-1999-08-13  Charles G Waldman  <cgw@fnal.gov>
-
-       * sound.c: (bell-inhibit-time): New variable.
-       (ding): Use it.
-       (sound-alist): Fix docstring.
-
-1999-08-17  Andy Piper  <andy@xemacs.org>
-
-       * gui-x.c (button_item_to_widget_value): xstrdup name so that
-       deleting it is ok.
-
-1999-08-16 Jeff Miller <jmiller@smart.net>
-
-       * syntax.c (scan_words): make compile.
-
-1999-08-16  Andy Piper  <andy@xemacs.org>
-
-       * redisplay-output.c (redisplay_output_subwindow): try and be more
-       relaxed about clipping possibilities.
-
-       * glyphs-x.c (x_tab_control_set_property): free_widget_value_tree
-       rather than just the widget_value.
-       (x_update_subwindow): ditto.
-       (x_widget_instantiate): ditto.
-
-       * gutter.c (output_gutter): shrink current display lines if
-       required.
-
-1999-08-15  Andy Piper  <andy@xemacs.org>
-
-       * redisplay.h: declare free_display_lines.
-
-       * redisplay.c (free_display_lines): make non-static.
-
-       * gutter.c (free_frame_gutters): use free_display_lines instead of
-       Dynarr_free.
-       (calculate_gutter_size): ditto.
-
-1999-08-12  Jan Vroonhof  <vroonhof@math.ethz.ch>
-
-       * eval.c (run_hook_with_args_in_buffer): GCPRO globals.
-
-1999-08-14  Andy Piper  <andy@xemacs.org>
-
-       * glyphs.c (update_subwindow_cachel): make it less brittle.
-
-1999-08-04  Mike Woolley  <mike@bulsara.com>
-
-       * scrollbar-msw.c (mswindows_handle_mousewheel_event): Fixed
-       problem in wheelmouse code occurring when the horizontal scrollbar
-       is enabled but not visible.
-
-1999-08-08  Andy Piper  <andyp@beasys.com>
-
-       * toolbar-msw.c (mswindows_redraw_frame_toolbars): new function.
-       (console_type_create_toolbar_mswindows): use it.
-
-       * glyphs.c (Fset_image_instance_property): fiddly reorganisation.
-
-       * redisplay-output.c (redisplay_output_display_block): unmap
-       subwindows in the block area before outputting the block.
-
-       * event-msw.c (mswindows_wnd_proc): check the update rect before
-       painting and disable expose registration while painting.
-
-       * glyphs.c (register_ignored_expose): check
-       hold_ignored_expose_registration before registering expose events.
-
-       * redisplay.c (redisplay_frame): reset the subwindow cache before
-       displaying the gutter.
-
-       * glyphs-msw.c (mswindows_map_subwindow): move the window before
-       mapping.
-
-       * gutter.c (update_frame_gutters): check for glyphs_changed as if
-       it is the subwindow cache will have been reset.
-
-1999-08-06  Andy Piper  <andyp@beasys.com>
-
-       * gui-x.c (button_item_to_widget_value): cope with strings.
-
-       * glyphs.h: declare global widget functions.
-       (IIFORMAT_HAS_SHARED_DEVMETHOD): new macro.
-
-       * glyphs-x.c (x_combo_box_instantiate): do generic initialization
-       here. remove dead code.
-       (image_instantiator_format_create_glyphs_x): enable combo boxes
-       for Motif 2.0.
-
-       * glyphs-widget.c (widget_instantiate_1): make non-static.
-       (tree_view_instantiate): renamed from combo_box_instantiate.
-       (image_instantiator_format_create_glyphs_widget): use new/changed methods.
-
-       * glyphs-msw.c (mswindows_combo_box_instantiate): do generic
-       initialization here.
-
-       * lwlib-Xm.c (xm_update_combo_box): new function.
-       (xm_update_one_widget): call it.
-       (xm_update_one_value): deal with combo boxes as well as lists.
-       (xm_create_combo_box): create a drop-down combo box.
-
-       * toolbar-msw.c (mswindows_output_toolbar): call
-       mswindows_move_toolbar.
-
-1999-08-05  Andy Piper  <andyp@beasys.com>
-
-       * window.c (Fcurrent_pixel_column): new function. use display
-       lines to calculate pixel position of point.
-       * window.c (syms_of_window): declare it.
-
-1999-08-05  Andy Piper  <andy@xemacs.org>
-
-       * glyphs.c (check_for_ignored_expose): ignore exposures wholly
-       contained in our ignore list.
-
-       * buffer.c (Frecord_buffer): add call to record-buffer-hook.
-       (syms_of_buffer): declare record-buffer-hook.
-
-       * s/mingw32.h: define mousewheel things.
-
-1999-08-04  Mike Woolley <mike@bulsara.com>
-
-       * windowsnt.h (_WIN32_WINNT): enable for win95
-
-       * s/cygwin32.h: define mousewheel things.
-
-       * scrollbar-msw.h: declare mousewheel handler.
-
-       * scrollbar-msw.c (mswindows_handle_mousewheel_event): new function.
-
-1999-08-04  Andy Piper  <andy@xemacs.org>
-
-       * gui-x.c (gui_items_to_widget_values): remove unused variable.
-       (gui_items_to_widget_values_1): ditto.
-
-       * gui-x.h: unconditionally define since it is used everywhere.
-
-1999-08-04  Andy Piper  <andy@xemacs.org>
-
-       * glyphs-x.c (x_finalize_image_instance): only free pixels if we
-       have that type of image.
-
-1999-07-30  Andy Piper  <andy@xemacs.org>
-
-       * redisplay-output.c (redisplay_unmap_subwindows): add comparison
-       subwindow to not unmap if required.
-       (redisplay_unmap_subwindows_maybe): comparison is Qnil.
-       (redisplay_unmap_subwindows_except_us): new function.
-       (redisplay_output_subwindow): use it to unmap windows in the area
-       we are displaying into.
-
-       * glyphs.c (update_subwindow_cachel_data): always update as we
-       only ever get called when an update is required.
-       (update_subwindow_cachel): new function. sync a subwindow with its
-       cachel.
-       (Fresize_subwindow): use it.
-       (register_ignored_expose): make sure we set the tail correctly.
-
-1999-07-28  Andy Piper  <andy@xemacs.org>
-
-       * redisplay-output.c (redisplay_clear_bottom_of_window): remove
-       unneeded device.
-
-       * gutter.c (redraw_exposed_gutter): unmap subwindows from the
-       whole gutter.
-
-       * gui.h: declare parse_gui_item_tree_list and
-       parse_gui_item_tree_children.
-
-       * gui.c (parse_gui_item_tree_item): new function for parsing item
-       lists into gui-item trees.
-       (parse_gui_item_tree_children): ditto.
-       (parse_gui_item_tree_list): ditto.
-
-       * gui-x.h: declare gui_items_to_widget_values.
-
-       * gui-x.c (gui_items_to_widget_values_1): new function for
-       recursively parsing gui-items into widget_values.
-       (gui_item_children_to_widget_values): ditto.
-       (gui_items_to_widget_values): ditto.
-       (sanity_check_lwlib): add widgets macrolets.
-
-       * glyphs.h (IMAGE_INSTANCE_WIDGET_ITEMS): rename from *ITEM.
-       (XIMAGE_INSTANCE_WIDGET_ITEMS): ditto.
-       (IMAGE_INSTANCE_WIDGET_ITEM): rename from *SINGLE_ITEM.
-       (XIMAGE_INSTANCE_WIDGET_ITEM): ditto.
-       (struct expose_ignore): new structure for storing ignorable expose
-       events.
-
-       * glyphs.c (valid_image_instantiator_format_p): fix so that using
-       a console-type as a locale works.
-       (mark_image_instance): ITEM->ITEMS.
-       (image_instance_equal): ditto.
-       (image_instance_hash): ditto.
-       (struct expose_ignore_blocktype): new blocktype.
-       (check_for_ignored_expose): new function. checks frame exposure
-       list for events to ignore.
-       (register_ignored_expose): new function. registers an expose event
-       as ignorable.
-       (unmap_subwindow): register the expose event as ignorable.
-       (vars_of_glyphs): initialise the exposure blocktype.
-
-       * glyphs-x.c (x_finalize_image_instance): use lw_destroy_widget.
-       (x_update_subwindow): modify all widgets using widget_value tree
-       rather than just a single widget value.
-       (x_widget_instantiate): LWLIB_USES_MOTIF -> LWLIB_WIDGETS_MOTIF.
-       make sure widgets don't resize themselves.
-       (x_tab_control_instantiate): new function. use lwlib tab functions.
-       (x_tab_control_set_property): new function.
-       (image_instantiator_format_create_glyphs_x): add tab_control.
-
-       * glyphs-widget.c (widget_text_to_pixel_conversion): calculate
-       slightly more sensibly.
-       (initialize_widget_image_instance): ITEM->ITEMS.
-       (widget_instantiate_1): parse gui items generically into the ITEMS
-       entry.
-
-       * glyphs-msw.c (mswindows_update_subwindow): replace
-       SINGLE_ITEM->ITEM.
-       (mswindows_register_widget_instance): ditto.
-       (add_tree_item): modify to use new pre-initialised gui-item
-       structure.
-       (add_tab_item): ditto.
-       (mswindows_tab_control_instantiate): ditto.
-       (mswindows_tab_control_set_property): ditto.
-       (image_instantiator_format_create_glyphs_mswindows): predicate
-       existance of widgets on HAVE_WIDGETS.
-
-       * frame.h (struct frame): add subwindow_exposures variables.
-
-       * frame.c (allocate_frame_core): reset subwindow_exposures links.
-
-       * event-msw.c (mswindows_wnd_proc): check for ignored
-       expose events before redrawing.
-
-       * event-Xt.c (emacs_Xt_handle_magic_event): check for ignored
-       expose events before redrawing.
-
-1999-07-30  SL Baur  <steve@xemacs.org>
-
-       * scrollbar-x.c: should include EmacsFrame.h.
-       From Jeff Miller <jmiller@smart.net>
-
 1999-07-30  XEmacs Build Bot <builds@cvs.xemacs.org>
 
        * XEmacs 21.2.19 is released
 
 1999-07-27  Jeff Miller  <jmiller@smart.net>
 
-       * add a "#ifdef HAVE_MENUBARS"  wrapper to gui.c around
+       * add a "#ifdef HAVE_MENUBARS"  wrapper to gui.c around 
          menubar_show_keybindings.
 
 1999-07-23  SL Baur  <steve@miho>
 
        * event-Xt.c (handle_focus_event_1): Re-enable Motif/XIM to get
        focus the event (XIM_focus_event).
-       (emacs_Xt_handle_magic_event): No side effect on Motif/XIM because
+       (emacs_Xt_handle_magic_event): No side effect on Motif/XIM because 
        XIM_SetGeometry does nothing in input_method_motif.c, but re-unify
        the interface for future use (XIM_SetGeometry).
-       * redisplay-x.c (x_output_string): Re-enable Motif/XIM to set spot
+       * redisplay-x.c (x_output_string): Re-enable Motif/XIM to set spot 
        location (XIM_SetSpotLocation).
        (x_output_eol_cursor): Ditto.
 
 
        * redisplay-x.c (redisplay_clear_to_window_end): moved to
        redisplay.c
-
+       
        * redisplay-msw.c (redisplay_clear_to_window_end): deleted.
 
        * gutter.c: new file - implements gutters. All new functions are
 
 1999-07-03  Gunnar Evermann  <ge204@eng.cam.ac.uk>
 
-       * tooltalk.c (init_tooltalk): save signal actions for SIGQUIT,
-       SIGINT and SIGCHLD before calling tt_open and restore the
-       afterwards. This fixes e.g. the zombie subprocesses on Solaris
+        * tooltalk.c (init_tooltalk): save signal actions for SIGQUIT,
+        SIGINT and SIGCHLD before calling tt_open and restore the
+        afterwards. This fixes e.g. the zombie subprocesses on Solaris
 
 1999-07-06  SL Baur  <steve@xemacs.org>
 
 
 1998-12-11  Martin Buchholz  <martin@xemacs.org>
 
-       * event-msw.c (mswindows_cancel_dispatch_event):
-       Gratuitous code prettification
+        * event-msw.c (mswindows_cancel_dispatch_event):
+        Gratuitous code prettification
 
 
 1998-12-07  Hrvoje Niksic  <hniksic@srce.hr>
 
 1998-08-07 Matt Stupple <matts@tibco.com>
 
-       * ntproc.c: don't wait on char_consumed at thread entry.
+        * ntproc.c: don't wait on char_consumed at thread entry.
        Additionally, to get the 'process' marked as finished, ensure
        that the CHILD_ACTIVE macro returns false, so before exiting
        close char_avail and set it to NULL, and close other handles
@@ -7259,7 +7055,7 @@ Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
 
 1998-05-14  Damon Lipparelli  <lipp@primus.com>
 
-       * winslots.h: close comment
+        * winslots.h: close comment
 
 1998-05-16  Kirill M. Katsnelson  <kkm@kis.ru>