]> git.eshelyaron.com Git - emacs.git/commitdiff
*** empty log message ***
authorEli Zaretskii <eliz@gnu.org>
Sat, 18 Oct 2008 18:07:37 +0000 (18:07 +0000)
committerEli Zaretskii <eliz@gnu.org>
Sat, 18 Oct 2008 18:07:37 +0000 (18:07 +0000)
src/ChangeLog

index 55e83089cd39b8c6c46c5ba138a478585f2d231c..ebabb5cd15234544a42ded7f53e41d50eb5a6368 100644 (file)
-2008-10-18  Martin Rudalics  <rudalics@gmx.at>
-
-       * window.c (Fwindow_width, Fset_window_start)
-       (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)
-       (Fdelete_windows_on, Freplace_buffer_in_windows): Make
-       doc-strings follow code and Elisp manual more closely.
-       (Fwindow_dedicated_p): Make window argument optional.
-       (Fset_window_dedicated_p): Rename argument "arg" to "flag".
-       (Fset_window_buffer): Respect any non-nil dedicated value for
-       window.  Rename "buffer" argument to "buffer_or_name".
-
-2008-10-18  Ulrich Mueller  <ulm@gentoo.org>
-
-       * m/sh3.h: New file, machine description for SuperH.
-
-2008-10-17  Martin Rudalics  <rudalics@gmx.at>
-
-       * window.c (Fsplit_window): Rename arg horflag to horizontal.
-
-2008-10-17  Kenichi Handa  <handa@m17n.org>
-
-       * ftfont.c (ftfont_otf_features): Fix indexing
-       gsub_gpos->FeatureList.Feature.  Check the validity of indices.
-
-2008-10-16  Magnus Henoch  <mange@freemail.hu>
-
-       * dbusbind.c (Fdbus_call_method): Unbreak usage line.
-       (Fdbus_call_method_asynchronously): Ditto.
-       This change makes C-h f display the argument list.
-
-2008-10-16  Chong Yidong  <cyd@stupidchicken.com>
-
-       * fileio.c (Fexpand_file_name): Doc fix.
-
-       * xfaces.c (Finternal_set_lisp_face_attribute): Make null values
-       of :foreground and :background equivalent to unspecified (20.x
-       compatibility).
-
-2008-10-15  Eli Zaretskii  <eliz@gnu.org>
-
-       * buffer.c (syms_of_buffer): Doc fix.
-
-2008-10-14  Kenichi Handa  <handa@m17n.org>
-
-       * font.c (font_clear_prop): When clearing font width, clear the
-       average width field too.
-
-2008-10-12  Andreas Schwab  <schwab@suse.de>
-
-       * ftfont.c (ftfont_shape_by_flt): Make static.
-       * ftfont.h (ftfont_shape_by_flt): Don't declare.
-
-       * font.c: Don't include <m17n-flt.h>.
-
-2008-10-10  Eli Zaretskii  <eliz@gnu.org>
-
-       * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.
-
-2008-10-09  Eli Zaretskii  <eliz@gnu.org>
-
-       * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed
-       away code.
-
-2008-10-09  Chong Yidong  <cyd@stupidchicken.com>
-
-       * dispnew.c (update_text_area): Avoid looping due to large glyph
-       overhangs (bug#1070).
-
-2008-10-09  Kenichi Handa  <handa@m17n.org>
-
-       * fontset.c (face_for_char): If face->fontset is negative, just
-       return ascii_face.
-
-       * font.c (font_delete_unmatched): Fix previous change.  Don't
-       reject an entity if DPI and AVGWIDTH of an entity are 0.
-
-2008-10-09  Martin Rudalics  <rudalics@gmx.at>
-
-       * frame.c (Fraise_frame): On text-only terminals select frame in
-       order to make it visible.  (Bug#1061)
-
-2008-10-08  Chong Yidong  <cyd@stupidchicken.com>
-
-       * fontset.c (fontset_find_font): Check frame validity.
-
-2008-10-07  Chong Yidong  <cyd@stupidchicken.com>
-
-       * gtkutil.c (xg_display_open): Reset default display if none
-       exists.
-       (xg_display_close): Allow Emacs to close all displays (bug#985).
-
-2008-10-06  Andreas Schwab  <schwab@suse.de>
-
-       * sysdep.c (sys_signal): Always set SA_RESTART when
-       noninteractively.
-
-2008-10-06  Chong Yidong  <cyd@stupidchicken.com>
-
-       * emacs.c (Vbefore_init_time, Vafter_init_time): Moved from
-       startup.el.
-
-       * lisp.h: (Vbefore_init_time, Vafter_init_time): Declare.
-
-       * gtkutil.c (x_wm_set_size_hint): Return immediately if called
-       during initialization.
-
-2008-10-04  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (redisplay_internal): If frame switched, redisplay the
-       whole thing on MSDOS frames as well as on a TTY.
-
-       * dispnew.c (update_frame): Flush termscript for MSDOS frames as
-       well as for TTY.
-       (Fopen_termscript): Allow opening a termscript on MSDOS frames as
-       well as on a TTY.
-
-       * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames
-       as well as for TTY.
-
-       * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.
-
-       * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for
-       MSDOS frames as well.
-
-2008-10-02  Adrian Robert  <Adrian.B.Robert@gmail.com>
-
-       * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with
-       correct arguments.
-       * menu.c (find_and_return_menu_selection) Add cast.
-
-2008-10-03  Glenn Morris  <rgm@gnu.org>
-
-       * emacs.c (USAGE1): Add --daemon.
-
-2008-10-02  Eli Zaretskii  <eliz@gnu.org>
-
-       * process.c (procfs_system_process_attributes): Multiply `pcpu' by
-       100, so it's in percents as advertised.
-
-2008-10-02  Adrian Robert  <Adrian.B.Robert@gmail.com>
-
-       * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)
-       (ns_output.current_cursor, ns_output.desired_cursor)
-       (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)
-       (FRAME_NEW_CURSOR_COLOR): Remove.
-
-       * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.
-       (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core emacs
-       enumeration (HOLLOW_BOX_CURSOR, etc.).
-
-       * nsterm.m (ns_frame_rehighlight): Remove commented code.
-       (draw_window_cursor): Simplify code.
-       (EmacsView-windowDidBecomeKey:,-windowDidResignKey:): Don't
-       change cursor type. In latter, call rehighlight instead of doing
-       updates manually.
-       (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel): Use
-       core emacs cursor types.
-
-       * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor() under
-       NS.
-
-2008-10-02  Martin Rudalics  <rudalics@gmx.at>
-
-       * process.c (Faccept_process_output): Fix doc-string.
-
-2008-10-02  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * gmalloc.c (__sbrk): Also define for uClibc.
-
-       * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition
-       for uClibc.
-
-2008-10-01  Adrian Robert  <Adrian.B.Robert@gmail.com>
-
-       * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal
-       styles.
-       (nsfont_open): Reenable the cache.
-
-2008-10-01  Adrian Robert  <Adrian.B.Robert@gmail.com>
-
-       * font.c (font_matching_entity): Reflect ATTRS in font selection.
-       (font_find_for_lface) [HAVE_NS]: Don't ignore case.
-
-2008-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to
-       a suspended terminal.
-
-2008-09-30  Michael Albinus  <michael.albinus@gmx.de>
-
-       * dbusbind.c (xd_signature): Use strcat instead of sprintf.
-
-2008-09-30  Eli Zaretskii  <eliz@gnu.org>
-
-       * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.
-
-2008-09-30  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xdisp.c (move_it_to): Don't advance the iterator if the last tab
-       in a continued line coincides with a line beginning.
-
-2008-09-29  Adrian Robert  <Adrian.B.Robert@gmail.com>
-
-       * nsfont.m (nsfont_trait_distance): Fix bug.
-       (nsfont_list): Return a list rather than a vector (syncs with Handa
-       changes of 2008-05-14).
-       (nsfont_open): Improve logging.
-
-2008-09-29  Andreas Schwab  <schwab@suse.de>
-
-       * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
-
-2008-09-28  Martin Rudalics  <rudalics@gmx.at>
-
-       * character.c (Fchar_resolve_modifiers): Rewrite Elisp function
-       name as char-resolve-modifiers.
-       Reported by: Markus Triska <markus.triska@gmx.at>
-
-2008-09-28  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * dispnew.c (init_display): Return earlier when running as a daemon.
-
-2008-09-27  Adrian Robert  <Adrian.B.Robert@gmail.com>
-
-       * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).
-
-2008-09-27  Eli Zaretskii  <eliz@gnu.org>
-
-       * composite.c (Fcomposition_get_gstring)
-       (Fcompose_region_internal, Fcompose_string_internal)
-       (Ffind_composition_internal): Doc fix.
-       (syms_of_composite) <compose-chars-after-function>: Doc fix.
-       (syms_of_composite) <auto-composition-function>: Doc fix.
-       (syms_of_composite) <composition-function-table>: Doc fix.
-
-2008-09-25  Chong Yidong  <cyd@stupidchicken.com>
-
-       * search.c (wordify): New argument for lax word-ends.
-       (Fword_search_forward_lax, Fword_search_backward_lax): New funs.
-
-2008-09-24  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * lisp.h (is_daemon): Declare.
-       * dispnew.c (init_display): Do not try to initialize the terminal
-       when running as a daemon.
-
-2008-09-22  Chong Yidong  <cyd@stupidchicken.com>
-
-       * nsfns.m (compute_tip_xy): Use x_display_pixel_width and
-       x_display_pixel_height.
-
-2008-09-22  Martin Rudalics  <rudalics@gmx.at>
-
-       * undo.c (record_point): Don't call Fundo_boundary for first
-       change.  (Bug#731)
-
-2008-09-22  Juanma Barranquero  <lekktu@gmail.com>
-
-       * emacs.c (Fdaemonp): Doc fix.
-
-2008-09-22  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * emacs.c (main): Place #ifdef in the proper place.
-
-2008-09-21  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * emacs.c (standard_args): Add --daemon.
-       (main): Disconnect from the terminal when --daemon is passed.
-       (is_daemon): New variable.
-       (Fdaemonp): New function.
-       (syms_of_emacs): Defsubr it.
-
-2008-09-20  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xdisp.c (get_next_display_element): Handle string display
-       correctly when checking for the end of a box run.
-
-2008-09-20  Glenn Morris  <rgm@gnu.org>
-
-       * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.
-       (syms_of_fileio): Add Qdelete_by_moving_to_trash.
-       (Frename_file): Avoid copying to trash if a rename involves
-       a delete.  (Bug#964).
-
-2008-09-20  Eli Zaretskii  <eliz@gnu.org>
-
-       * keyboard.c (Fset_quit_char, Fset_input_meta_mode)
-       (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS
-       frames as well as termcap frames.
-       (handle_interrupt): Remove "#ifndef MSDOS" around the call to
-       get_named_tty.
-
-2008-09-19  Eli Zaretskii  <eliz@gnu.org>
-
-       * process.c (procfs_system_process_attributes): Fix cmdline in
-       case /proc/PID/cmdline is empty.
-
-       * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and
-       x_display_pixel_height.
-
-2008-09-19  Juanma Barranquero  <lekktu@gmail.com>
-
-       * frame.c (x_fullscreen_adjust): Declare var as Display_Info.
-
-       * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)
-       (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.
-
-2008-09-19  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * dispextern.h (struct it): Move line_wrap away from the middle of
-       bitfields.  Move voffset in struct iterator_stack_entry after the
-       bitfields.  Move tab_width near after another short.
-
-2008-09-18  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * frame.h (struct frame): Move alpha from the middle of bitfields.
-
-       * window.h (struct window): Move frozen_window_start_p after the
-       rest of the bitfields to reduce padding.
-
-2008-09-18  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xterm.h (x_display_info): Remove `height' and `width' members.
-
-       * nsterm.h (ns_display_info): Remove `height' and `width' members.
-
-       * w32term.h (w32_display_info): Remove `height', `width',
-       `height_in', and `width_in' members.
-
-       * xterm.c (x_display_pixel_height, x_display_pixel_width): New
-       functions.
-       (x_calc_absolute_position): Use them.
-       (x_term_init): Omit removed `height' and `width' members.
-
-       * w32term.c (x_display_pixel_height, x_display_pixel_width): New
-       functions.
-       (w32_read_socket, x_calc_absolute_position): Use them.
-       (w32_initialize_display_info, w32_term_init): Omit removed members
-       of w32_display_info.
-
-       * nsterm.m (x_display_pixel_height, x_display_pixel_width): New
-       functions.
-       (ns_initialize_display_info): Omit removed members of
-       ns_display_info.
-
-       * xterm.c (x_display_pixel_height, x_display_pixel_width): New
-       functions.
-       (x_calc_absolute_position): Use them.
-       (x_term_init): Omit removed `height' and `width' members.
-
-       * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)
-       (compute_tip_xy): Use x_display_pixel_height and
-       x_display_pixel_width.
-
-       * frame.c (x_fullscreen_adjust): Use x_display_pixel_height and
-       x_display_pixel_width.
-
-       * xmenu.c (menu_position_func): Use x_display_pixel_height and
-       x_display_pixel_width.
-
-2008-09-18  Kenichi Handa  <handa@m17n.org>
-
-       * composite.c (fill_gstring_header): Don't check FROM and TO here.
-       (composition_compute_stop_pos): Fix handling of static composition.
-       (Fcomposition_get_gstring): Check FROM and TO at first.
-
-2008-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject
-       mixup (YAILOM).
-
-2008-09-17  Chong Yidong  <cyd@stupidchicken.com>
-
-       * indent.c (Fvertical_motion): Use position reported by iterator
-       instead of PT for determining screen motion (bug#943).
-
-2008-09-17  Romain Francoise  <romain@orebokech.com>
-
-       * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.
-
-2008-09-17  Kenichi Handa  <handa@m17n.org>
-
-       * ftfont.c (ftfont_shape_by_flt): Downcase family name.
-
-       * composite.c (Fcomposition_get_gstring): Make bigger gstring_work
-       if necessary.
-
-2008-09-16  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (make_conversion_work_buffer): Avoid calling
-       Fget_buffer_create if it is not necessary.
-
-2008-09-15  Martin Rudalics  <rudalics@gmx.at>
-
-       * window.c (Fselect_window): Don't update window_select_count and
-       use_time when norecord is not nil.
-
-2008-09-14  Kenichi Handa  <handa@m17n.org>
-
-       * fileio.c (Finsert_file_contents): Delete incorrect decrement of
-       specpdl_ptr.
-
-2008-09-12  Kenichi Handa  <handa@m17n.org>
-
-       * indent.c (scan_for_column): Don't handle automatic composition
-       if the current buffer is not associated with a window.
-
-       * composite.c (composition_reseat_it): If the current buffer is
-       not associated with a window, ignore the automatic composition.
-       (find_automatic_composition): Likewise.
-
-2008-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.
-       (Fgpm_mouse_stop): Use it.
-       * termhooks.h (close_gpm): Declare.
-       * keyboard.c (tty_read_avail_input): Forcefully close the gpm
-       connection if Gpm_GetEvent fails.
-
-       * window.c (set_window_buffer): Always preserve current-buffer.
-
-2008-09-12  Glenn Morris  <rgm@gnu.org>
-
-       * charset.c (init_charset): Warn if etc/charsets not found.  (Bug#909)
-
-2008-09-11  Glenn Morris  <rgm@gnu.org>
-
-       * charset.c (charset-map-path): Doc fix.
-
-2008-09-10  Kenichi Handa  <handa@m17n.org>
-
-       * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.
-
-       * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment
-       compose a grapheme cluster with the preceding base glyph.
-
-       * composite.c (composition_compute_stop_pos): Fix previous change.
-       Reset cmp_it->id to -1 at first.
-
-2008-09-10  Glenn Morris  <rgm@gnu.org>
-
-       * Makefile.in (character.o, chartab.o): Fix config.h typo.
-
-2008-09-09  Chong Yidong  <cyd@stupidchicken.com>
-
-       * keyboard.c (read_key_sequence): Reapply translation maps when
-       switching keyboards.
-
-2008-09-09  Kenichi Handa  <handa@m17n.org>
-
-       * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
-       characters.
-
-       * composite.c (FORWARD_CHAR): Fix calculation
-       of (POSITION).pos_byte.
-       (composition_compute_stop_pos): Limit the search of composition to
-       at most 500 characters ahead.  If we reach the limit or find a
-       newline, set cmp_it->ch to -2 and return 0.
-       (composition_reseat_it): Handle the case that cmp_it->ch is -2.
-
-2008-09-08  Kenichi Handa  <handa@m17n.org>
-
-       * indent.c (Fvertical_motion): Be sure to set
-       it_overshoot_expected if it.cmp_it.id is non-negative.
-
-2008-09-07  Andreas Schwab  <schwab@suse.de>
-
-       * callproc.c (Fcall_process): Don't hold references to string data
-       across garbage collection.  Move initialisation of new_argv down
-       to avoid compiler bug.
-
-2008-09-07  Roland Winkler  <Roland.Winkler@physik.uni-erlangen.de>
-
-       * process.c (Fsystem_process_attributes): Doc fix.
-
-2008-09-07  Chong Yidong  <cyd@stupidchicken.com>
-
-       * callproc.c (Fcall_process): Canonicalize current directory name.
-
-       * xdisp.c (move_it_to): When moving by vpos, ensure that the
-       iterator advances to the next line if the current line ends in a
-       continued tab.
-
-2008-09-07  Teodor Zlatanov  <tzz@lifelogs.com>
-
-       * nsfont.m (nsfont_draw): Fix the references to missing gidx data
-       member to point to cmp_from.
-
-       * xdisp.c: Doc fix for references to gidx data member.
-
-2008-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * buffer.c (Fbuffer_swap_text): Reset window->point markers.
-
-2008-09-07  Kenichi Handa  <handa@m17n.org>
-
-       * composite.c (FORWARD_CHAR): Check STOP after
-       incrementing (POSITION).pos.
-
-2008-09-06  Roland Winkler  <Roland.Winkler@physik.uni-erlangen.de>
-
-       * process.c (Fsystem_process_attributes): Doc fix.
-
-2008-09-06  Chong Yidong  <cyd@stupidchicken.com>
-
-       * keyboard.c (Ftop_level): Doc fix.
-
-2008-09-06  Eli Zaretskii  <eliz@gnu.org>
-
-       * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a
-       minibuffer, don't let lower part of menu invade the echo area.
-
-       * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a
-       "char *q" to access menu text and advance through it.  Revert the
-       change that displayed ">" instead of ASCII character 0x10.
-
-2008-09-05  Eli Zaretskii  <eliz@gnu.org>
-
-       * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of
-       toggle boxes and radio buttons on MS-DOS as well.
-
-2008-09-05  Kenichi Handa  <handa@m17n.org>
-
-       * composite.c (autocmp_chars): Check lookback count.
-       (composition_compute_stop_pos): Set cmp_it->lookback.
-       (composition_reseat_it): Check lookback count.
-       (struct position_record): New struct.
-       (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.
-       (find_automatic_composition): New function.
-       (composition_adjust_point): Use find_automatic_composition.
-
-       * dispextern.h (struct composition_it): New member lookback.
-
-2008-09-02  Chong Yidong  <cyd@stupidchicken.com>
-
-       * indent.c (Fvertical_motion): Don't call move_it_by_lines again
-       if moving by a single line.
-
-2008-09-02  Andreas Schwab  <schwab@suse.de>
-
-       * xterm.c (x_delete_display): Fix merge error.
-
-       * fileio.c (Fexpand_file_name): Remove unused variables.
-
-2008-09-02  Eli Zaretskii  <eliz@gnu.org>
-
-       * fileio.c (Fexpand_file_name): Copy argument `name' into local
-       storage on all platforms, not just on DOS_NT.
-
-2008-09-02  Jason Rumney  <jasonr@gnu.org>
-
-       * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show): Ensure
-       mouse is not grabbed after menu is finished.
-
-2008-09-01  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xfaces.c (Finternal_set_alternative_font_family_alist)
-       (Finternal_set_alternative_font_registry_alist): Properly copy
-       entire alist structure.
-
-2008-09-01  Kenichi Handa  <handa@m17n.org>
-
-       * ftfont.c (ftfont_spec_pattern): Don't create a charset of the
-       representative chars of the script is a vector.
-       (ftfont_list): Handle the case the representative chars of the
-       script is a vector.
-
-       * character.c (syms_of_character): Docstring of
-       script-representative-chars fixed.
-
-2008-08-31  Eli Zaretskii  <eliz@gnu.org>
-
-       * msdos.c (BUILD_CHAR_GLYPH): New macro.
-       (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct
-       the menu.  Allocate larger buffer for `text', to account for
-       possible ^C characters.
-
-2008-08-31  Martin Rudalics  <rudalics@gmx.at>
-
-       * xdisp.c (prepare_menu_bars): Don't call
-       Vwindow_size_change_functions with arg Qt.
-
-2008-08-31  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * font.h (font_range):
-       * fileio.c (report_file_error):
-       * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.
-
-2008-08-30  Glenn Morris  <rgm@gnu.org>
-
-       * data.c (Fmake_variable_frame_local): Doc fix.
-
-       * frame.c (Fmodify_frame_parameters): Doc fix.
-
-2008-08-30  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32.c (init_user_info): Allocate buf[] with xmalloc using the size
-       needed by GetTokenInformation.
-       (w32_system_process_attributes): Check return values of all system
-       APIs.
-
-       * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript
-       only when the state changes.
-       (IT_update_begin, IT_update_end): Add termscript trace.
-
-       * w16select.c (Fw16_set_clipboard_data): Don't encode text if
-       clipboard is unavailable.  Set dst to NULL if it doesn't point to
-       malloc'ed data.
-       (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid
-       passing random values to xfree.
-
-       * dispnew.c (init_display): Set `tty's association in frame's
-       parameters alist to the name of the terminal device, if that is
-       known.
-
-2008-08-29  Jason Rumney  <jasonr@gnu.org>
-
-       * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.
-
-2008-08-29  Eli Zaretskii  <eliz@gnu.org>
-
-       * composite.c (fill_gstring_body): Avoid compiler warnings.
-
-       * font.c (font_fill_lglyph_metrics): Use EMACS_INT in
-       LGLYPH_SET_CODE to avoid compiler warnings.
-
-       * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h
-
-       * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.
-
-       * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in
-       LGLYPH_SET_CODE.
-
-2008-08-29  Kenichi Handa  <handa@m17n.org>
-
-       * fileio.c (report_file_error): Don't downcase the first character
-       of errstring if it is still unibyte.
-
-2008-08-29  Kenichi Handa  <handa@m17n.org>
-
-       These changes are to re-implement the automatic composition so
-       that it doesn't use text properties.
-
-       * Makefile.in (ftfont.o): Depend on composite.h.
-       (composite.o): Depend dispextern.h, font.h, frame, and window.h.
-
-       * character.h (Vunicode_category_table): Extern it.
-
-       * character.c (Vunicode_category_table): New variable.
-       (syms_of_character): DEFVAR_LISP Vunicode_category_table.
-
-       * chartab.c (optimize_sub_char_table): Perform more greedy
-       optimization.
-
-       * composite.h (enum composition_method): Delete
-       COMPOSITION_WITH_GLYPH_STRING.
-       (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.
-       (Vcomposition_function_table): Extern it.
-       (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.
-       (composition_gstring_put_cache, composition_gstring_from_id)
-       (composition_gstring_p, composition_gstring_width)
-       (composition_compute_stop_pos, composition_reseat_it)
-       (composition_update_it, composition_adjust_point): Extern them.
-       (Fcomposition_get_gstring): EXFUN it.
-
-       * composite.c: Include window.h, frame.h, dispextern.h font.h.
-       (Vcomposition_function_table)
-       (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.
-       (gstring_hash_table, gstring_work, gstring_work_headers): New
-       variables.
-       (gstring_lookup_cache, composition_gstring_put_cache)
-       (composition_gstring_from_id, composition_gstring_p)
-       (composition_gstring_width, fill_gstring_header)
-       (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)
-       (composition_reseat_it, composition_update_it)
-       (composition_adjust_point, Fcomposition_get_gstring): New
-       functions.
-       (syms_of_composite): Initialize gstring_hash_table, gstrint_work,
-       and gstring_work_headers.  DEFVAR_LISP composition-function-table.
-       Defsubr compostion_get_gstring.
-
-       * dispextern.h (struct glyph): New union u.cmp.  Delete the member
-       cmp_id.
-       (struct glyph_string): Delete the member gidx.  New members
-       cmp_id, cmp_from, and cmp_to.
-       (enum it_method): Delete GET_FROM_COMPOSITION.
-       (struct composition_it): New struct.
-       (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.
-       Delete c, len, cmp_id, cmp_len in u.comp.
-
-       * font.h (enum lgstring_indices): Delete it.
-       (LGSTRING_XXX, LGLYPH_XXX): These macros moved to composite.h.
-       (enum lglyph_indices): Likewise.
-       (font_range): Extern adjusted.
-       (font_fill_lglyph_metrics): Extern it.
-
-       * font.c (QCf): New variable.
-       (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
-       (font_prepare_composition): Delete this function.
-       (font_range): Type and arguments changed.
-       (Ffont_make_gstring, Ffont_fill_gstring): Delete them.
-       (font_fill_lglyph_metrics): New function.
-       (Ffont_shape_text): Renamed to Ffont_shape_gstring and arguments
-       changed.
-       (syms_of_font): DEFSYM QCf.  Delete defsubr for
-       Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.  Defsubr
-       Sfont_shape_gstring.
-
-       * fontset.h (font_for_char): Extern it.
-
-       * fontset.c (font_for_char): New function.
-
-       * ftfont.c: Include composite.h.
-       (ftfont_resolve_generic_family): Add langset "en" to pattern.
-       (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not
-       LGSTRING_LENGTH.
-
-       * indent.c: Include composite.h and dispextern.h.
-       (check_composition): Delete this function.
-       (scan_for_column): Handle composition by
-       composition_compute_stop_pos, composition_reseat_it, and
-       composition_update_it.
-       (compute_motion): Likewise.
-       (Fvertical_motion): Fix checking of composition.
-
-       * keyboard.c (adjust_point_for_property): Check composition by
-       composition_adjust_point.
-
-       * nsterm.m (ns_draw_glyph_string): Adjusted for the change of
-       struct glyph_string.
-
-       * term.c (encode_terminal_code): Adjusted for the change of struct
-       glyph.
-       (append_composite_glyph): Adjusted for the change of struct it and
-       struct glyph.
-       (produce_composite_glyph): Likewise.
-
-       * w32term.c (x_draw_composite_glyph_string_foreground): Adjusted
-       for the change of struct glyph_string.
-       (x_draw_glyph_string): Likewise.
-
-       * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.
-       (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.
-
-       * xdisp.c: Include font.h.
-       (it_props): Delete the entry for Qauto_composed.
-       (init_iterator): Initialize it->cmp_it.id to -1.
-       (compute_stop_pos): Call composition_compute_stop_pos.
-       (face_before_or_after_it_pos): Adjusted for the change of struct
-       it.
-       (handle_auto_composed_prop): Delete it.
-       (handle_composition_prop): Handle only static composition.
-       (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION
-       from xassert.  Initialize it->cmp_it.stop_pos.
-       (push_it): Adjusted for the change of struct it.
-       (pop_it): Likewise.
-       (get_next_element): Delete next_element_from_composition.
-       (CHAR_COMPOSED_P): New macro.
-       (get_next_display_element): For automatic composition, get a face
-       from the font in the glyph-string.
-       (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,
-       check composition by it->cmp_it.id.  Delete GET_FROM_COMPOSITION
-       case.
-       (next_element_from_string): Check if the character at the current
-       position is composed by CHAR_COMPOSED_P.
-       (next_element_from_buffer): Likewise.
-       (next_element_from_composition): Adjusted for the change of struct
-       it.  Update it->cmp_it.
-       (dump_glyph): Adjusted for the change of struct glyph.
-       (fill_composite_glyph_string): Adjusted for the change of struct
-       it and struct glyph.  Don't handle automatic composition here.
-       (fill_gstring_glyph_string): New function.
-       (x_get_glyph_overhangs): Handle automatic composition.
-       (BUILD_COMPOSITE_GLYPH_STRING): Adjusted for the change of struct
-       glyph.
-       (BUILD_GSTRING_GLYPH_STRING): New macro.
-       (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for
-       automatic composition.
-       (append_composite_glyph): Adjusted for the change of struct it and
-       struct glyph.
-       (x_produce_glyphs): Adjusted for the change of struct it.
-
-       * xterm.c (x_draw_composite_glyph_string_foreground): Adjusted for
-       the change of struct glyph_string.
-       (x_draw_glyph_string): Likewise.
-
-2008-08-29  Glenn Morris  <rgm@gnu.org>
-
-       * buffer.c (word-wrap): Doc fix.
-       * xdisp.c (truncate-partial-width-windows): Doc fix.
-       Increase default to 50.
-
-2008-08-29  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xdisp.c (update_tool_bar_unwind): New function.
-       (update_tool_bar): Temporarily set selected frame before building
-       tool-bar items.
-
-2008-08-28  Michael Albinus  <michael.albinus@gmx.de>
-
-       * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and
-       snprintf, respectively.
-       (xd_append_arg): Convert strings with Fstring_make_unibyte.
-
-2008-08-28  Chong Yidong  <cyd@stupidchicken.com>
-
-       * Makefile.in: Revert (undocumented) 2008-08-20 change adding
-       LDFLAGS to GNUstep CC invocation.
-
-2008-08-27  Chong Yidong  <cyd@stupidchicken.com>
-
-       * indent.c (Fvertical_motion): Revert last change.  Handle the
-       general case where we are moving forward, and PT spans multiple
-       screen lines.
-
-       * eval.c (find_handler_clause): Temporarily increase
-       max-lisp-eval-depth while printing the backtrace buffer, to
-       guarantee that help-mode code can run.
-
-2008-08-27  Eli Zaretskii  <eliz@gnu.org>
-
-       * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame
-       colors under -rv.
-       (IT_set_frame_parameters): Don't swap foreground and background
-       colors if `(reverse . t)' is present in the frame properties.
-       (internal_terminal_init): Call init_frame_faces only for the
-       initial frame.
-
-2008-08-27  Andreas Schwab  <schwab@suse.de>
-
-       * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.
-
-2008-08-27  Andreas Schwab  <schwab@suse.de>
-
-       * search.c (search_buffer): Set char_base to zero only at the end.
-
-2008-08-27  Kenichi Handa  <handa@m17n.org>
-
-       * fileio.c (report_file_error): Fix handling of multibyte error
-       string.
-
-2008-08-27  Andreas Seltenreich  <seltenreich@gmx.de>
-
-       * xterm.c (x_term_init): Temporarily hide the partially
-       initialized terminal while calling vendor-specific-keysyms.
-
-2008-08-26  Eli Zaretskii  <eliz@gnu.org>
-
-       * msdos.c (internal_terminal_init): Most initializations done only
-       once, especially initial_screen_colors[] and termscript open.
-
-2008-08-26  Chong Yidong  <cyd@stupidchicken.com>
-
-       * eval.c (Fcondition_case): Doc fix.
-
-       * widgetprv.h (EmacsFramePart): Change font member to the new font
-       struct.
-
-       * widget.c: Include character.h and font.h for XSETFONT.
-       (setup_frame_gcs): Compute X font id from font struct, just once.
-
-2008-08-26  Eli Zaretskii  <eliz@gnu.org>
-
-       * term.c (get_named_tty): Fix last change.
-
-2008-08-26  Chong Yidong  <cyd@stupidchicken.com>
-
-       * indent.c (Fvertical_motion): If moving forward starting from a
-       multi-line string, move the iterator to the last line of that
-       string.
-
-2008-08-25  Eli Zaretskii  <eliz@gnu.org>
-
-       * frame.c (do_switch_frame): Mark previously displayed frame as
-       obscured for FRAME_MSDOS_P frames as well.
-
-2008-08-24  Eli Zaretskii  <eliz@gnu.org>
-
-       * frame.c (make_terminal_frame): Initialize f->terminal,
-       f->terminal->reference_count, and scroll bars on MS-DOS as well.
-       Set the top frame to newly created frame.
-       (Fmake_terminal_frame): Reuse the_only_display_info.
-
-       * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of
-       estimating available memory.
-
-2008-08-23  David Reitter <david.reitter@gmail.com>
-
-       * nsterm.m (ns_draw_window_cursor): Don't call
-       NSDisableScreenUpdates and NSEnableScreenUpdates on
-       non-NS_IMPL_COCOA systems.
-
-2008-08-23  Andreas Schwab  <schwab@suse.de>
-
-       * process.c (procfs_system_process_attributes): Fix use of
-       uninitialized variables.
-
-2008-08-23  Eli Zaretskii  <eliz@gnu.org>
-
-       * emacs.c (main) [MSDOS]: Call syms_of_xmenu.
-
-       * dispnew.c (init_display): Remove MS-DOS specific conditions for
-       calling tty-set-up-initial-frame-faces.
-
-       * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show): Allow
-       MSDOS frames along with X frames.
-
-       * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in
-       addition to output_termcap.
-
-       * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.
-
-       * termchar.h (FRAME_TTY): Support output_msdos_raw.
-       (struct tty_display_info) [MSDOS]: Add fields related to mouse
-       highlight.
-
-       * process.c [!subprocesses]: Define QCname.
-       (syms_of_process): Intern and staticpro it.
-
-       * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
-       Adjust for changes in encoding/decoding routines.  Use
-       encode_coding_object and decode_coding_object instead of
-       encode_coding and decode_coding.
-
-       * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as
-       argument.
-
-       * dosfns.c: Include frame.h before termhooks.h.
-       (dos_cleanup): Use CURTTY ()->termscript instead of a global
-       variable termscript.
-
-       * s/msdos.h (USER_FULL_NAME): Define.
-       (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.
-
-       * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.
-       (Fuser_full_name): Use USER_FULL_NAME instead of a literal
-       pw->pw_gecos.
-
-       * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with
-       SELECTED_FRAME as additional (1st) argument.
-       (tty_read_avail_input): Handle output_msdos_raw in
-       addition to output_termcap.
-
-       * msdos.c: Include frame.h before termhooks.h.
-       (mouse_on, mouse_off, mouse_moveto, mouse_init)
-       (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)
-       (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)
-       (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)
-       (IT_set_terminal_modes, IT_reset_terminal_modes)
-       (IT_set_frame_parameters): Use tty->termscript instead of a global
-       variable termscript.
-       (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a
-       global variable terminal_coding.  Don't refer to
-       Vnonascii_translation_table.
-       (internal_terminal_init): Set Vwindow_system in current_kboard.
-       Don't use TTY_CHAR_INS_DEL_OK.  Set Vinitial_window_system.
-       Announce date and time of session start, if termscript is open.
-       Don't zero out the_only_display_info (it is done in
-       term.c:init_tty).  Open termscript only of not already open.  Log
-       "SCREEN SAVED" here, instead of IT_set_terminal_modes.  Init mouse
-       here instead of dos_ttraw.  Don't initialize display if this is an
-       initial tty.  Don't set FRAME_FONT.
-       (Vwindow_system_version): Bump to 23.
-       (dos_ttraw): Accept a TTY argument; all callers fixed.  If mouse
-       is available, set up mouse_position_hook.
-       (dos_ttraw, IT_set_terminal_modes): If called with initial
-       terminal, do nothing.
-       (IT_set_frame_parameters): Handle the Qtty_type frame
-       parameter by calling internal_terminal_init.
-       (dos_set_window_size, show_mouse_face)
-       (clear_mouse_face, IT_note_mode_line_highlight)
-       (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)
-       (dos_rawgetc): Use tty_display_info instead of x_display_info.
-       (initialize_msdos_display): New function.
-       (IT_cursor_to, IT_clear_to_end, IT_clear_screen)
-       (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)
-       (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)
-       (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):
-       Accept additional argument: a pointer to a frame.  All callers
-       changed.
-       (request_sigio, unrequest_sigio): Don't define, now defined on
-       sysdep.c.
-       (IT_write_glyphs): Rewrite to use encode_terminal_code.
-
-       * term.c [MSDOS]: Include msdos.h.
-       (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch.  Change cpp
-       conditional to DOS_NT.  Allow only one call to this function in a
-       session.  Don't allocate a new struct tty_display_info; instead,
-       reuse the_only_display_info.  Call get_tty_size to get screen
-       dimensions.  Call init_baud_rate to set bad_rate.
-       (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.
-       (Fsuspend_tty) [MSDOS]: Don't close input and output.
-       (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use
-       stdin/stdout.
-       (get_tty_terminal, get_named_tty, Ftty_type)
-       (Fcontrolling_tty_p): Handle output_msdos_raw in addition to
-       output_termcap.
-       (Fresume_tty, Fsuspend_tty, init_tty, delete_tty): Call
-       add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor
-       only when subprocesses are supported
-
-       * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of
-       f->output_data.x.
-       (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new
-       terminal devices.
-
-       * msdos.h Remove definition of struct x_display_info and struct
-       x_output.
-       (FRAME_FONT): Use output_data.tty.
-       (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.
-       (struct x_display_info): Renamed from display_info.  All users in
-       msdos.c changed.
-       (struct x_output): Remove background_pixel and foreground_pixel.
-       (the_only_display_info): Renamed from the_only_x_display.
-       (dos_ttraw): Update prototype.
-
-       * Makefile.in (MSDOS_OBJ): Add xmenu.o.
-       (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.
-
-2008-08-23  Jason Rumney  <jasonr@gnu.org>
-
-       * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.
-       (fn_TIFFSetDirectory): New library function used.
-       (init_tiff_functions) [HAVE_NTGUI]: Initialize it.
-       (tiff_load): Use :index to select among multiple images.  Set count
-       property when multiple images exist.
-       (gif_format): Use :index, not :image.
-
-2008-08-23  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xdisp.c (try_scrolling): Check INT_MAX instead of
-       MOST_POSITIVE_FIXNUM for maximum integer value.  Include limits.h
-       to obtain INT_MAX.
-
-2008-08-21  İsmail Dönmez  <ismail@namtrac.org>  (tiny change)
-
-       * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.
-
-2008-08-21  Christian Faulhammer  <opfer@gentoo.org>  (tiny change)
-
-       * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate
-       GNUstep library location.
-
-2008-08-21  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xfaces.c (x_update_menu_appearance): Check validity of menu font
-       before using it.
-
-       * puresize.h (BASE_PURESIZE): Increase to 1250000.
-
-2008-08-20  Adrian Robert  <Adrian.B.Robert@gmail.com>
-
-       * nsfns.m (ns-read-file-name): Add casts to avoid warning.
-       (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.
-       * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.
-       * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.
-       (EmacsApp-cursor_blink_handler): Remove declaration.
-       * nsterm.m (ns_draw_glyph_string): Update first conditional body to
-       match 01 Feb 2008 changes in xterm.c.
-       (ns_read_socket): Add cast to avoid warning.
-       (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on
-       GNUstep.
-
-2008-08-20  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xselect.c (x_get_foreign_selection): Return nil if desired
-       selection could not be obtained, instead of signalling an error.
-
-2008-08-20  David Reitter  <david.reitter@gmail.com>
-
-       * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.
-       * nsterm.m: Remove ns-specific code for cursor blinking.
-       (ns_draw_window_cursor): Clear cursor properly rather than
-       redrawing the area.  Respect width of bar cursors.
-       These changes enable the use of generic blink-cursor-mode and
-       generic cursor types in NS and support smooth cursor movements (do
-       not blink off after command).
-       * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on
-       Nextstep, too.
-
-2008-08-19  Kenichi Handa  <handa@m17n.org>
-
-       * font.c (Vfont_log_deferred): New variable.
-       (font_add_log): Check Vfont_log_deferred.
-       (font_deferred_log): New function.
-
-       * font.h (font_deferred_log): Extern it.
-
-       * fontset.c (reorder_font_vector): Use encoding charset of fonts
-       for sorting.
-       (face_for_char): Use deferred log.
-
-2008-08-18  Kenichi Handa  <handa@m17n.org>
-
-       * fontset.c (face_for_char): Add font log.
-
-       * font.c (font_add_log): Add the font properties :script, :lang,
-       and :otf in the log.
-
-2008-08-17  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xdisp.c: Remove dead code.
-       (handle_invisible_prop, next_overlay_string): Defer call to
-       setup_for_ellipsis.
-       (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.
-
-2008-08-15  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xfaces.c (lookup_derived_face): Properly handle possible zero
-       return value of get_lface_attributes.
-       (merge_faces): Don't tell lookup_derived_face to signal an error
-       if face is not found.
-
-       * dired.c (Fdirectory_files): Doc fix.
-
-       * process.c (make_process): Initialize kill_without_query struct
-       member.
-
-2008-08-15  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:
-       Alternative calculation of totphys for Visual Studio 6.
-
-       * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.
-
-       * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):
-       Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.
-       All users changed.
-       (stat): Only root directory passed to GetDriveType.  Allow RAM
-       disk as well as local fixed disk when w32-get-true-file-attributes
-       is set to `local'.
-       (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.
-       (equal_sid, get_length_sid, copy_sid): New wrapper functions.
-       (w32_cached_id, w32_add_to_cache): New functions.
-       (get_name_and_id): Look account names in the cache before calling
-       lookup_account_sid.
-       (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):
-       New initialization flags.
-       (globals_of_w32): Initialize them to zero.
-       (w32_system_process_attributes): Use w32_cached_id and
-       w32_add_to_cache.
-
-2008-08-14  Lawrence Mitchell  <wence@gmx.li>
-
-       * lread.c (Fread_char, Fread_char_exclusive): If no character
-       event is read before timeout is reached, return nil, rather than
-       converting to a number.
-
-2008-08-14  Chong Yidong  <cyd@stupidchicken.com>
-
-       * fns.c (use_dialog_box): Doc fix.
-
-       * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful
-       on OS X.
-
-2008-08-13  Chong Yidong  <cyd@stupidchicken.com>
-
-       * frame.c (Qns_parse_geometry): New var.
-       (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.
-
-2008-08-11  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xdisp.c (x_produce_glyphs): Handle the case when font has no
-       space character in calculating tabs.
-
-2008-08-11  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.
-
-2008-08-10  Glenn Morris  <rgm@gnu.org>
-
-       * process.c (procfs_system_process_attributes): Use EMACS_INTs to
-       silence gcc "limited range of data type" warnings in some
-       make_fixnum_or_float calls.
-
-2008-08-09  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32.c (w32_system_process_attributes): If the process does not
-       exist, return nil.
-
-       * w32.c: Include thelp32.h, psapi.h and coding.h.
-       (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct
-       declarations.
-       (CreateToolhelp32Snapshot_Proc, Process32First_Proc)
-       (Process32Next_Proc): New typedefs.
-       (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)
-       (g_b_init_process32_next, g_b_init_open_thread_token)
-       (g_b_init_impersonate_self, g_b_init_revert_to_self)
-       (g_b_init_get_process_memory_info, g_b_init_global_memory_status)
-       (g_b_init_get_process_working_set_size)
-       (g_b_init_global_memory_status_ex): New static variables.
-       (globals_of_w32): Initialize them.
-       (create_toolhelp32_snapshot, process32_first, process32_next)
-       (open_thread_token, impersonate_self, revert_to_self)
-       (get_process_memory_info, get_process_working_set_size)
-       (global_memory_status, global_memory_status_ex): New wrapper
-       functions.
-       (w32_list_system_processes, w32_system_process_attributes)
-       (enable_privilege, restore_privilege, ltime, process_times):
-       New functions.
-       (convert_time_raw): New function.
-       (convert_time): Remove conversion of FILETIME into time in 100
-       nsec units, call convert_time_raw instead.
-
-       * process.h (w32_list_system_processes, w32_system_process_attributes):
-       Add prototypes.
-       (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)
-       (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)
-       (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)
-       (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
-
-       * process.c (Fsystem_process_attributes): Doc fix.
-
-2008-08-08  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xdisp.c (move_it_to): When stopping at a charpos, check if that's
-       a continued multi-char glyph; if so, advance to the actual glyph.
-
-2008-08-07  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.
-
-       * Makefile.in (ALL_OBJC_CFLAGS): New variable.
-       (.m.o): Use it.
-       * config.in: Regenerate.
-
-2008-08-07  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xdisp.c (redisplay_window): Revert last change.
-       (try_window): Check bottom scroll margin too.
-
-2008-08-06  Adrian Robert  <Adrian.B.Robert@gmail.com>
-
-       * config.in: Regenerate.
-
-       * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs
-       -list-load-path-shadows'.
-       (nsgui.h): Reduce number of things depending on it.
-
-2008-08-06  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xdisp.c (try_scrolling): Use iterator to find the scroll margin,
-       instead of window-end which does the wrong thing at eob.
-       (try_cursor_movement): Minor optimization.
-       (redisplay_window): If scroll margin is defined, don't assume
-       window doesn't need scrolling.
-
-2008-08-06  Adrian Robert  <Adrian.B.Robert@gmail.com>
-
-       * config.in: Regenerate.
-
-       * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.
-       (mostlyclean): Don't delete *.d under NS.
-
-       * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.
-
-2008-08-06  Kenichi Handa  <handa@m17n.org>
-
-       * xfont.c (xfont_list_family): Return a list of symbols, not strings.
-
-2008-08-06  Andreas Schwab  <schwab@suse.de>
-
-       * config.in: Regenerate.
-
-2008-08-05  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xdisp.c (redisplay_window): Don't enforce scroll-margin when
-       forcing a window start.
-
-       * fileio.c (Vauto_save_list_file_name): Move here from file.el.
-       (auto_save_1): Update modtime when auto-save-list-file-name is on.
-
-2008-08-04  Adrian Robert  <Adrian.B.Robert@gmail.com>
-
-       * emacs.c (main): Under NS, set working dir to HOME when get a "psn"
-       argument.
-
-2008-08-05  Juanma Barranquero  <lekktu@gmail.com>
-
-       * buffer.c (syms_of_buffer) <scroll-up-aggressively>:
-       <scroll-down-aggressively, before-change-functions>:
-       <after-change-functions>: Reflow docstrings.
-
-2008-08-04  Adrian Robert  <Adrian.B.Robert@gmail.com>
-           Ken Raeburn  <raeburn@gnu.org>
-
-       Dock menu customization, based on a patch by Ken Raeburn, plus some
-       other fixes.
-       * nsmenu.m (dockMenu): New variable.
-       (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.
-
-       * nsterm.h (dockMenu): Declare.
-
-       * nsterm.m (KEY_NS_NEW_FRAME): New definition.
-       (ns_term_init): Initialize dockMenu.
-       (EmacsApp -newFrame:, -applicationDockMenu:): New methods.
-       (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame
-       left.
-
-       * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.
-
-2008-08-04  Chong Yidong  <cyd@stupidchicken.com>
-
-       * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.
-
-       * config.in: Regenerate.
-
-2008-08-04  Seiji Zenitani  <zenitani@mac.com>
-
-       * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.
-
-2008-08-04  Chong Yidong  <cyd@stupidchicken.com>
-
-       * nsterm.h (find_and_call_menu_selection): Fix prototype.
-
-2008-08-04  Adrian Robert  <Adrian.B.Robert@gmail.com>
-
-       * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.
-
-       * keyboard.h: Comment an #endif.
-
-       * lisp.h (have_menus_p): Adjust comment.
-
-       * menu.c (find_and_return_menu_selection): Fix comparison with
-       client_data.
-
-       * nsmenu.m (popup_activated_flag): New variable.
-       (popup_activated): New function.
-       (menu-or-popup-active-p): New exported lisp definition.
-       (ns_popup_menu): Set popup_activated_flag.  Call discard_menu_items()
-       when popup done.
-       (ns_popup_dialog): Set popup_activated_flag.
-
-       * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger
-       version for GNUstep (handled by conditional typedef in nsterm.m).
-       (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now
-       in rgb.txt).
-
-       * process.c (init_process): Use DARWIN_OS, not DARWIN.
-
-       * sysselect.h: Conditionalize init_process undef on DARWIN_OS.
-
-       * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.
-
-       * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,
-       shortcircuit if popup_activated like GTK and X toolkit.
-
-       * m/inter386.h: Change DARWIN to DARWIN_OS.
-
-       * s/darwin.h: Add #define DARWIN_OS.  Get rid of C_SWITCH_SYSTEM def.
-       Change LIBS_MACGUI to LIBS_NSGUI.  Move temacs-conditionalized defs
-       closer to C_SWITCH_SYSTEM_TEMACS so usage is understood.  Expand
-       comment on NO_SOCK_SIGIO.
-
-2008-08-03  Chong Yidong  <cyd@stupidchicken.com>
-
-       * nsterm.m (windowDidResize): Remove stopModal call.
-
-2008-08-03  Andreas Schwab  <schwab@suse.de>
-
-       * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.
-       (check_memory_limits): Don't handle HAVE_GETRLIMIT here.
-
-2008-08-02  Chong Yidong  <cyd@stupidchicken.com>
-
-       * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.
-       Don't use uninitialized pointer variable when using getrlimit.
-
-2008-08-02  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.
-
-2008-08-02  Eli Zaretskii  <eliz@gnu.org>
-
-       * alloc.c (NSTATICS): Bump to 0x640.
-
-       * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.
-
-       * lisp.h: Add prototype for directory_files_internal.
-
-       * process.c (Fsystem_processes_list, Fsystem_process_attributes):
-       New functions.
-       (syms_of_process): Defsubr them.  Add initializations for various
-       Q* symbols used in procfs_system_process_attributes.
-       (procfs_list_system_processes, procfs_system_process_attributes)
-       [HAVE_PROCFS]: New functions.
-       (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)
-       (procfs_get_total_memory): New functions.
-
-2008-08-01  Juanma Barranquero  <lekktu@gmail.com>
-
-       * xfaces.c (Fx_load_color_file): Fix previous change;
-       it is #ifdef WINDOWSNT, not WINDOWS_NT.
-
-2008-08-01  Michael Albinus  <michael.albinus@gmx.de>
-
-       * dbusbind.c (xd_read_message): Handle D-Bus error messages.
-
-2008-08-01  Adrian Robert  <Adrian.B.Robert@gmail.com>
-
-       * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.
-
-2008-08-01  Chong Yidong  <cyd@stupidchicken.com>
-
-       * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.
-
-       * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not
-       define NSApplicationDelegateReplySuccess.
-       (EmacsView -converstationIdentifier): Use long instead of
-       NSInteger for GNUstep, since it doesn't have NSInteger.
-
-       * xmenu.c: Revert last change.
-
-       * keyboard.h: Fix last change.
-
-2008-08-01  Juanma Barranquero  <lekktu@gmail.com>
-
-       * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting
-       on Windows.
-
-2008-08-01  Adrian Robert  <Adrian.B.Robert@gmail.com>
-
-       Warning clearing and clean-up in NS port.
-       * keyboard.h (xmalloc_widget_value, digest_single_submenu):
-       Add prototypes.
-       * nsgui.h (FACE_DEFAULT): Remove, unused.
-       (XGCValues): Change colors to unsigned long.
-       * nsterm.h (EmacsApp): Add declaration of all methods implemented in
-       nsterm.m.
-       (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.
-       (ns_list_fonts): Remove, unused.
-       (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.
-       * nsfns.m (interpret_services_menu): Use NSMenuItem class.
-       * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.
-       (nsfont_draw): Compare face colors to 0, not nil.
-       * nsmenu.m (struct widget_value): Drop unneeded declaration.
-       (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)
-       (-addSubmenuWithTitle:): Use NSMenuItem class.
-       (ns_popup_menu): Use NO, not NULL, for enabled setting.
-       * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.
-       (ns_clip_to_row): Make gc arg a BOOL.
-       (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in
-       ns_clip_to_row() call.
-       (ns_draw_glyph_string): Drop face comparison to ~0 (no longer
-       used).  Cast FRAME_FONT assignments.
-       (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.
-       (ns_string_to_lispmod): Change arg to const char.
-       (ns_term_init): Use NSMenuItem class.
-       (EmacsApp -openFile:): Move to different section of file.
-       (EmacsApp -application:openFiles:): Don't return a value, call
-       -replyToOpenOrPrint:.
-       (EmacsView -keyDown:): Fix up cast.
-       (EmacsView -converstationIdentifier): Use NSInteger instead of long.
-       (EmacsView -menuDown:): Cast tag in call to
-       find_and_call_menu_selection().
-       (ns_list_fonts): Remove, unused.
-       (ns_font_to_xlfd): Make static.  Cast result of UTF8String.
-       (ns_fontname_to_xlfd): Make static.
-       * w32menu.c (xmalloc_widget_value, digest_single_submenu):
-       Remove prototypes (now in keyboard.h).
-       (next_menubar_widget_id): Remove, unused.
-       * xmenu.c (xmalloc_widget_value, digest_single_submenu):
-       Remove prototypes (now in keyboard.h).
-       * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.
-
-2008-08-01  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)
-       (floatfns.o): Depend on syssignal.h.
-       (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).
-
-       * systty.h: Fix previous change that removed BSD_TERMIOS.
-       Add comments to #ifdefs.
-
-2008-08-01  Adrian Robert  <Adrian.B.Robert@gmail.com>
-
-       * w32fns.c (w32-load-color-file): Remove.
-       (x-open-connection): Use renamed Fx_load_color_file.
-       * xfaces.c (x-load-color-file): Add.
-       * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of
-       Emacs.clr.
-       (hide_hourglass): BLOCK_INPUT before UNBLOCK.
-
-2008-07-31  Michael Albinus  <michael.albinus@gmx.de>
-
-       * dbusbind.c (Fdbus_call_method_asynchronously)
-       (Fdbus_method_error_internal): New defuns.
-       (xd_read_message): Handle also reply messages.
-       (Vdbus_registered_functions_table): Extend docstring.
-
-2008-07-31  Juanma Barranquero  <lekktu@gmail.com>
-
-       * keyboard.c (gobble_input): Fix previous change.
-
-2008-07-31  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * bitmaps/README:
-       * xfns.c:
-       * termcap.c:
-       * term.c:
-       * syswait.h:
-       * systty.h:
-       * systime.h:
-       * syssignal.h:
-       * sysdep.c:
-       * process.h:
-       * process.c:
-       * print.c:
-       * ndir.h:
-       * lread.c:
-       * keyboard.c:
-       * getpagesize.h:
-       * floatfns.c:
-       * fileio.c:
-       * emacs.c:
-       * doc.c:
-       * dispnew.c:
-       * dired.c:
-       * data.c:
-       * callproc.c:
-       * buffer.c:
-       * README:
-       * Makefile.in:
-       * s/template.h:
-       * s/msdos.h:
-       * m/vax.h: Remove VMS support.
-       * s/vms.h:
-       * vlimit.h:
-       * uaf.h:
-       * temacs.opt:
-       * param.h:
-       * ioctl.h: Remove file.
-
-2008-07-31  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * s/ms-w32.h (MULTI_KBOARD): Remove.
-       * xterm.c:
-       * xselect.c:
-       * xfns.c:
-       * window.c:
-       * w32term.c:
-       * w32fns.c:
-       * terminal.c:
-       * termhooks.h:
-       * term.c:
-       * sysdep.c:
-       * keyboard.h:
-       * keyboard.c:
-       * frame.h:
-       * frame.c:
-       * frame.c: Remove references to MULTI_KBOARD, it is now the default.
-       * config.in: Regenerate.
-
-2008-07-30  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.h (struct w32font_info): Use unicode version of textmetrics.
-
-       * w32font.c (w32font_encode_char): Leave as unicode if in range.
-       (w32font_open_internal): Get unicode version of textmetrics.
-       Don't enable or disable glyph indices here.
-       (w32font_open): Disable use of glyph indices.
-
-       * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.
-
-2008-07-30  Chong Yidong  <cyd@stupidchicken.com>
-
-       * minibuf.c (Vread_buffer_function): Doc fix.
-
-2008-07-30  John Paul Wallington  <jpw@pobox.com>
-
-       * minibuf.c (read_buffer_completion_ignore_case): New var.
-       (Fread_buffer): Use it.
-
-2008-07-30  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * systty.h (sensemode): Remove empty #if.  Remove reference to
-       BSD_TERMIOS, unused.
-
-       * sysdep.c: Remove reference to DGUX.
-       (closedir): Remove reference to BROKEN_CLOSEDIR, unused.
-
-       * config.in: Regenerate.
-
-2008-07-30  Jason Rumney  <jasonr@gnu.org>
-
-       * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.
-
-2008-07-29  Jason Rumney  <jasonr@gnu.org>
-
-       * w32uniscribe.c (uniscribe_shape): Avoid using context if cache
-       is populated.
-       (uniscribe_encode_char): Always use uniscribe.
-       Avoid using context if cache is populated.
-
-2008-07-29  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
-       open menu.
-
-       * gtkutil.c (menu_nav_ended): Remove.
-       (create_menus): Remove signal connect for menu_nav_ended.
-
-2008-07-28  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xdisp.c (redisplay_window): Check return value of
-       compute_window_start_on_continuation_line before forcing a window
-       start.
-
-2008-07-28  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.
-
-       * w32term.c (w32_enable_unicode_output, cleartype_active):
-       Remove obsolete display options.
-       (x_draw_glyph_string_background): Don't use old cleartype_active
-       workaround.
-       (w32_initialize): Remove cleartype_active initialization.
-       (syms_of_w32term): Remove w32_enable_unicode_output initialization.
-
-2008-07-28  Andreas Schwab  <schwab@suse.de>
-
-       * lisp.h (init_weak_hash_tables, syms_of_font)
-       (xd_read_queued_messages, syms_of_dbusbind): Declare.
-       (remove_hash_entry): Don't declare.
-       * eval.c (maybe_call_debugger): Make static and move before use.
-       * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.
-       * xdisp.c: Include "gtkutil.h" if USE_GTK.
-       * xterm.h (x_set_frame_alpha): Declare.
-
-2008-07-28  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.
-       (create_menus): Connect selection-done to menu_nav_ended.
-
-2008-07-27  Adrian Robert  <Adrian.B.Robert@gmail.com>
-
-       * nsfns.m (x-create-frame): Add copy of parms argument to beginning.
-       Set Vx_resource_name to a fallback.  Replace read of 'buffered'
-       parameter with read of 'alpha' one.
-       (Qns_frame_parameter): Remove.
-       * nsselection.m (selection-coding-system)
-       (next-selection-coding-system, Vselection_coding_system)
-       (Vnext_selection_coding_system): Drop.
-
-2008-07-27  Adrian Robert  <Adrian.B.Robert@gmail.com>
-
-       * nsfns.m (do-applescript, do_applescript): Rename to
-       ns-do-applescript, ns_do_applescript, and move within file.
-
-2008-07-27  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       Remove support for Mac Carbon.
-       * mactoolbox.c:
-       * macterm.h:
-       * macterm.c:
-       * macselect.c:
-       * macmenu.c:
-       * macgui.h:
-       * macfns.c:
-       * mac.c: Remove file.
-       * s/darwin.h:
-       * m/intel386.h:
-       * xfaces.c:
-       * xdisp.c:
-       * window.c:
-       * tparam.c:
-       * termhooks.h:
-       * termcap.c:
-       * term.c:
-       * syssignal.h:
-       * sysselect.h:
-       * sysdep.c:
-       * process.c:
-       * lread.c:
-       * lisp.h:
-       * keyboard.c:
-       * image.c:
-       * fringe.c:
-       * frame.h:
-       * frame.c:
-       * fontset.c:
-       * font.h:
-       * font.c:
-       * fns.c:
-       * fileio.c:
-       * emacs.c:
-       * dispnew.c:
-       * dispextern.h:
-       * config.in:
-       * atimer.c:
-       * Makefile.in: Remove code for Carbon
-
-2008-07-26 YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.
-
-2008-07-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * macterm.h (kCGBitmapByteOrder32Host): New define for
-       non-universal SDKs.
-
-       * image.c (mac_create_cg_image_from_image, image_load_image_io)
-       [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
-
-       * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)
-       [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.
-
-2008-07-26  David Robinow  <drobinow@gmail.com>  (tiny change)
-
-       * w32inevt.c: Include dispextern.h.
-
-2008-07-26  Andreas Schwab  <schwab@suse.de>
-
-       * print.c (print_object): Fix off-by-one in last change.
-
-2008-07-25  Juanma Barranquero  <lekktu@gmail.com>
-
-       * term.c (syms_of_term): Don't initialize default_orig_pair,
-       default_set_foreground and default_set_background on Windows.
-
-2008-07-25  Jason Rumney  <jasonr@gnu.org>
-
-       * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to
-       ScriptItemize.  Clean up return value checking.  Remove unused
-       variables.
-       (uniscribe_encode_char): Encode non-BMP characters with uniscribe
-       shaping engine.
-
-       * w32font.c (w32font_has_char): Handle the case where we can't
-       determine the script for a character.
-
-2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
-
-       * term.c (syms_of_term): Initialize default_orig_pair,
-       default_set_foreground, and default_set_background.
-
-       * getloadavg.c (nl): Rename to name_list to avoid ncurses.h
-       clash (bug#86).
-       (getloadavg): Callers changed.
-
-       * image.c (svg_load_image): Fix last change.
-       (svg_load_image): Use rsvg_handle_get_dimensions to check that
-       image size is valid.  Use g_object_unref instead of deprecated
-       rsvg_handle_free to free rsvg handle.
-       (x_from_xcolors): Don't initialize pixmap (silence compiler).
-
-2008-07-25  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (w32font_encode_char): Encode characters outside BMP as
-       surrogates before looking up glyph index.
-       (w32font_text_extents): Encode as surrogates if falling back to
-       functions that need UTF-16 wide chars.
-
-       * w32uniscribe.c (uniscribe_encode_char): Encode characters outside
-       BMP as surrogates before looking up glyph index.
-
-2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
-
-       * image.c (svg_load_image): Check for failure in return value of
-       rsvg_handle_get_pixbuf.  Free rsvg handle when done.
-
-2008-07-25  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (Fx_select_font): Reverse sense of second arg.
-
-2008-07-24  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)
-       (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.
-
-       * puresize.h (PURESIZE_CHECKING_RATIO): New macro.
-       (PURESIZE): Use it.
-
-2008-07-24  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.
-       * m/alpha.h (TEXT_END):
-       * m/ibmrs6000.h (TEXT_END):
-       * m/macppc.h (TEXT_END):
-       * s/darwin.h (TEXT_END):
-       * s/msdos.h (TEXT_END): Remove, unused.
-       * s/gnu-linux.h (BSD_PGRPS): Add a comment.
-       * s/cygwin.h: Remove comment.
-
-       * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.
-       (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.
-       * m/intel386.h (DOT_GLOBAL_START):
-       * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.
-       (USG): Remove, file not used on USG platforms.
-
-       * Makefile.in (HAVE_X11): Remove empty #else.
-
-2008-07-24  Andreas Schwab  <schwab@suse.de>
-
-       * fileio.c (Finsert_file_contents): Properly adjust undo list
-       after format conversion.
-
-2008-07-24  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.
-       (menu_nav_ended): Remove.
-       (create_menus): Remove signal connect for menu_nav_ended.
-       (xg_update_menubar): Also take deactivate_cb as parameter, pass it to
-       create_menus.
-       (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.
-
-2008-07-23  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (w32_enumfont_pattern_entity): Return height consistent
-       with opened font.
-       (w32font_open): Set font type to gdi.
-
-       * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.
-
-2008-07-23  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * s/usg5-4.h (ADDR_CORRECT): Remove, unused.
-       * unexaix.c (ADDR_CORRECT): Remove conditional, the only user
-       defines it.
-       * unexec.c (ADDR_CORRECT): Define unconditionally.
-
-       * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.
-
-       * unexec.c: Remove code depending on !COFF and USG, the file is
-       not used for such systems.
-
-       * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):
-       * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.
-       (LD_SWITCH_SYSTEM_1): Remove, update users.
-
-       * s/darwin.h (DATA_END):
-       * m/intel386.h (DATA_END):
-       * m/ibmrs6000.h (DATA_END):
-       * m/alpha.h (DATA_END): Remove, unused.
-
-       * config.in: Regenerate.
-       * s/ms-w32.h (subprocesses): Define unconditionally.
-       * s/template.h (subprocesses): Update comment.
-       * s/vms.h (subprocesses):
-       * s/usg5-4.h (subprocesses):
-       * s/hpux10-20.h (subprocesses):
-       * s/gnu-linux.h (subprocesses):
-       * s/cygwin.h (subprocesses):
-       * s/bsd-common.h (subprocesses):
-       * s/aix4-2.h (subprocesses):
-       * s/darwin.h (subprocesses): Do not define, defined by default now.
-
-       * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.
-       Remove all references.
-       (temacs): Add GNUstep specific ld flags.
-
-       * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,
-       similarly to what X does.
-
-2008-07-22  Adrian Robert  <Adrian.B.Robert@gmail.com>
-
-       * nsfns.m (x-list-fonts): Remove.
-       (syms_of_nsfns): Drop the x-list-fonts declaration.
-       * nsterm.m: Get rid of remaining "//" comments.
-
-2008-07-22  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.
-
-       * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)
-       (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)
-       (Fns_own_selection_internal, Fx_disown_selection_internal)
-       (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):
-
-       * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*
-       ... */' style of docstrings.  Doc fixes.
-
-2008-07-22  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * terminfo.c (UP, BC, PC): Undo previous change.
-
-       * nsfns.m: Rename ns prefixed functions/variables to the
-       corresponding x versions.  Update references.
-
-2008-07-22  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * syntax.c (char_quoted): Check "charpos > beg" before decrementing.
-
-2008-07-22  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):
-       Remove forwarding functions.
-       (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make
-       non-static.
-       (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make
-       non-static.
-       (ns_frame_parm_handlers): Use the new names.
-       (syms_of_nsfns): Move to the end of file.
-
-       * nsterm.m (syms_of_nsterm): Move to the end of file.
-
-       * dispnew.c (init_display): Remove code for X10.
-
-2008-07-22  Jason Rumney  <jasonr@gnu.org>
-
-       * w32proc.c (Fw32_long_file_name): Don't append dir separator to
-       bare drive.
-
-2008-07-22  Adrian Robert  <Adrian.B.Robert@gmail.com>
-
-       * nsterm.m (syms_of_nsterm): Remove debugging println.
-
-2008-07-22  David Reitter  <david.reitter@gmail.com>
-
-       * nsfns.m (do_applescript, F_do_applescript): NS version of the
-       Carbon implementation of the same functionality: execute arbitrary
-       AppleScript code.
-
-2008-07-21  Adrian Robert  <Adrian.B.Robert@gmail.com>
-
-       * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)
-       (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)
-       (Fx_server_vendor, Fx_server_version, Fx_display_screens)
-       (Fx_display_mm_height, Fx_display_mm_width)
-       (Fx_display_backing_store, Fx_display_visual_class)
-       (Fx_display_save_under, Fx_open_connection)
-       (Fx_close_connection, Fx_hide_emacs, Fx_font_name)
-       (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)
-       (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
-       (Fx_display_pixel_width, Fx_display_pixel_height)
-       (Fx_display_usable_bounds, Fx_display_planes)
-       (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*
-       ... */' style of docstrings.
-
-2008-07-21  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used
-       on this platform.
-       (mips):
-       * m/iris4d.h (mips): Do not define.
-       * sysdep.c (init_sys_modes): Use __mips__ instead of mips.
-
-       * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.
-
-       * image.c:
-       * nsfns.m:
-       * nsselect.m:
-       * nsterm.h:
-       * nsterm.m: Rename ns prefixed functions/variables to the
-       corresponding x versions.  Update references.
-
-       * m/ibms390x.h (NO_REMAP): Do not undefine.
-
-       * m/amdx86-64.h: Use SOLARIS2 instead of sun.
-
-2008-07-21  Chong Yidong  <cyd@stupidchicken.com>
-
-       * nsfns.m: Change NS to Nextstep in docstrings and error messages.
-       (Fns_create_frame, Fns_read_file_name, Fns_get_resource)
-       (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)
-       (Fns_server_vendor, Fns_server_version, Fns_display_screens)
-       (Fns_display_mm_height, Fns_display_mm_width)
-       (Fns_display_backing_store, Fns_display_visual_class)
-       (Fns_display_save_under, Fns_open_connection)
-       (Fns_close_connection, Fns_hide_emacs, Fns_font_name)
-       (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)
-       (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)
-       (Fns_display_pixel_width, Fns_display_pixel_height)
-       (Fns_display_usable_bounds, Fx_display_planes)
-       (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.
-
-2008-07-21  Ami Fischman  <ami@fischman.org>  (tiny change)
-
-       * print.c (print_object): Check print_depth before searching for
-       circularities.
-
-2008-07-21  Michael Albinus  <michael.albinus@gmx.de>
-
-       * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead
-       only sprintf.
-
-2008-07-21  Kenichi Handa  <handa@m17n.org>
-
-       * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.
-
-2008-07-20  Andreas Schwab  <schwab@suse.de>
-
-       * syntax.c (find_start_pos, find_start_value)
-       (find_start_value_byte, find_start_begv, find_defun_start)
-       (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.
-
-2008-07-20  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * s/sol2-3.h: Insert contents of s/sol2.h.
-       (LD_SWITCH_SYSTEM): Remove redundant definition.
-       * s/sol2.h: Remove, unused.
-
-2008-07-20  Adrian Robert  <Adrian.B.Robert@gmail.com>
-
-       * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.
-
-2008-07-20  Adrian Robert  <Adrian.B.Robert@gmail.com>
-
-       * Makefile.in (ns_appdir): Fix typo in find command.
-
-2008-07-20  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * m/intel386.h (NO_REMAP): Do no define for USG, not used.
-
-       * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was
-       added not supported anymore.
-
-       * s/usg5-4-2.h (LIBS_SYSTEM):
-       * s/sol2.h (LIBS_SYSTEM): Do not undefine.
-
-       * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):
-       * s/lynxos.h (GETPGRP_NO_ARG):
-       * s/hpux10-20.h (NO_SIOCTL_H):
-       * s/gnu.h (GETPGRP_NO_ARG):
-       * s/gnu-linux.h (NO_SIOCTL_H):
-       * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):
-       * s/cygwin.h (GETPGRP_NO_ARG):
-       * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.
-       (C_DEBUG_SWITCH): Remove duplicate definition.
-
-       * m/ibms390.h: Remove boilerplate comments.
-
-       * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.
-
-       * process.c (HAVE_SERIAL): Consolidate ifdefs.
-       (wait_reading_process_output): Remove code for SunOS, platform not
-       supported anymore.  Use SOLARIS2 instead of sun.
-
-2008-07-19  Adrian Robert  <Adrian.B.Robert@gmail.com>
-
-       * font.c (font_open_by_name): Under NS, default lface height to zero.
-       (font_open_for_lface): Under NS, set size based on frame fontsize.
-       * nsterm.m (EmacsView-changeFont:): Remove some commented code.
-       * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.
-
-2008-07-19  Adrian Robert  <Adrian.B.Robert@gmail.com>
-
-       * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)
-       (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to
-       DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of
-       YES/NO.
-       * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.
-       * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.
-       * Makefile.in (clean): Clear out build destination dir.
-
-2008-07-19  Adrian Robert  <Adrian.B.Robert@gmail.com>
-
-       * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,
-       xterm, xselect.
-       * lisp.h: Remove declaration of hash_remove.
-       * nsgui.h: Remove redefinitions of hash_remove.
-       * fns.c (hash_remove): Rename to hash_remove_from_table.
-
-2008-07-19  Seiji Zenitani  <zenitani@mac.com>
-
-       * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
-       strdup() the family UTF8String before modifying it.
-
-2008-07-19  Adrian Robert  <Adrian.B.Robert@gmail.com>
-
-       * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
-       NS_FACE_BACKGROUND with 0 instead of nil.
-       * nsfont.m (nsfont_draw): Same.
-
-2008-07-19  Chong Yidong  <cyd@stupidchicken.com>
-
-       * nsfns.m (ns_set_background_color): Fix crash.
-
-2008-07-18  Chong Yidong  <cyd@stupidchicken.com>
-
-       * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.
-
-2008-07-18  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * puresize.h (BASE_PURESIZE): Increase to 1240000.
-
-2008-07-17  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * gtkutil.c: Include <config.h> instead of "config.h".
-
-       * lisp.h (Foverlay_buffer): Add EXFUN.
-
-       * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for
-       child process to complete child_setup.  Undo 2005-09-21 change.
-
-       * s/darwin.h: Mention setsid after vfork.
-
-2008-07-17  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):
-       Depend on macgui.h.
-
-       * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,
-       gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.
-
-       * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,
-       and f19.
-       [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.
-
-       * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)
-       (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:
-       Remove enumerators.
-
-       * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):
-       Check if FACE_FROM_ID returns NULL.
-
-2008-07-17  David Robinow  <drobinow@gmail.com>  (tiny change)
-
-       * w32inevt.c (change_frame_size): Remove extern declaration.
-       (resize_event, maybe_generate_resize_event): Pass SAFE arg to
-       change_frame_size.
-
-2008-07-17  Adrian Robert  <Adrian.B.Robert@gmail.com>
-
-       * getloadavg.c: Revert last change (2008-07-15).
-
-2008-07-17  Adrian Robert  <Adrian.B.Robert@gmail.com>
-
-       * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables
-       set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set
-       from configure.
-
-2008-07-17  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * s/sol2.h:
-       * s/sol2-4.h: Reorganize conditionals.
-
-       * ecrt0.c: Remove code depending on m68000, not used anymore.
-
-       * fns.c (hash_remove): Make static.
-       * lisp.h (hash_remove): Don't prototype.
-
-       * m/ibmrs6000.h:
-       * m/ibms390x.h:
-       * m/macppc.h: Remove boilerplate comments.
-
-       * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
-       Solaris, which does not need them.
-
-       * m/vax.h: Remove comments about unsupported systems.
-
-       * s/darwin.h: Reorganize ifdefs.
-
-2008-07-17  Andreas Schwab  <schwab@suse.de>
-
-       * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.
-
-2008-07-17  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       Use SDATA.  Follow coding convention of placing operators at
-       beginning of next line rather than end of previous line, and placing
-       spaces around infix operators.
-
-       * Makefile.in: Undef LIB_STANDARD before defining it to silence warning
-       in case it was defined already.
-       USE @GNUSTEP_MAKEFILES@ rather than envvars.
-       * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to
-       ns_default.
-       (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare
-       Lisp_Objects.
-       * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)
-       (ns_defined_color, ns_color_to_lisp): Declare.
-       * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)
-       (Fns_own_selection_internal): Make the big ugly hack more explicit, so
-       it's accepted even with USE_LISP_UNION_TYPE.
-       * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.
-       (update_frame_tool_bar): Remove apparently obsolete tests for
-       non-integerness of f->tool_bar_lines.
-       (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly
-       hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.
-       * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.
-       (nsfont_open): Don't confuse NULL for Qnil.
-       * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.
-       * menu.h (find_and_call_menu_selection):
-       * menu.c (find_and_call_menu_selection): Use just int for vector size.
-       (find_and_return_menu_selection): Always return something.
-       * frame.h: Include dispextern.h for Display_Info.
-       (display_x_get_resource): Declare.
-
-2008-07-16  Adrian Robert  <Adrian.B.Robert@gmail.com>
-
-       * syntax.c: Remove stdio.h include accidentally introduced in
-       Emacs.app commit.
-       * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to
-       NS_IMPL_COCOA.
-       * keyboard.c (handle_async_input, input_available_signal): Remove
-       BSD4_1 conditional code, introduced accidentally in Emacs.app commit.
-
-2008-07-16  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.
-       (ns_lisp_to_color): Don't mess with internal Lisp data fields.
-       (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):
-       Use SDATA.
-
-       * keymap.c: Remove all NS-specific code.
-       (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.
-       (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to
-       where_is_preferred_modifier, return a different value depending on how
-       preferred is the binding.
-       (where_is_internal): Adjust accordingly.
-       (Fwhere_is_internal): Refresh where_is_preferred_modifier.
-       Adjust to new preferred_sequence_p.
-       (syms_of_keymap): Declare `where-is-preferred-modifier'.
-       * keyboard.c (parse_solitary_modifier): Not static any more.
-       * keyboard.h (parse_solitary_modifier): Declare.
-
-2008-07-16  Andreas Schwab  <schwab@suse.de>
-
-       * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling
-       of easymenu.
-
-2008-07-16  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xdisp.c (move_it_in_display_line): Account for word wrap, so
-       that we don't move off the line.
-
-2008-07-16  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * keyboard.c (Qsuper): Remove.
-       (parse_menu_item): Don't call where_is_internal specially for NS.
-
-2008-07-16  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * s/gnu-linux.h: Remove boilerplate comments.
-
-       * m/alpha.h (__ELF__): Consolidate conditions.
-
-       * m/m68k.h (linux): Use GNU_LINUX instead.
-       Remove boilerplate comments.
-
-       * m/intel386.h: Undo refactoring from previous change.
-       (LIB_STANDARD): All systems that define USG define LIB_STANDARD
-       too, remove dead code.
-       (linux): Use GNU_LINUX instead.
-
-2008-07-16  Jason Rumney  <jasonr@gnu.org>
-
-       * w32gui.h: Repeat 26 June changes lost by last change.
-
-2008-07-16  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * systty.h: Remove code for Aix on 386, unsupported platform.
-
-       * s/ms-w32.h: Remove boilerplate comments.
-       (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
-
-       * s/gnu-linux.h (TERM): Remove support.
-       (HAVE_SYSVIPC): Remove, unused.
-       (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
-       for this system.
-
-       * process.c: Remove support for IRIS, unused.
-       Remove support for TERM, not relevant anymore.
-
-       * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
-       used with the definition.
-
-       * s/aix4-2.h (static): Do not undef.
-
-       * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
-       only used on Aix.
-       (HAVE_SYSVIPC): Remove, unused.
-
-       * m/hp800.h (CANNOT_DUMP): Do not undef.
-
-       * m/alpha.h: Fix comment.
-
-       * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
-       (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
-       used by this configuration.
-       * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
-       * unexec.c: Remove code depending on HPUX and
-       USG_SHARED_LIBRARIES, not used with this file.  Remove code
-       depending on IRIS, unused.  Remove if 0-ed code.
-
-       * s/template.h: Remove comments about static.
-
-       * sysdep.c: Remove code depending on NEED_PTEM_H, unused.
-       Remove if 0-ed code.
-       (baud_convert): Don't depend on BAUD_CONVERT, all definitions the
-       were the same as the default.
-       * s/vms.h (BAUD_CONVERT): Remove, same as the default.
-       Remove boilerplate comments.
-       * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.
-       (HAVE_SYSVIPC): Remove, unused.
-       (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.
-
-       * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
-       Remove boilerplate comments.
-       * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
-       Remove boilerplate comments.
-       * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.
-       Remove boilerplate comments.
-       * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.
-
-       * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on
-       USG systems which do not use DATA_SEG_BITS.
-       Refactor code.  Remove boilerplate comments.
-
-       * m/ibms390.h:
-       * m/m68k.h:
-       * s/bsd-common.h:
-       * s/cygwin.h:
-       * s/darwin.h:
-       * s/freebsd.h:
-       * s/gnu.h:
-       * s/msdos.h: Remove boilerplate comments.
-
-       * m/iris4d.h: Remove boilerplate comments and code for systems that
-        do not use this file.
-       (IRIS_4D): Remove, unused.
-
-       * m/mips.h: Remove boilerplate comments and code for systems that
-        do not use this file.
-       (SIGN_EXTEND_CHAR):
-       * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
-       * unexmips.c: Remove file, unused.
-
-       * editfns.c (Fuser_full_name): Replace the only use of
-       USER_FULL_NAME with its value.
-       * config.in: Regenerate.
-
-2008-07-16  David Reitter  <david.reitter@gmail.com>
-
-       * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and
-       easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.
-
-2008-07-16  Glenn Morris  <rgm@gnu.org>
-
-       * emacs.c (system-type): Doc fix.
-
-2008-07-15  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.
-       If the cache doesn't work, let's fix it, rather than work around it.
-
-2008-07-15  Adrian Robert  <Adrian.B.Robert@gmail.com>
-
-       * Makefile.in: Correct additions for nsfont.o in last commit.
-       * nsfont.m: New file (forgot last commit).
-
-2008-07-15  Chris Hall  <chris@web.workinglinux.com>  (tiny change)
-
-       * callproc.c (set_initial_environment): Initialize
-       Vprocess_environment under CANNOT_DUMP (fixes crash when
-       batch-compiling for bootstrap).
-
-2008-07-15  Chris Hall  <chris@web.workinglinux.com>  (tiny change)
-           YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
-       fix crash due to different init order.
-
-2008-07-15  Adrian Robert  <Adrian.B.Robert@gmail.com>
-
-       Changes and additions for NeXTstep windowing system (Cocoa and
-       GNUstep) support.
-
-       * Makefile.in:
-       * config.in: Support defines and build commands for NS port.
-       * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)
-       (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.
-       * dispextern.h: Include nsgui.h and add needed typedefs under NS
-       windowing.
-       (struct face): Add synth_ital field.
-       * dispnew.c: Include nsterm.h when compiling under NS windowing.
-       (init_display): Initialize Vinitial_window_system to "ns" when so
-       compiled.
-       * emacs.c: Include GSConfig.h when compiling under GNUstep.
-       (display_arg): Use under NS.
-       (main): Under NS, allocate autorelease pool and handle command line
-       args.  Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.
-       (standard_args): Add NS-specific args.
-       (shut_down_emacs): Shut down NS terminal if compiled under NS.
-       * font.c (DEFAULT_ENCODING): New variable.
-       (font_find_for_lface): Use it.
-       (syms_of_font): Load syms_of_nsfont under NS.
-       * font.h: Declare nsfont_driver when compiled under NS.
-       * fontset.c: When compiling under NS, include nsterm.h.
-       (fontset_from_font): Autoconstruct fontset under NS.
-       * frame.c (various): Under NS, include nsterm.h, add Qns window system
-       symbol, document and use it.
-       (do_switch_frame): When for_deletion under Cocoa, add
-       Fraise_frame(Qnil).
-       (x_set_frame_parameters): Ensure font attribute changes are picked up.
-       (x_get_arg): Allow "yes" and "no" as boolean values.
-       (syms_of_frame): Declare Qns.  Init Vdefault_frame_scroll_bars to
-       Qright under Cocoa.
-       (focus-follows-mouse): Default to 0 under NS.
-       * frame.h (enum output_method): Add output_ns.
-       (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)
-       (FRAME_EXTERNAL_MENU_BAR): Use under NS.
-       (FRAME_WINDOW_P): NS-specific definition.
-       * fringe.c (max_used_fringe_bitmap): Make public.
-       * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.
-       (getloadavg): Use NeXT code under descendant OS's.
-       * image.c (includes and header section, x_create_bitmap_from_data)
-       (x_create_bitmap_from_file, free_bitmap_record, image_background)
-       (image_background_transparent, x_clear_image_1)
-       (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)
-       (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)
-       (x_to_xcolors, x_from_xcolors, x_disable_image)
-       (x_build_heuristic_mask, syms_of_image): Add NS support parallel to
-       other GUIs, including XPM support using code originally written for
-       Carbon GUI.
-       (png_load, jpeg_load, tiff_load, gif_load): Add implementations
-       using NS API.
-       (image_ascent): Use font metrics macros instead of direct struct field
-       access.
-       * keyboard.c (includes): Add nsterm.h when compiling under NS.
-       (kbd_buffer_get_event): Handle NS as other GUI windowing systems.
-       Also, handle NS as GTK for menu bar purposes.
-       (make_lispy_event): Handle NS as other GUI windowing systems, and as X
-       toolkit where they differ.
-       (parse_menu_item): Prefer keybindings using 'super' modifier.  Also,
-       use cachelist, still needed under NS.
-       * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.
-       (struct widget_value): Define it here for menu.c.
-       * keymap.c (includes): Include modifier internals.
-       (lisp_to_mod, modifier_sequence_p): New functions, compiled only under
-       NS.
-       (where_is_internal, Fwhere_is_internal): When compiled under NS, add
-       support for preferring sequences using certain modifiers, specified by
-       the FIRSTONLY argument.
-       * lisp.h (hash_remove): Rename to avoid name clash when compiling
-       under NS GNUstep implementation.
-       (USE_LSB_TAG): Use it under Cocoa when compiling under NS.
-       * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.
-       * menu.c: Include nsterm.h under NS.
-       (single_menu_item, parse_single_submenu, xmalloc_widget_value)
-       (free_menubar_widget_tree_value, update_submenu_strings)
-       (find_and_call_menu_selection): Treat NS as X and NT.
-       (find_and_return_menu_selection): New function, used for popup menus.
-       * nsgui.h:
-       * nsterm.h:
-       * nsfns.m:
-       * nsimage.m:
-       * nsmenu.m:
-       * nsselect.m:
-       * nsterm.m: New files.
-       * process.c (wait_reading_process_output): Under NS, call ns_select()
-       instead of plain select().
-       * syntax.c (char_quoted): Under NS, avoid a crash when called near
-       beginning of buffer.
-       * sysselect.h (init_process): Rename when compiling under Cocoa to
-       avoid name conflict.
-       * termhooks.h (display_info): Add ns_display_info to union.
-       * terminal.c (Fterminal_live_p): Add ns to terminal types.
-       * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in
-       COCOA environment.
-       * unexnext.c: Update to work with mach API on Mac OS X, and to use new
-       unexec() signature.  (Note, this will dump, but the resulting file
-       crashes; unexosx is used instead; keeping around for reference and
-       possible aid in getting dump working under GNUstep.)
-       * w32gui.h (button_type, widget_value): Remove definitions (now in
-       keyboard.h).
-       * window.c: Include nsterm.h when compiling under NS.
-       * xdisp.c (includes): Include nsterm.h when compiling under NS.
-       (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as
-       other GUI windowing systems.
-       (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as
-       GTK.
-       (x_consider_frame_title): Under NS, set icon type and frame
-       modified-state indicator; use ns_set_name_as_filename() when using
-       formatted title.
-       (update_window_cursor): Make public when compiling under NS.
-       (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)
-       (hourglass_atimer, Vhourglass_delay
-       * xfaces.c (header section, init_frame_faces, clear_font_table)
-       (defined_color, unload_color, x_face_list_fonts)
-       (prepare_face_for_display): Add NS support parallel to other GUIs.
-       Emulate GCs like other non-X GUIs.
-       (split_font_name): Don't lowercase font name under NS.
-       (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling
-       under NS.
-       * s/darwin.h: Add support for compilation under NS.
-
-2008-07-15  Jason Rumney  <jasonr@gnu.org>
-
-       * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.
-       (w32_show_hourglass): Rename from show_hourglass.
-       (w32_hide_hourglass): Rename from hide_hourglass.
-       (DEFAULT_HOURGLASS_DELAY): Revert from last change.
-       (Vhourglass_delay): Declare extern.
-       (hourglass_started): Remove.
-
-       * xdisp.c (Vhourglass_delay): Remove static.
-       (hourglass_started, start_hourglass, cancel_hourglass):
-       Don't include these versions on WINDOWSNT.
-
-2008-07-15  Adrian Robert  <Adrian.B.Robert@gmail.com>
-
-       * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern
-       variables (formerly in xfns.c).
-       (show_hourglass, hide_hourglass): New prototypes (same).
-       * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)
-       (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly
-       in xfns.c).
-       (syms_of_xdisp): Declare/initialize display-hourglass,
-       hourglass-delay.  Initialize hourglass_atimer, hourglass_shown_p.
-       (hourglass_started, start_hourglass, cancel_hourglass): New functions,
-       formerly in xfns.c.
-       * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
-       (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
-       (start_hourglass, cancel_hourglass): Remove.
-       (show_hourglass, hide_hourglass): Remove prototypes and static
-       modifiers.
-       (syms_of_xfns): Remove display-hourglass, hourglass-delay,
-       hourglass_atimer, hourglass_shown_p declaration/initialization.
-       * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)
-       (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)
-       (start_hourglass, cancel_hourglass): Remove.
-       (show_hourglass, hide_hourglass): Remove prototypes and static
-       modifiers.
-       (syms_of_macfns): Remove display-hourglass, hourglass-delay,
-       hourglass_atimer, hourglass_shown_p declaration/initialization.
-       * w32fns.c (display_hourglass_p, Vhourglass_delay)
-       (DEFAULT_HOURGLASS_DELAY): Remove.
-       (syms_of_w32fns): Remove display-hourglass, hourglass-delay,
-       hourglass_shown_p declaration/initialization.
-
-2008-07-14  Jason Rumney  <jasonr@gnu.org>
-
-       * w32fns.c (w32_get_arg): Remove wrapper function.
-       (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg
-       directly.
-       (Fx_create_frame): Sync with xfns.c.  Use x_get_arg directly.
-
-2008-07-14  Kenichi Handa  <handa@m17n.org>
-
-       * xfont.c (xfont_open): Add workaround for X's bug.
-
-2008-07-14  Emanuele Giaquinta  <emanuele.giaquinta@gmail.com>  (tiny change)
-
-       * fontset.c: Include <stdio.h> unconditionally.
-
-2008-07-13  Michael Albinus  <michael.albinus@gmx.de>
-
-       * dbusbind.c (Fdbus_register_signal): Allow also signal arguments
-       for filtering.
-
-2008-07-13  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * s/vms.h: Use __GNUC__ instead of _GNUC_.
-
-       * m/macppc.h:
-       * m/alpha.h: Use GNU_LINUX instead of LINUX.  Reorganize conditionals.
-
-       * m/ibms390x.h (XINT, XUINT): Don't define, same as the default
-       (SPECIAL_EMACS_INT):
-       * m/ia64.h (SPECIAL_EMACS_INT):
-       * m/amdx86-64.h (SPECIAL_EMACS_INT):
-       * s/gnu.h (NLIST_STRUCT):
-       * s/aix4-2.h (X11R5_INHIBIT_I18N):
-       * s/gnu-linux.h (LINUX):
-       * s/msdos.h (HAVE_FACES):
-       * s/ms-w32.h (HAVE_FACES): Don't define, unused.
-
-       * systty.h:
-       * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used
-       anymore.
-
-2008-07-12  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * syswait.h: Remove old if 0 code.  Do not define WAITTYPE, it was
-       always defined as int.
-
-       * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):
-       * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):
-       * s/gnu-linux.h (HAVE_WAIT_HEADER):
-       * s/freebsd.h (HAVE_WAIT_HEADER):
-       * s/bsd-common.h (HAVE_UNION_WAIT):
-       * s/aix4-2.h (HAVE_WAIT_HEADER):
-       * m/mips.h (HAVE_UNION_WAIT):
-       * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.
-       (COFF, static): Do not define, they are undefined later in the file.
-
-       * process.c (update_status): Don't use a union.
-       (status_convert):
-       (sigchld_handler): Use int instead of WAITTYPE.
-
-2008-07-12  Chong Yidong  <cyd@stupidchicken.com>
-
-       * indent.c (Fvertical_motion): Restore hscroll before moving to
-       goal column.
-
-2008-07-11  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * lisp.h: Remove left over code.
-
-2008-07-11  Andreas Schwab  <schwab@suse.de>
-
-       * lisp.h: Fix logic in last change.
-
-       * menu.h: New file.
-       * menu.c: Include it.
-       * xmenu.c: Likewise.
-       * Makefile.in: Update dependencies.
-
-2008-07-11  Kenichi Handa  <handa@m17n.org>
-
-       * fontset.c (fontset_from_font): Cancel the previous change.
-
-2008-07-11  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * lisp.h:
-       * w32heap.c:
-       * emacs.c:
-       * alloc.c: Replace all references of NO_UNION_TYPE with
-       USE_LISP_UNION_TYPE.
-
-       * m/xtensa.h (NO_UNION_TYPE):
-       * m/vax.h (NO_UNION_TYPE):
-       * m/template.h (NO_UNION_TYPE):
-       * m/sparc.h (NO_UNION_TYPE):
-       * m/mips.h (NO_UNION_TYPE):
-       * m/macppc.h (NO_UNION_TYPE):
-       * m/m68k.h (NO_UNION_TYPE):
-       * m/iris4d.h (NO_UNION_TYPE):
-       * m/intel386.h (NO_UNION_TYPE):
-       * m/ibms390x.h (NO_UNION_TYPE):
-       * m/ibms390.h (NO_UNION_TYPE):
-       * m/ibmrs6000.h (NO_UNION_TYPE):
-       * m/ia64.h (NO_UNION_TYPE):
-       * m/hp800.h (NO_UNION_TYPE):
-       * m/arm.h (NO_UNION_TYPE):
-       * m/amdx86-64.h (NO_UNION_TYPE):
-       * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were
-       defining it the same.
-
-2008-07-10  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.
-
-2008-07-10  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * fileio.c:
-       * sysdep.c
-       * systty.h:
-       * m/ibmrs6000.h:
-       * m/iris4d.h:
-       * s/aix4-2.h:
-       * s/freebsd.h:
-       * s/gnu-linux.h:
-       * s/hpux10-20.h:
-       * s/hpux11.h:
-       * s/netbsd.h:
-       * s/sol2-3.h:
-       * s/sol2-4.h:
-       * s/sol2.h:
-       * s/usg5-4.h:
-       * s/vms.h: Remove references to unused variables.
-
-2008-07-10  Andreas Schwab  <schwab@suse.de>
-
-       * ftfont.c (ftfont_resolve_generic_family): Remove foundry from
-       pattern before matching the generic family.
-
-2008-07-10  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * unexec.c:
-       * s/vms.h:
-       * s/usg5-4-2.h:
-       * s/sol2-5.h:
-       * s/freebsd.h:
-       * s/darwin.h: Remove dead code.
-
-       * m/template.h:
-       * m/sparc.h:
-       * m/mips.h:
-       * m/m68k.h:
-       * m/iris4d.h:
-       * m/intel386.h:
-       * m/ibms390x.h:
-       * m/ibms390.h:
-       * m/ia64.h:
-       * m/hp800.h:
-       * m/arm.h:
-       * m/amdx86-64.h: Remove dead code and references to unused
-       and compiler defined symbols.
-
-       * unexmips.c:
-       * unexelf.c: Remove references to desupported systems.
-
-       * m/powermac.h: Remove file, it is now identical to m/macppc.h.
-
-       * m/powermac.h: Remove boilerplate comments.
-       (NO_REMAP): Remove unused definition.
-
-       * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files
-       define them.
-
-2008-07-10  Kenichi Handa  <handa@m17n.org>
-
-       * xfont.c (xfont_open): Log the reason of failure.
-
-2008-07-09  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * fontset.c (fontset_get_font_group):
-       * font.c (font_check_otf): Specify argument types.
-
-2008-07-09  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (detect_coding_utf_8): Set detect_info->found only when
-       non-ASCII char is found.
-
-       * fontset.c (fontset_compare_rfontdef): Fix plus/minus.
-       (reorder_font_vector): Change the arg preferred_family to font.
-       Prefer the spec matching with font.
-       (fontset_get_font_group): New function.
-       (fontset_find_font): Change the format of an element of a realized
-       fontset.  Use fontset_get_font_group.
-       (fontset_font): Try the current fontset, the default fontset, the
-       fallbacks of the current fontset, and the fallbacks of the default
-       fontset in this order.
-       (face_for_char): Delete the shortcut to use the current font.
-       (fontset_from_font): Don't set fonts for Latin in the fontset.
-
-       * font.h (font_make_object, font_match_p): Adjust prototypes.
-
-       * ftfont.h [FT_BDF_H]: Include FT_BDF_H.
-
-       * font.c (font_make_object): New arg entity and pixelsize.
-       (font_check_otf_features, font_check_otf): New functions.
-       (font_match_p): Check :lang, :script, and :otf properties.
-
-       * xfont.c (xfont_open): Adjust it for the change of
-       font_make_object.
-       (xfont_text_extents): Fix initial setting of metrics.
-
-       * ftfont.c (struct ftfont_info): New member index, delete member
-       fc_charset_idx.  Make the member order compatible with struct
-       xftfont_info.
-       (fc_charset_table): Change charset names to registry names.
-       (ftfont_pattern_entity): Delete the args registry and
-       fc_charset_idx.  Change the value of :font-entity property
-       to (FONTNAME . INDEX).  Always set :registry property to
-       `iso10646-1'.
-       (struct ftfont_cache_data): New struct.
-       (ftfont_lookup_cache): New arg for_face.
-       (ftfont_get_fc_charset, ftfont_get_otf): New functions.
-       (ftfont_driver): Set the member otf_capability.
-       (ftfont_get_charset): Adjust it for the change of
-       fc_charset_table.
-       (OTF_TAG_SYM): New macro.
-       (ftfont_spec_pattern): Delete the arg fc_charset_idx.  Adjust it
-       for the change of fc_charset_table.
-       (ftfont_list): Adjust it for the change of ftfont_spec_pattern and
-       ftfont_pattern_entity.  Add FC_INDEX to objset.
-       (ftfont_match): Adjust it for the change of ftfont_spec_pattern
-       and ftfont_pattern_entity.
-       (ftfont_open): Adjust it for the change of ftfont_lookup_cache,
-       font_make_object, struct ftfont_info.
-       (ftfont_has_char): Use ftfont_get_fc_charset.
-       (ftfont_otf_features, ftfont_otf_capability): New functions.
-       (ftfont_shape): Use ftfont_get_otf.
-       (ftfont_text_extents): Fix initial setting of metrics.
-
-       * xftfont.c (struct xftfont_info): New member ft_size.  Make the
-       member order compatible with struct ftfont_info.
-       (xftfont_open): Add FC_CHARSET to the pattern.  Set
-       xftfont_info->ft_size.  Don't unlock the face.  Check BDF
-       properties if appropriate.
-       (xftfont_close): Unlock the face.
-       (xftfont_anchor_point, xftfont_shape): Deleted.
-       (syms_of_xftfont): Don't set members anchor_point and shape of
-       xftfont_driver.
-
-       * w32uniscribe.c (uniscribe_open): Adjust it for the change of
-       font_make_object.
-
-       * w32font.c (w32font_open): Adjust it for the change of
-       font_make_object.
-       (w32font_open_internal): Don't set properties of font_object here.
-
-2008-07-08  Chong Yidong  <cyd@stupidchicken.com>
-
-       * macfns.c (x_create_tip_frame):
-       * w32fns.c (x_create_tip_frame):
-       * xfns.c (x_create_tip_frame): Pass parameter argument to
-       face-set-after-frame-default.
-
-       * xfaces.c (Finternal_merge_in_global_face): Save merged
-       attributes for the default face back into the face vector.
-
-2008-07-08  Andreas Schwab  <schwab@suse.de>
-
-       * fontset.h: Declare fontset_from_font.  Don't declare
-       new_fontset_from_font and fontset_from_font_name.
-       * xterm.c: Include "fontset.h".
-       * Makefile.in (xterm.o): Update dependencies.
-
-2008-07-08  Glenn Morris  <rgm@gnu.org>
-
-       * m/sparc.h: Define __sparc__ rather than sparc.  (Bug#507.)
-       * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.
-
-2008-07-07  Chong Yidong  <cyd@stupidchicken.com>
-
-       * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.
-       (x_set_frame_parameters): Don't bind it.
-
-2008-07-07  Juanma Barranquero  <lekktu@gmail.com>
-
-       * w32fns.c (map_w32_filename): Declare extern.
-
-2008-07-07  Jason Rumney  <jasonr@gnu.org>
-
-       * w32term.c (WS_EX_LAYERED): Define if not already.
-
-2008-07-06  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xfaces.c (set_font_frame_param): Don't try to set the font
-       parameter if it is still unspecified in the lface.
-
-2008-07-05  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xfaces.c (Finternal_merge_in_global_face): Don't realize default
-       face if it didn't already exist.
-
-       * xdisp.c (try_window_id): Give up if word-wrapping is on.
-
-2008-07-05  Andreas Schwab  <schwab@suse.de>
-
-       * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.
-
-2008-07-05  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if
-       word-wrapping.
-       (IT_DISPLAYING_WHITESPACE): New macro.
-       (move_it_in_display_line_to): Handle MOVE_TO_X requests properly
-       when word-wrapping.  Simplify word-wrapping logic.  Use correct
-       pixel positions when saving copies of the iterator.
-       (display_line): Use proper wrap point if the last character on a
-       line was preceded by whitespace.
-
-2008-07-04  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.
-
-2008-07-04  Kenichi Handa  <handa@m17n.org>
-
-       * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.
-
-       * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.
-
-2008-07-02  Jason Rumney  <jasonr@gnu.org>
-
-       * xfns.c (syms_of_xfns): Only define x-select-font when both
-       HAVE_FREETYPE and USE_GTK
-
-       * xdisp.c (next_element_from_display_vector): Move assignment out
-       of if statement.
-
-2008-07-02  Toru Tsuneyoshi  <t_tuneyosi@hotmail.com>
-
-       * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.
-
-       * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.
-       (syms_of_fileio): Initialize and export them.
-       (Fdelete_directory, Fdelete_file): Optionally delete via trash.
-
-       * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.
-       (Fsystem_move_file_to_trash): New function.
-       (syms_of_w32fns): Export it to lisp.
-
-2008-07-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (w32font_text_extents): Don't count overhang as part
-       of width.
-
-2008-06-30  Miles Bader  <miles@gnu.org>
-
-       * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):
-       Add `avoid_cursor_p' field.
-
-       * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.
-       (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.
-       (append_glyph, append_composite_glyph, produce_image_glyph)
-       (append_stretch_glyph): Initialize avoid_cursor_p.
-       (get_it_property): Rename from `get_line_height_property'.
-       (x_produce_glyphs): Use get_it_property.
-       (handle_line_prefix, push_display_prop): New functions.
-       (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.
-       (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):
-       New variables.
-       (syms_of_xdisp): Initialize them.
-
-2008-06-30  Kenichi Handa  <handa@m17n.org>
-
-       * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and
-       XftDefaultSubstitute (they are called in XftFontMatch).
-       (xftfont_open): Fix args to ftfont_font_format.
-
-       * ftfont.c (fc_charset_table): New member lang.
-       (ftfont_resolve_generic_family): New arg pattern.
-       (ftfont_spec_pattern): Check fc_cahrset_table[]->lang.
-       (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.
-       (ftfont_open): Fix args to ftfont_font_format.
-       (ftfont_font_format): New arg filename.
-
-2008-06-30  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xfaces.c (Finternal_merge_in_global_face): If default face was
-       modified, realize it again.  Update the font face attribute.
-
-2008-06-29  Jason Rumney  <jasonr@gnu.org>
-
-       * w32term.c (x_set_frame_alpha): Fix logic.
-
-2008-06-29  Kenichi Handa  <handa@m17n.org>
-
-       * fontset.c (Finternal_char_font): Return font-object instead of
-       font-name.
-
-       * composite.c (get_composition_id): Fix the width calculation for TAB.
-
-2008-06-29  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * indent.c (Fvertical_motion): Properly handle float column arg.
-
-2008-06-28  Jason Rumney  <jasonr@gnu.org>
-
-       * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.
-       (pfnSetLayeredWindowAttributes): New function pointer.
-       (w32_initialize): Initialize it when supported.
-       (x_set_frame_alpha): New function.
-
-       * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.
-       (w32_frame_parm_handlers): Set alpha handler.
-
-       * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.
-
-2008-06-27  Jason Rumney  <jasonr@gnu.org>
-
-       * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)
-       (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.
-       (w32_to_x_charset, x_to_w32_charset)
-       (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
-       (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
-       (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
-       (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
-       (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
-       (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
-       (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.
-       (Qw32_charset_unicode): Remove.
-       (syms_of_w32fns): Update for above changes.
-
-       * w32font.c (w32_to_x_charset, x_to_w32_charset)
-       (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)
-       (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)
-       (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)
-       (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)
-       (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)
-       (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)
-       (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.
-       (syms_of_w32font): Update for above changes.
-
-2008-06-27  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * s/usg5-4.h: Fix previous change: keep the correct branch of a
-       removed #if.
-       (USG_SHARED_LIBRARIES): Remove duplicate definition.
-
-2008-06-26  Juanma Barranquero  <lekktu@gmail.com>
-           Eli Zaretskii  <eliz@gnu.org>
-
-       * makefile.w32-in (LOCAL_FLAGS):
-       Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
-
-       * sysdep.c (_spawnlp, _getpid):
-       Declare with explicit _cdecl instead of _CRTAPI1.
-
-       * editfns.c (Fget_internal_run_time):
-       Check for WINDOWSNT with #ifdef, not #if.
-
-2008-06-26  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.
-
-       * w32term.c (x_draw_glyph_string_foreground)
-       (x_draw_composite_glyph_string_foreground): Sync with xterm.c.
-       Use FONT_HANDLE macro.
-       (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.
-
-       * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
-       (uniscribe_encode_char): Use FONT_HANDLE macro.
-
-       * w32font.c (Fx_select_font): Use FONT_HANDLE macro.
-       (w32font_text_extents): Use precast w32_font.
-       (w32font_close): Free cached metrics.
-       (w32font_open_internal): Allocate space for name on stack.
-
-2008-06-26  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xdisp.c (extend_face_to_end_of_line): Fix last change.
-
-2008-06-26  Jason Rumney  <jasonr@gnu.org>
-
-       * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.
-       (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.
-
-2008-06-26  Juanma Barranquero  <lekktu@gmail.com>
-
-       * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.
-
-2008-06-26  Jason Rumney  <jasonr@gnu.org>
-
-       * w32bdf.c, w32bdf.h: Remove obsolete files.
-
-       * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.
-
-       * w32gui.h: Don't include w32bdf.h.
-       (XCharStruct, enum w32_char_font_type, W32FontStruct):
-       Remove obsolete font support.
-
-       * w32font.h (struct w32font_info): Remove compat_w32_font.
-       Add hfont member.
-       (FONT_COMPAT): Remove obsolete macro.
-
-       * w32font.c (w32font_close): Remove compat code.  Delete hfont member.
-       (w32font_encode_char, w32font_text_extents): Use new hfont member.
-       (w32font_open_internal): Remove compat code.  Set new hfont member.
-       (Fx_select_font): Use new hfont member.
-
-       * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)
-       (uniscribe_encode_char): Use new hfont member.
-
-       * w32term.c (x_draw_glyph_string_foreground)
-       (x_draw_composite_glyph_string_foreground): Use new hfont member.
-       (x_draw_glyph_string): Use metrics in w32font_info.
-
-2008-06-26  Kenichi Handa  <handa@m17n.org>
-
-       * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.
-
-2008-06-26  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * unexnext.c:
-       * m/ews4800.h:
-       * m/hp9000s300.h:
-       * m/ibm370aix.h:
-       * m/mips-siemens.h:
-       * m/ncr386.h:
-       * m/next.h:
-       * m/pmax.h:
-       * m/powerpcle.h:
-       * m/tandem-s2.h:
-       * s/386bsd.h:
-       * s/bsd386.h:
-       * s/bsd4-1.h:
-       * s/bsd4-2.h:
-       * s/bsdos2-1.h:
-       * s/bsdos2.h:
-       * s/bsdos3.h:
-       * s/bsdos4.h:
-       * s/nextstep.h:
-       * s/ultrix4-3.h:
-       * s/usg5-0.h:
-       * s/usg5-2-2.h:
-       * s/usg5-2.h:
-       * s/usg5-4-3.h:
-       * s/ux4800.h:
-       * s/uxpds.h:
-       * s/uxpv.h: Remove support for obsolete systems.
-       * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:
-       Remove, insert contents in s/hpux-10.20.h.
-       * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:
-       Remove, insert contents in s/aix4-2.h.
-       * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.
-       * s/bsd4-3.h: Rename to ...
-       * s/bsd-common.h: ... this.
-       * data.c:
-       * doc.c:
-       * ecrt0.c:
-       * emacs.c:
-       * fileio.c:
-       * floatfns.c:
-       * keyboard.c:
-       * mem-limits.h:
-       * print.c:
-       * process.c:
-       * sysdep.c:
-       * syssignal.h:
-       * systty.h:
-       * syswait.h:
-       * term.c:
-       * unexec.c:
-       * unexelf.c:
-       * unexhp9k800.c:
-       * m/hp800.h:
-       * m/ibmrs6000.h:
-       * m/mips.h:
-       * m/vax.h:
-       * s/darwin.h:
-       * s/freebsd.h:
-       * s/gnu.h:
-       * s/ms-w32.h:
-       * s/msdos.h:
-       * s/netbsd.h:
-       * s/template.h: Remove references to obsolete variables.
-
-       * Makefile.in: Add dependencies for all unexec files.
-       (admindir): Remove unused variable.
-       (UNEXEC_SRC): Remove references.
-
-2008-06-25  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xfns.c (x_default_font_parameter): If Xft is available, first
-       try Monospace-12 for the default font.
-
-2008-06-25  Jason Rumney  <jasonr@gnu.org>
-
-       * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.
-
-2008-06-25  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.
-
-       * buffer.c (syms_of_buffer): Remove default-word-wrap.
-
-2008-06-25  Juanma Barranquero  <lekktu@gmail.com>
-
-       * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.
-       <scroll-conservatively>: Fix typo in docstring.
-
-       * xselect.c (Fx_send_client_event): Doc fix.
-
-2008-06-25  Kenichi Handa  <handa@m17n.org>
-
-       * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.
-
-       * font.c (font_parse_fcname): Remove unused variables.
-       (font_sort_entites): Delete the arg SPEC.  Caller changed.
-       Fix for the case of ! best_only.
-       (font_delete_unmatched): Check DPI and AVGWIDTH too.
-
-       * lisp.h (Fstring_to_unibyte): EXFUN it.
-
-       * character.h (str_to_unibyte): Extern it.
-
-       * character.c (str_to_unibyte): New function.
-
-       * fns.c (Fstring_to_unibyte): New function.
-       (syms_of_fns): Defsubr it.
-
-2008-06-24  Kenichi Handa  <handa@m17n.org>
-
-       * font.c (font_score): Even if the PIXEL_SIZE is the same, check
-       DPI too.
-       (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.
-
-2008-06-24  Andreas Schwab  <schwab@suse.de>
-
-       * Makefile.in (${lispsource}loaddefs.el): Rename from
-       ../lisp/loaddefs.el.
-       (bootstrap-clean): Do what distclean does but don't remove
-       Makefile.
-       (distclean): Depend on bootstrap-clean and remove Makefile.
-
-2008-06-24  Chong Yidong  <cyd@stupidchicken.com>
-
-       * buffer.h (struct buffer): New member word_wrap.
-
-       * buffer.c (syms_of_buffer): New variables default-word-wrap and
-       word-wrap.
-       (init_buffer_once): Initialize them.
-
-       * dispextern.h (struct it): Replace bool truncate_lines_p with a
-       line_wrap enum possessing three possible values.
-
-       * termopts.h: Replace truncate_partial_width_windows with
-       Vtruncate_partial_width_windows.
-
-       * dispnew.c (direct_output_for_insert): Avoid direct output when
-       inserting a space with word wrap on.
-
-       * indent.c (compute_motion): Obey integer values of
-       truncate-partial-width-windows.
-
-       * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,
-       replacing truncate_partial_width_windows.
-       (init_iterator): If Vtruncate_partial_width_windows is an integer,
-       truncate only if the window width is below that integer.
-       (start_display, resize_mini_window, produce_stretch_glyph)
-       (display_string, move_it_in_display_line_to): Use line_wrap.
-       (back_to_previous_visible_line_start, reseat_1): Reset
-       string_from_display_prop_p.
-       (display_line): Extend default face to end of line when wrapping.
-
-2008-06-24  Kim F. Storm  <storm@cua.dk>
-
-       * xdisp.c (display_line, move_it_in_display_line_to): Add ability
-       to wrap continued lines at word boundaries.
-
-2008-06-24  Jason Rumney  <jasonr@gnu.org>
-
-       * font.c (Ffont_face_attributes): Multiply pixel size before point
-       conversion to avoid multiplying rounding error.
-
-2008-06-23  Jason Rumney  <jasonr@gnu.org>
-
-       * w32term.c (x_draw_glyph_string_background)
-       (x_draw_glyph_string): Remove old bdf font code.
-
-       * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.
-
-2008-06-22  Kenichi Handa  <handa@m17n.org>
-
-       * font.c (font_find_for_lface): Try the adstyle specified in
-       the property of LFACE_FONT of LFACE (if any).
-
-2008-06-21  Seiji Zenitani  <zenitani@mac.com>
-           Ryo Yoshitake  <ryo@shiftmode.net>
-
-       * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
-
-2008-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
-       Use $(BOOTSTRAPEMACS) rather than witness-emacs.
-       (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
-       (witness-emacs): Remove.
-       (lisp, shortlisp): Move loaddefs.el earlier.
-       (mostlyclean): Forget about witness-emacs.
-
-2008-06-22  Glenn Morris  <rgm@gnu.org>
-
-       * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.
-       (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.
-
-2008-06-21  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * Makefile.in (PRECOMP): Remove.
-       (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
-       (witness-emacs): Run `compile-first'.
-       (.el.elc): Use the new compile-onefile target.
-
-2008-06-21  Kenichi Handa  <handa@m17n.org>
-
-       * xftfont.c (xftfont_open): Handle QCembolden only when
-       FC_EMBOLDEN is defined.
-
-2008-06-21  Andreas Schwab  <schwab@suse.de>
-
-       * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).
-       (.el.elc): Likewise.
-
-2008-06-21  Miles Bader  <miles@gnu.org>
-
-       * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp
-       build dir, not the lisp source dir.
-
-2008-06-21  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
-       (bootstrapclean): Remove.
-       (.el.elc): New rule.
-       (PRECOMP): New var.
-       (../lisp/subdirs.el): Remove.
-       (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
-       (witness-emacs): New target.
-       (mostlyclean): Remove witness-emacs as well.
-       (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
-       Add witness-emacs dependency.
-
-2008-06-20  Chong Yidong  <cyd@stupidchicken.com>
-
-       * font.c (Ffont_face_attributes): Omit key-attribute pairs not
-       defined by the font.
-
-2008-06-20  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
-       (bootstrap-clean): New target that keeps TAGS around.
-       (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
-       (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
-
-2008-06-20  Jason Rumney  <jasonr@gnu.org>
-
-       * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
-       Remove obsolete font code.
-
-       * w32font.c (font_matches_spec): Use csb bitfield from font signature
-       to determine language support.
-
-2008-06-20  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * sysdep.c (cfsetspeed): New fun extracted from the code.
-       (cfmakeraw): Move before first use.
-
-2008-06-20  Angelo Graziosi  <angelo.graziosi@alice.it>  (tiny change)
-
-       * sysdep.c (cfmakeraw): Provide fallback implementation.
-       (serial_configure): Provide fallback implementation of cfsetspeed.
-
-2008-06-20  Kenichi Handa  <handa@m17n.org>
-
-       * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to
-       the pattern.
-
-       * fontset.c (fontset_from_font): Copy font_spec before changing
-       the elements.
-
-       * xfns.c (x_default_font_parameter): Try "monospace-12" too.
-
-2008-06-20  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'
-       for explicit `font' parameters.
-
-       * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.
-
-2008-06-19  Kenichi Handa  <handa@m17n.org>
-
-       * frame.c: Include <ctype.h>.
-       (x_set_font_backend): Allow spacing characters in the X resource
-       for FontBackend.
-
-2008-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * w32fns.c, xfns.c (Qfont_param): New var.
-       (syms_of_w32fns): Initialize it.
-       (x_default_font_parameter): Record explicit `font' into
-       `font-parameter'.
-
-2008-06-18  Kenichi Handa  <handa@m17n.org>
-
-       * font.c (font_parse_xlfd): Fix previous change.
-       (font_parse_fcname): Don't use :fc-unknown-spec.
-       (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.
-       (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.
-       (font_add_log): Prepend the driver name to the resulting fonts.
-
-       * ftfont.c (ftfont_pattern_entity): New arg extra.  Caller changed.
-       (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.
-       (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.
-
-       * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)
-       (QCembolden): New variables.
-       (syms_of_xftfont): DEFSYM them.
-       (xftfont_open): Call XftFontMatch.  Don't trust the result of
-       XftTextExtents8 if the pixel_size is less than 5.
-
-2008-06-18  Andreas Schwab  <schwab@suse.de>
-
-       * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.
-       (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.
-
-2008-06-18  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (w32font_list, w32font_match): Add logging.
-
-       * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.
-
-2008-06-17  Chong Yidong  <cyd@stupidchicken.com>
-
-       * font.c (font_parse_fcname): Store divider characters for
-       unknown-spec list.  For known key symbols, intern using correct
-       symbol name.
-
-2008-06-17  Kenichi Handa  <handa@m17n.org>
-
-       * xfaces.c (realize_default_face): If the frame is not on window
-       system, set the fontset of face to nil.
-
-2008-06-17  Naohiro Aota  <nao.aota@gmail.com>  (tiny change)
-
-       * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.
-
-2008-06-16  Juanma Barranquero  <lekktu@gmail.com>
-
-       * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)
-       (build_font_name_from_vector): Delete externs.
-
-       * xfaces.c (struct font_name): Don't declare.
-
-2008-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.
-
-2008-06-16  Chong Yidong  <cyd@stupidchicken.com>
-
-       * font.c (font_parse_fcname): Fix handling of unknown-spec string.
-
-2008-06-16  Juanma Barranquero  <lekktu@gmail.com>
-
-       * font.c (Ffont_spec): Fix usage in docstring.
-       (Ffont_face_attributes): Doc fix.
-
-2008-06-16  Andreas Schwab  <schwab@suse.de>
-
-       * font.c (Ffont_face_attributes): Fix definition.
-
-2008-06-16  Jason Rumney  <jasonr@gnu.org>
-
-       * font.h (font_style_symbolic_from_value): Remove.
-
-       * font.c (font_style_symbolic_from_value): Remove.
-       (font_style_symbolic): Revert to pre 2008-06-13 version.
-
-       * w32font.c (w32_to_fc_weight): New function.
-       (w32font_full_name, logfont_to_fcname): Use it.
-
-2008-06-16  Kenichi Handa  <handa@m17n.org>
-
-       * font.c (font_check_object): Delete it.
-       (font_clear_cache): Check if a font-object is alive.
-       (font_open_entity): Likewise.  Set FONT_OBJLST_INDEX of a
-       font-object to nil.
-       (font_close_object): Don't check FONT_CLOSE_OBJECT.
-       (font_at): Don't call font_check_object.
-       (Ffont_get): Return a symbol for :weight, :slant, and :width.
-
-2008-06-16  Katsumi Yamaoka  <yamaoka@jpl.org>
-
-       * puresize.h (BASE_PURESIZE): Increase to 1230000.
-
-2008-06-16  Chong Yidong  <cyd@stupidchicken.com>
-
-       * font.c (font_parse_fcname): Correctly parse KEY=VAL values.
-
-2008-06-15  Chong Yidong  <cyd@stupidchicken.com>
-
-       * font.c (font_parse_fcname): Only one decimal point.
-       (font_unparse_fcname): Handle data in family and foundry indices
-       as symbols, not strings.
-       (font_unparse_gtkname, Ffont_face_attributes): New functions.
-
-       * xfns.c (Fx_select_font): Give GTK font dialog the default font name.
-
-       * font.h (font_unparse_gtkname): Add prototype.
-
-2008-06-15  Naohiro Aota  <nao.aota@gmail.com>  (tiny change)
-
-       * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.
-
-2008-06-15  Andreas Schwab  <schwab@suse.de>
-
-       * font.c (font_update_drivers): Fix crash when no drivers match.
-
-2008-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.
-       * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.
-
-2008-06-14  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.
-
-2008-06-13  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * process.c (Fserial_process_configure, Fprocess_send_eof):
-       Use EQ to compare Lisp_Objects.
-
-2008-06-13  Jason Rumney  <jasonr@gnu.org>
-
-       * w32fns.c (Fw32_select_font): Remove old font API function.
-
-       * w32font.c (logfont_to_fcname): New function.
-       (Fx_select_font): New font dialog function compatible with
-       GTK/fontconfig version.
-
-       * font.c (font_style_symbolic_from_value): New function.
-       (font_style_symbolic): Use it.
-
-       * font.h (font_style_symbolic_from_value): Declare new function.
-
-2008-06-13  Juanma Barranquero  <lekktu@gmail.com>
-
-       * font.c (syms_of_font) <font-weight-table, font-slant-table>:
-       <font-width-table>: Fix typos in docstrings.
-
-2008-06-13  Daniel Engeler  <engeler@gmail.com>
-
-       These changes add serial port access.
-       * process.c: Add HAVE_SERIAL.
-       (Fdelete_process, Fprocess_status, Fset_process_buffer)
-       (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)
-       (list_processes_1, select_wrapper, Fstop_process)
-       (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)
-       (status_notify): Modify to handle serial processes.
-       [HAVE_SERIAL] (Fserial_process_configure)
-       [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):
-       New functions.
-       * process.h (struct Lisp_Process): Add `type'.
-       * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):
-       New functions.
-       * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle
-       serial ports.
-       (serial_open, serial_configure) New functions.
-       * w32.h: Add FILE_SERIAL.
-       (struct _child_process): Add ovl_read, ovl_write.
-
-2008-06-13  Kenichi Handa  <handa@m17n.org>
-
-       * dispextern.h (enum lface_attribute_index): New member
-       LFACE_FOUNDRY_INDEX.
-
-       * font.c (font_score): Delete arg alternate_families.  Check only
-       weight, slant, width, and size.  Ignore the difference of alias
-       style symbols.
-       (font_sort_entites): Adjust for the above change.  Reflect the
-       order of font-driver to scores.
-       (font_list_entities): Don't check alternate_familes here.
-       (font_clear_prop): Handle foundry.
-       (font_update_lface): Don't parse "foundry-family" form here.
-       Handle FONT_FOUNDRY_INDEX.
-       (font_find_for_lface): Likewise.  Handle alternate families here.
-       If registry is nil, try iso8859-1 and ascii-0.
-       (font_open_for_lface): Pay attention to size in ENTITY.
-       (font_open_by_name): Simplify by calling font_load_for_lface.
-       (free_font_driver_list): Delete it.
-       (font_update_drivers): Preserve the order of backends.
-       (syms_of_font): Setting of sort_shift_bits adjusted for the change
-       of font_score and font_sort_entites.
-       (font_update_sort_order): Likewise.
-
-       * xfaces.c (LFACE_FOUNDRY): New macro.
-       (check_lface_attrs): Check foundry.
-       (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.
-       (merge_face_vectors): Check foundry.
-       (merge_face_ref): Likewise.
-       (Finternal_set_lisp_face_attribute): Likewise.
-       (x_update_menu_appearance): Likewise.
-       (Finternal_get_lisp_face_attribute): Likewise.
-       (lface_hash): Likewise.
-       (lface_same_font_attributes_p): Likewise.
-       (x_supports_face_attributes_p): Likewise.
-       (tty_supports_face_attributes_p): Likewise.
-       (Finternal_set_alternative_font_family_alist): Intern strings.
-       (Finternal_set_alternative_font_registry_alist): Downcase strings.
-       (realize_default_face): Set LFACE_FOUNDRY (lface).
-
-       * xfns.c (Fx_create_frame, x_create_tip_frame): Register X
-       font-driver at first.
-
-       * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".
-
-2008-06-12  Emanuele Giaquinta  <emanuele.giaquinta@gmail.com>  (tiny change)
-
-       * lread.c (Fload): Use xfree, not free on saved_doc_string.
-
-2008-06-12  Jim Meyering  <meyering@redhat.com>
-
-       Make unexec_free handle NULL the same way free does.
-       * unexmacosx.c (unexec_free): Ignore a NULL argument.
-
-2008-06-12  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * character.h (CHAR_TO_BYTE_SAFE): New macro.
-       * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.
-       * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.
-       (WEAK_ALIAS): Simplify.
-       * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap
-       when searching a unibyte buffer.
-
-2008-06-12  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xfns.c (Fx_select_font): Rename from x-font-dialog.
-
-2008-06-12  Juanma Barranquero  <lekktu@gmail.com>
-
-       * w32font.c: Include ctype.h.
-
-2008-06-11  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (w32font_encode_char): Detect missing glyphs that are
-       misreported as space.
-       (add_font_entity_to_list): Support unicode-bmp and unicode-sip
-       as aliases for registry iso10646-1.
-
-2008-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * buffer.c (clone_per_buffer_values): Skip `name'.
-
-2008-06-11  Chong Yidong  <cyd@stupidchicken.com>
-
-       * font.c (font_parse_fcname): Fix last change; accept decimal
-       points in font size.
-
-2008-06-10  Jason Rumney  <jasonr@gnu.org>
-
-       * w32uniscribe.c (add_opentype_font_name_to_list):
-       Skip non unicode fonts.
-
-2008-06-10  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xfns.c (Fx_font_dialog): New function.
-
-       * gtkutil.c (xg_dialog_response_cb): Rename from
-       xg_file_response_callback.
-       (pop_down_dialog): Rename from pop_down_file_dialog.
-       (xg_get_file_name): Callers changed.
-       (xg_get_font_name): New function.
-
-       * gtkutil.h (xg_get_font_name): Insert prototype.
-
-2008-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * xdisp.c (underline_minimum_offset): Rename from xterm.c's
-       x_underline_minimum_display_offset.
-       (syms_of_xdisp): Declare it here rather than in xterm.c.
-       * dispextern.h (underline_minimum_offset): Declare it.
-       * w32term.c (x_draw_glyph_string): Use it.
-       * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.
-       (syms_of_xterm): Don't declare it any more.
-       (x_draw_glyph_string): Adjust to the new name.
-
-2008-06-10  David De La Harpe Golden  <david@harpegolden.net>  (tiny change)
-
-       * xterm.c (x_underline_minimum_display_offset): New var.
-       (x_draw_glyph_string): Use it.
-       (syms_of_xterm): Declare it.
-
-2008-06-10  Chong Yidong  <cyd@stupidchicken.com>
-
-       * font.c (font_parse_fcname): Accept GTK-style font names too.
-
-2008-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * dired.c (file_name_completion): Don't return t if the match is exact
-       but with different capitalization.
-       * minibuf.c (Ftry_completion): Simplify.
-
-       * window.c (Vwindow_point_insertion_type): New var.
-       (set_window_buffer): Use it.
-       (syms_of_window): Init and export it to Lisp.
-
-2008-06-10  Kenichi Handa  <handa@m17n.org>
-
-       * font.h (font_intern_prop): Prototype adjusted.
-
-       * font.c (font_intern_prop): New arg force_symbol.
-       (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):
-       Adjust for the change of font_intern_prop.
-
-       * ftfont.c (ftfont_pattern_entity):
-       * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)
-       (w32_registry):
-       * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for
-       the change of font_intern_prop.
-
-2008-06-09  Juanma Barranquero  <lekktu@gmail.com>
-
-       * w32menu.c (digest_single_submenu): Declare extern.
-
-2008-06-09  Jason Rumney  <jasonr@gnu.org>
-
-       * w32term.c (x_make_frame_visible): Use alternate restore flags.
-
-       * w32menu.c (Fx_popup_menu): Unwind protect while building menu.
-       (parse_single_submenu): Remove.
-       (digest_single_submenu): Remove.
-       (syms_of_w32menu): Don't initialise variables that have moved
-       to menu.c.
-       (set_frame_menubar): Sync with version in xmenu.c.
-       (w32_menu_show): Sync with xmenu_show in xmenu.c.
-
-       * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):
-       Make static again.
-
-2008-06-09  Jason Rumney  <jasonr@gnu.org>
-
-       Changes to w32 files related to the move of common menu code
-       to menu.c on 2008-06-08 by Chong Yidong.
-
-       * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related
-       defs to w32gui.h.
-       (single_keymap_panes, push_menu_item, push_menu_pane):
-       Make globally visible.
-
-       * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)
-       (local_free, malloc_widget_value, free_widget_value)
-       (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)
-       (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)
-       (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)
-       (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.
-       (menu_items, menu_items_allocated, menu_items_used)
-       (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.
-       (init_menu_items, finish_menu_items, discard_menu_items)
-       (grow_menu_items, push_submenu_start, push_submenu_end)
-       (push_left_right_boundary, push_menu_pane, push_menu_item)
-       (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)
-       (free_menubar_widget_tree_value, parse_single_submenu)
-       (update_submenu_strings): Remove functions.
-       (xmalloc_widget_value): Remove and declare extern.
-
-       * makefile.w32-in ($(SRC)/menu.$(O)): New target.
-       (OBJ1): Build it.
-
-       * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)
-       (local_heap, local_alloc, local_free, malloc_widget_value)
-       (free_widget_value): Define here.
-
-2008-06-09  Kenichi Handa  <handa@m17n.org>
-
-       * font.h (Qascii_0): Extern it.
-
-       * font.c (Qascii_0): New variable.
-       (syms_of_font): DEFSYM it.
-       (font_open_by_name): If the registry "iso8859-1" fails, try also
-       "ascii-0".
-
-       * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.
-
-2008-06-08  Kenichi Handa  <handa@m17n.org>
-
-       * .gdbinit (xfont): New command.
-
-2008-06-08  Andreas Schwab  <schwab@suse.de>
-
-       * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".
-       * Makefile.in (menu.o): Update dependencies.
-
-       * Makefile.in (obj): Always add menu.o.
-       * emacs.c (main): Always call syms_of_menu.
-       * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.
-
-2008-06-08  Chong Yidong  <cyd@stupidchicken.com>
-
-       * Makefile.in: Compile menu.c.
-
-       * lisp.h: Declare syms_of_menu.
-
-       * emacs.c (main): Call syms_of_menu.
-
-       * keyboard.h: Relocate platform-independent menu definitions from
-       xmenu.c.
-
-       * menu.c: New file.  Relocate platform-independent menu
-       definitions from xmenu.c.  Suggested by Adrian Robert.
-
-       * xmenu.c: Remove platform-independent menu definitions.
-       (menu_items menu_items_inuse, menu_items_allocated)
-       (menu_items_used, menu_items_n_panes)
-       (menu_items_submenu_depth): Move to keyboard.h.
-       (init_menu_items, finish_menu_items, unuse_menu_items)
-       (discard_menu_items, restore_menu_items, save_menu_items)
-       (grow_menu_items, push_submenu_start, push_submenu_end)
-       (push_left_right_boundary, push_menu_pane, push_menu_item)
-       (keymap_panes, single_keymap_panes, single_menu_item)
-       (list_of_panes, list_of_items, find_and_call_menu_selection)
-       (xmalloc_widget_value, free_menubar_widget_value_tree)
-       (parse_single_submenu, digest_single_submenu)
-       (update_submenu_strings): Move to menu.c.
-
-2008-06-07  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.
-
-2008-06-06  Miles Bader  <miles@gnu.org>
-
-       * xdisp.c (x_produce_glyphs): Calculate tab width based on current
-       face, not frame default.
-
-2008-06-05  Martin Rudalics  <rudalics@gmx.at>
-
-       * window.c (pop_up_windows, pop_up_frames)
-       (display_buffer_reuse_frames, Vpop_up_frame_function)
-       (Vdisplay_buffer_function, Veven_window_heights)
-       (Vspecial_display_buffer_names, Vspecial_display_regexps)
-       (Vspecial_display_function, Vsame_window_buffer_names)
-       (Vsame_window_regexps, split_height_threshold)
-       (Vsplit_window_preferred_function): Move those vars to window.el.
-       (display_buffer_1, Fspecial_display_p, Fsame_window_p)
-       (Fdisplay_buffer): Move those functions to window.el.
-       (syms_of_window): Remove corresponding declarations.
-       (display_buffer): New function.
-       (temp_output_buffer_show, Fother_window_for_scrolling): Use it.
-       * dispnew.c (Flast_nonminibuf_frame): New function.
-       * buffer.c (Fpop_to_buffer): Move to window.el.
-
-2008-06-05  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.
-
-2008-06-05  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (detect_coding): Fix previous change.
-       (detect_coding_system): Likewise.
-
-2008-06-05  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.
-
-       * keymap.c (Vminibuffer_local_filename_must_match_map):
-       Rename from Vminibuffer_local_must_match_filename_map.
-       (syms_of_keymap):
-       * minibuf.c (Fcompleting_read): Adjust accordingly.
-       * commands.h: Rename declaration as well.
-
-2008-06-05  Kenichi Handa  <handa@m17n.org>
-
-       * font.c (Ffont_spec): Don't use font_parse_family_registry for
-       family name.
-       (Ffont_put): Likewise.
-
-       * fontset.c (fontset_find_font): Call font_open_for_lface with the
-       current font-spec.
-
-       * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it
-       is unspecified.
-
-       * xfaces.c (realize_x_face): If the font-related face attributes
-       are the same as those of default face, realize a new fontset from
-       default->fontset.
-       (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.
-
-2008-06-05  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * xdisp.c (move_it_in_display_line_to): Improve the type of its args.
-       (move_it_in_display_line): New wrapper.
-
-       * window.c (window_scroll_pixel_based_preserve_x)
-       (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.
-       (window_scroll_pixel_based, window_scroll_line_based):
-       Use them to preserve column positions.
-       (syms_of_window): Initialize them.
-
-       * indent.c (Fvertical_motion): Extend first arg to allow passing an
-       (HPOS . VPOS) pair.
-
-       * dispextern.h (move_it_in_display_line): Declare.
-
-2008-06-05  Juanma Barranquero  <lekktu@gmail.com>
-
-       * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).
-       (Fwindow_parameters): Return copy of parameter alist.  Doc fix.
-       (Fset_window_parameter): Return VALUE, not parameter alist.  Doc fix.
-
-2008-06-04  Juanma Barranquero  <lekktu@gmail.com>
-
-       * window.c (Fset_window_parameter): Doc fix.
-       (Fwindow_parameters, Fwindow_parameter): Remove redundant check.
-
-2008-06-04  Joakim Verona  <joakim@verona.se>
-
-       * window.h (struct window): Add new member window_parameters.
-
-       * window.c (Fwindow_parameters, Fwindow_parameter)
-       (Fset_window_parameter): New defuns.
-       (syms_of_window): Defsubr the new defuns.
-       (make_window): Initialize window_parameters to nil.
-
-2008-06-04  John Paul Wallington  <jpw@pobox.com>
-
-       * eval.c (Fdefmacro): Doc fix.
-
-2008-06-04  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (detect_coding): Fix handling of coding->head_ascii.
-       Be sure to call setup_coding_system when we find a proper coding system.
-       (detect_coding_system): Fix handling of coding->head_ascii.
-
-2008-06-03  Andreas Schwab  <schwab@suse.de>
-
-       * font.c (font_prop_validate_spacing): Fix last change.
-
-2008-06-03  Kenichi Handa  <handa@m17n.org>
-
-       * font.c (font_prop_validate_spacing): Handle uppercase symbols.
-       (font_parse_fcname): Fix handling of unknown key.
-
-       * xfont.c (xfont_list): Try an alias.
-
-       * charset.c (char_charset): Return NULL if the arg charset_list is
-       specified and C doesn't belong to any of them.
-
-2008-06-02  Chip Coldwell  <coldwell@redhat.com>
-
-       * font.c (font_pixel_size): Don't take cdr of an integer.
-
-2008-06-02  Jim Meyering  <meyering@redhat.com>
-
-       Make "xfree (NULL)" a no-op; remove useless if-before-xfree.
-       * alloc.c (xfree): Return right away for a NULL arg.
-       * lread.c (nosuffix): Remove now-useless if-before-xfree tests.
-       * gtkutil.c (xg_gtk_scroll_destroy): Likewise.
-       * mac.c (create_apple_event_from_event_ref): Likewise.
-       (create_apple_event_from_drag_ref, cfstring_create_normalized):
-       Likewise.
-       * doprnt.c (doprnt1): Likewise.
-       * frame.c (frame): Likewise.
-       * keyboard.c (wipe_kboard): Likewise.
-       * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)
-       (init_font_name_table, mac_unload_font, x_delete_display): Likewise.
-       * term.c (tty_default_color_capabilities, maybe_fatal)
-       (delete_tty): Likewise.
-       * w16select.c (string): Likewise.
-       * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.
-       * w32bdf.c (w32_free_bdf_font): Likewise.
-       * w32fns.c (w32_unload_font): Likewise.
-       * w32font.c (w32font_close): Likewise.
-       * window.c (size_window): Likewise.
-       * xselect.c (receive_incremental_selection): Likewise.
-       * xterm.c (x_free_frame_resources, x_delete_display): Likewise.
-       * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.
-       * w32.c (stat): Likewise.
-
-       Remove useless if-before-free tests.
-       * editfns.c (Fset_time_zone_rule): Likewise.
-       * lread.c (nosuffix): Likewise.
-       * ralloc.c (get_bloc): Likewise.
-       * regex.c (reg_free): Likewise.
-       * xftfont.c (xftfont_open, xftfont_close): Likewise.
-       * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.
-       * xsmfns.c (smc_save_yourself_CB): Likewise.
-
-2008-06-02  Kenichi Handa  <handa@m17n.org>
-
-       * font.c (font_find_for_lface): Handle float font size.
-       (font_open_for_lface): Likewise.
-
-       * xfaces.c (x_supports_face_attributes_p): Check face->font before
-       comparing the properties.
-
-2008-06-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (w32_enumfont_pattern_entity): Use requested registry.
-       Treat iso10646-1 and Windows DEFAULT_CHARSET specially.
-       Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.
-       Don't add empty script list.
-       (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.
-
-2008-06-01  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * Makefile.in (dot, dotdot): Remove, update users.
-       ".." has been used elsewhere in the file for a long time.
-       (LIBXT_STATIC): Remove conditional based on unused variable.
-
-2008-06-01  Miles Bader  <miles@gnu.org>
-
-       * xfaces.c (Vface_remapping_alist): New variable.
-       (syms_of_xfaces): Initialize it.
-       (enum named_merge_point_kind): New type.
-       (struct named_merge_point): Add `named_merge_point_kind' field.
-       (push_named_merge_point): Make cycle detection respect different
-       named-merge-point kinds.
-       (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.
-       Remove face-name alias resolution.
-       (lface_from_face_name): New definition using
-       `lface_from_face_name_no_resolve'.
-       (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.
-       Call lface_from_face_name_no_resolve instead of lface_from_face_name.
-       (get_lface_attributes): New definition that layers face-remapping on
-       top of get_lface_attributes_no_remap.  New arg `named_merge_points'.
-       (lookup_basic_face): New function.
-       (lookup_derived_face): Pass new last arg to `get_lface_attributes'.
-       (realize_named_face): Call `get_lface_attributes_no_remap' instead of
-       `get_lface_attributes'.
-       (face_at_buffer_position): Use `lookup_basic_face' to lookup
-       DEFAULT_FACE_ID if necessary.  When optimizing the default-face case,
-       return default_face's face-id instead of the constant DEFAULT_FACE_ID.
-
-       * xdisp.c (init_iterator): Pass base_face_id through
-       `lookup_basic_face' when we actually use it as a face-id.
-       (handle_single_display_prop): Use `lookup_basic_face' to lookup
-       DEFAULT_FACE_ID.
-
-       * fontset.c (Finternal_char_font): Use `lookup_basic_face' to
-       lookup the initial face-id.
-
-       * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.
-
-2008-06-01  Juanma Barranquero  <lekktu@gmail.com>
-
-       * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:
-       (Fremove_text_properties): Fix typos in docstrings.
-
-2008-05-31  Kenichi Handa  <handa@m17n.org>
-
-       * font.c (font_list_entities): Fix the car part of data to be
-       stored in the cache.
-
-       * ftfont.c (ftfont_font_format): Don't use strcasestr.
-
-2008-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * chartab.c (Foptimize_char_table, optimize_sub_char_table):
-       Add a `test' argument so another predicate than `equal' can be used.
-       (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.
-       (map_char_table): Remove unused vars `c' and `i'.
-       * lisp.h (Foptimize_char_table): Adjust declaration.
-       * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.
-
-2008-05-30  Kenichi Handa  <handa@m17n.org>
-
-       * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.
-       (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is
-       defined.
-
-2008-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
-       (Fmake_variable_frame_local): Disallow mixing buffer-local and
-       frame-local settings for the same variable.
-
-2008-05-30  Kenichi Handa  <handa@m17n.org>
-
-       * fontset.c (Ffont_info): Move to font.c.
-       (syms_of_fontset): Delete defsubr of Sfont_info.
-
-       * font.c (font_style_to_value, font_score): Delete casting of the
-       args to xstcasecmp.
-       (register_font_driver): Increment num_font_drivers only when
-       registering the driver globally.
-       (Ffont_info): Move from fontset.c.  Handle a font object too.
-       (syms_of_font): Defsubr Sfont_info.
-
-2008-05-29  Kenichi Handa  <handa@m17n.org>
-
-       * coding.h (enum define_coding_utf8_arg_index): New enum.
-       (enum coding_attr_index): Change coding_attr_utf_16_bom to
-       coding_attr_utf_bom.
-       (enum utf_bom_type): Rename from utf_16_bom_type.
-       (struct utf_16_spec): Adjust for the above change.
-       (struct coding_system): Add utf_8_bom in `spec' union.
-
-       * coding.c (CODING_UTF_8_BOM): New macro.
-       (enum coding_category): Delete coding_category_utf_8, add
-       coding_category_utf_8_auto, coding_category_utf_8_nosig, and
-       coding_category_utf_8_sig.
-       (CATEGORY_MASK_UTF_8): Delete it.
-       (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)
-       (CATEGORY_MASK_UTF_8_SIG): New macros.
-       (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add
-       CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and
-       CATEGORY_MASK_UTF_8_SIG.
-       (CATEGORY_MASK_UTF_8): New macro.
-       (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.
-       (detect_coding_utf_8): Check BOM.
-       (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.
-       (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.
-       (encode_coding_utf_16): Likewise.
-       (setup_coding_system): Likewise.  Set CODING_UTF_8_BOM (coding).
-       (detect_coding, detect_coding_system): Handle utf-8-auto.
-       (Fdefine_coding_system_internal): Handle `bom' property for utf-8.
-       (syms_of_coding): Fix setting up of Vcoding_category_table.
-
-2008-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * process.c (Faccept_process_output): If `millisec' is non-nil,
-       `seconds' default to 0.
-       (wait_reading_process_output): Also return non-nil if we read output
-       from a non-running process.
-
-2008-05-29  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (w32font_open_internal): Prefer truetype fonts unless
-       `raster' specified.
-       (add_font_entity_to_list): Allow non-opentype truetype fonts back
-       in the uniscribe backend, but disallow any font that has no
-       unicode subrange support.
-
-2008-05-29  Juanma Barranquero  <lekktu@gmail.com>
-
-       * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):
-       Fix typos in docstrings.
-
-2008-05-29  Kenichi Handa  <handa@m17n.org>
-
-       * xfaces.c (Fx_list_fonts): Make it return a list of font names.
-       (Fx_family_fonts): Set frame correctly.
-
-2008-05-28  Jason Rumney  <jasonr@gnu.org>
-
-       * w32term.c (x_draw_glyph_string): Use clipmask if specified.
-
-2008-05-28  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after
-       calling build_annotations.
-
-2008-05-28  Juanma Barranquero  <lekktu@gmail.com>
-
-       * coding.c (Fdecode_coding_region, Fencode_coding_region)
-       (Fencode_coding_string):
-       (syms_of_coding) <coding-system-for-read, coding-system-for-write>:
-       <latin-extra-code-table>: Fix typos in docstrings.
-       (syms_of_coding) <coding-system-alist>: Doc fix.
-       (syms_of_coding) <translation-table-for-input>: Reflow docstring.
-
-2008-05-28  Kenichi Handa  <handa@m17n.org>
-
-       * fontset.c (Ffont_info): Don't call font_close_object.
-
-       * font.c (font_parse_family_registry): Use Ffont_put to validate
-       foundry and family.
-       (font_delete_unmatched): Don't check spacing.
-       (font_list_entities): Add spacing to the spec to list fonts.
-
-       * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.
-       (ftfont_list): Check spacing here.  Don't include FC_CHARSET in objset.
-
-       * coding.c (encode_coding_raw_text): Fix previous change.
-       (encode_coding_object): When the dst_object is a buffer and is
-       different from src_object, move gap to PT.
-
-2008-05-27  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.
-
-2008-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * coding.c (encode_coding_raw_text): Set coding->produced_char for
-       all branches.  Compute it differently.
-
-       * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.
-
-2008-05-27  Juanma Barranquero  <lekktu@gmail.com>
-
-       * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"
-       into "else if () ... else ...".
-
-2008-05-27  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (w32font_open_internal): Determine if glyph indices
-       are likely to work here.
-
-2008-05-27  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to
-       draw overlap glyphs with appropriate highlighting.
-
-2008-05-27  Kenichi Handa  <handa@m17n.org>
-
-       * xfont.c (xfont_open): Fix calculation of font->average_width.
-
-2008-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * casefiddle.c (casify_object): Try to guess better whether the
-       argument is a byte or a char.
-
-2008-05-26  Andreas Schwab  <schwab@suse.de>
-
-       * xselect.c (x_reply_selection_request): Properly handle format == 32.
-       Always send multiples of format size.
-
-       * xterm.c (x_set_frame_alpha): Fix type mismatch.
-
-2008-05-26  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (w32font_text_extents): Zero whole metrics struct first.
-       (compute_metrics): Don't set failure if we just cleared the cache.
-       (w32_weight_table): Remove unused variable.
-       (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for
-       backwards compatibility.
-
-2008-05-25  Kenichi Handa  <handa@m17n.org>
-
-       * w32term.c (x_draw_glyph_string):
-       * xterm.c (x_draw_glyph_string): Fix calculation of underline position.
-
-       * xfaces.c: Delete unused function prototypes.
-       (xstrlwr, font_frame): Delete them.
-       (clear_face_cache): Delete unused variable.
-
-       * xftfont.c (xftfont_open): Delete unused variable.
-       If underline_thickness is not 1, adjust underline_position.
-
-       * ftxfont.c (ftxfont_open): Delete unused variable.
-
-       * fontset.c (face_for_char): Optimize for the case of no charset
-       property.
-
-       * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
-       (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
-       (otf_open, font_otf_capability, generate_otf_features)
-       (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
-       Comment out by surrounding "#if 0" and "#endif" for the moment.
-       (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
-       (syms_of_font): Codes for accessing above commented out.
-
-2008-05-24  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32proc.c: Include dispextern.h.
-
-       * w32.c: Include dispextern.h.
-
-2008-05-23  Juanma Barranquero  <lekktu@gmail.com>
-
-       * charset.c (Fencode_char, Fsplit_char): Doc fixes.
-       (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):
-       Fix typos in docstrings.
-
-2008-05-23  Jason Rumney  <jasonr@gnu.org>
-
-       * xsmfns.c: Remove includes that are already included by config.h.
-
-2008-05-23  Kenichi Handa  <handa@m17n.org>
-
-       * charset.c (Qemacs, charset_emacs): New variables.
-       (char_charset): Fix for non-Unicode characters.
-       (syms_of_charset): Define charset_emacs.
-
-       * w32term.c (x_draw_glyph_string): Be sure to update
-       s->underline_thickness and s->underline_position.  Be sure to draw
-       underline within the current line area.
-
-       * xterm.c (x_draw_glyph_string): Be sure to update
-       s->underline_thickness and s->underline_position.  Be sure to draw
-       underline within the current line area.
-
-       * fontset.c: Delete unused variables and add casting for char *
-       throughout the file.
-       (fontset_font): Try the fallback fonts of the current fontset
-       before consulting the default fontset.
-
-       * ftfont.c (ftfont_spec_pattern): Free charset if necessary.
-
-       * xfont.c (xfont_list_pattern): Free names returned from XListFonts.
-
-2008-05-22  Jason Rumney  <jasonr@gnu.org>
-
-       * font.c: Don't include strings.h.
-
-       * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.
-
-       * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:
-       * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:
-       * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed
-       to call xstrcasecmp.
-
-       * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.
-
-       * fontset.c (fs_query_fontset): Use xstrcasecmp.
-
-       * font.c (font_style_to_value, font_score): Use xstrcasecmp.
-
-       * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.
-
-2008-05-22  Kenichi Handa  <handa@m17n.org>
-
-       * puresize.h (BASE_PURESIZE): Increase to 1220000.
-
-       * font.c (font_prop_validate_style): Adjust for the format
-       change of font_style_table.
-
-       * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with
-       two args.
-
-       * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with
-       two args.
-
-2008-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * minibuf.c (keys_of_minibuf): Delete.
-       * lisp.h (keys_of_minibuf): Delete.
-       * emacs.c (main): Don't call keys_of_minibuf.
-
-2008-05-22  Kenichi Handa  <handa@m17n.org>
-
-       * ftfont.c (ftfont_resolve_generic_family): Rename from
-       ftfont_list_generic_family.  Return a single family for each
-       generic family.
-       (ftfont_spec_pattern): Add FC_FAMILY to pattern.
-       (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.
-       Call font_add_log.
-       (ftfont_match): Call font_add_log.
-
-       * font.h (Ffont_xlfd_name): EXFUN adjusted.
-       (FONT_DEBUG): Define it.
-       (font_add_log): Extern it.
-       (font_assert): Rename from xassert.
-
-       * xfont.c (xfont_get_pcm): Change xassert to font_assert.
-       (xfont_list_family): Call font_add_log.
-       (xfont_match): Likewise.
-       (memq_no_quit): Delete.
-
-       * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in
-       call of Ffont_xlfd_name.
-
-       * xfaces.c (struct table_entry, slant_table, weight_table)
-       (swidth_table): Move to font.c.
-
-       * font.c: Checking of FONT_DEBUG is moved to font.h.  All calls of
-       xassert are changed to font_assert.  Delete many unused variables.
-       (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):
-       New variables.
-       (struct table_entry): Move from xfaces.c and modified.
-       (weight_table, slant_table, width_table): Move from xfaces.c and
-       contents adjusted for the change of struct table_entry.
-       (font_style_to_value, font_style_symbolic): Adjust for the
-       format change of font_style_table.
-       (font_parse_family_registry): Don't overwrite existing foundry and
-       family of font_spec.
-       (font_score): Fix calculation of diff for sizes.
-       (font_sort_entites): Call font_add_log.
-       (font_delete_unmatched): Return a newly created list.
-       (font_list_entities): Fix previous change.  Call font_add_log.
-       (font_matching_entity, font_open_entity, font_close_entity):
-       Call font_add_log.
-       (Ffont_xlfd_name): New arg FOLD-WILDCARDS.
-       (Finternal_set_font_style_table): Delete.
-       (BUILD_STYLE_TABLE): New macro.
-       (build_style_table): New function.
-       (Vfont_log, font_log_env_checked): New variables.
-       (font_add_log): New function.
-       (syms_of_font): Delete defsubr Sinternal_set_font_style_table.
-       Declare Lisp variables "font-weight-table", "font-slant-table",
-       "font-width-table", and "font-log".  Initialize font_style_table.
-
-2008-05-21  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * xterm.c (x_set_frame_alpha): Move declarations before statements.
-
-2008-05-21  Seiji Zenitani  <zenitani@mac.com>
-           Ryo Yoshitake  <ryo@shiftmode.net>
-
-       * frame.c (Qalpha): Add a new frame parameter `alpha'.
-       (Vframe_alpha_lower_limit): New variable.
-       (x_set_alpha): New function.
-
-       * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.
-
-       * xfns.c (x-create-frame, Qalpha):
-       Initialize the frame parameter `alpha'.
-       * xterm.c (OPAQUE, OPACITY): New.
-       (x_set_frame_alpha): New function.
-       (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.
-
-       * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.
-       * w32fns.c (w32_frame_parm_handlers): Likewise.
-
-2008-05-20  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (add_font_entity_to_list): Don't add non-opentype
-       truetype fonts to opentype list.
-
-2008-05-20  Juanma Barranquero  <lekktu@gmail.com>
-
-       * fontset.c (Ffontset_info): Doc fix.
-       (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:
-       <ignore-relative-composition>: Fix typos in docstrings.
-
-       * font.c (syms-of-font) <font-encoding-alist>:
-       (Ffontp, Ffont_make_gstring): Fix typos in docstrings.
-       (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)
-       (Ffont_otf_alternates): Doc fixes.
-
-2008-05-20  Kenichi Handa  <handa@m17n.org>
-
-       * Makefile.in (FONTSRC): Delete it.  Change all $(FONTSRC) to
-       font.h through out the file.
-       (FONT_DRIVERS): Rename from FONTOBJ.
-       (obj): Change $(FONTOBJ) to $(FONT_DRIVERS).  Add font.o.
-       (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).
-
-       * emacs.c (main): Call syms_of_font unconditionally.
-
-       * font.h (find_font_encoding): Extern it.
-
-       * font.c (Vfont_encoding_alist, find_font_encoding): Move from
-       fontset.c.
-       (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.
-       (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
-       FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
-       only when HAVE_WINDOW_SYSTEM is defined.
-       (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only
-       when HAVE_WINDOW_SYSTEM is defined.
-
-       * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.
-       (syms_of_fontset): Move declaration of font-encoding-alist to font.c.
-
-       * xfaces.c: Include font.h unconditionally.
-       (merge_face_ref, merge_face_vectors)
-       (Finternal_set_lisp_face_attribute): Cancel the previous change.
-
-2008-05-20  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * xdisp.c (select_frame_for_redisplay): Adjust for last change to
-       indirect_variable.
-       * eval.c (lisp_indirect_variable): New fun.
-       (Fuser_variable_p): Use it.
-
-2008-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * lisp.h (indirect_variable):
-       * data.c (indirect_variable, let_shadows_buffer_binding_p):
-       Use Lisp_Symbol pointers rather than Lisp_Object.
-       Adjust callers.
-       * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.
-       To this end, change calling-convention.
-
-       * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers
-       if some non-hidden buffers are selected by string&pred.
-
-2008-05-19  Chong Yidong  <cyd@stupidchicken.com>
-
-       * process.c (wait_reading_process_output): Always check status
-       when in batch mode.
-
-2008-05-19  Kenichi Handa  <handa@m17n.org>
-
-       * font.c (font_list_entities): Fix handling of cache.
-       (font_matching_entity): Likewise.
-
-       * ftfont.c (cs_iso8859_1): Delete.
-       (ft_face_cache): New variable.
-       (struct ftfont_info): New member fc_charset_idx.
-       (ftfont_build_basic_charsets): Delete.
-       (fc_charset_table): New variable.
-       (ftfont_pattern_entity): New arg fc_charset_idx.  Store (FILENAME
-       . FC_CHARSET_IDX) as :font-entity property in the font entity.
-       Callers changed.
-       (ftfont_lookup_cache, ftfont_get_charset): New functions.
-       (ftfont_spec_pattern): New argument fc_charset_idx.
-       Check registry more rigidly.  Change callers.
-       (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the
-       change of :font-entity property of the font.
-
-       * xftfont.c (xftfont_open): Adjust for the change of :font-entity
-       property of the font.
-
-2008-05-18  Juanma Barranquero  <lekktu@gmail.com>
-
-       * coding.c (Fcoding_system_p): Rename argument to match docstring.
-       (Funencodable_char_position, Fcheck_coding_systems_region)
-       (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.
-       (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)
-       (Ffind_operation_coding_system, Fset_coding_system_priority)
-       (Fcoding_system_eol_type): Doc fixes.
-
-2008-05-17  Glenn Morris  <rgm@gnu.org>
-
-       * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.
-
-2008-05-16  Eli Zaretskii  <eliz@gnu.org>
-
-       * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid
-       and st_gid.
-
-       * frame.c (Fdelete_frame): Don't call font_update_drivers if
-       HAVE_WINDOW_SYSTEM is not defined.
-
-       * xfaces.c (merge_face_ref, merge_face_vectors)
-       (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when
-       HAVE_WINDOW_SYSTEM is defined.
-       (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.
-
-2008-05-16  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * keyboard.c (parse_menu_item): Do not cache key shortcut any more.
-
-2008-05-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.
-
-2008-05-15  Kenichi Handa  <handa@m17n.org>
-
-       * font.c (font_find_for_lface): Reflect LFACE_FONT in the font
-       preference.
-
-2008-05-15  Glenn Morris  <rgm@gnu.org>
-
-       * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.
-
-2008-05-15  Chong Yidong  <cyd@stupidchicken.com>
-
-       * fns.c (init_fns): Don't initialize weak_hash_tables here.
-       (init_weak_hash_tables): New fun.  Initialize weak_hash_tables.
-
-       * alloc.c (init_alloc_once): Call init_weak_hash_tables.
-
-2008-05-15  Kenichi Handa  <handa@m17n.org>
-
-       * ftfont.c (ftfont_list): Downcase family name to check generic
-       families.
-
-       * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a
-       font-spec for QCfont value.
-
-       * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte
-       buffer.  Check the return value of it.
-
-2008-05-14  Jason Rumney  <jasonr@gnu.org>
-
-       * w32term.c (w32_get_glyph_overhangs): Remove.
-       (w32_redisplay_interface): Use x_get_glyph_overhangs instead.
-
-2008-05-14  Kenichi Handa  <handa@m17n.org>
-
-       * font.c (font_prop_validate): Make nil a valid value.
-       (font_clear_cache): Check if the cached vector of entities is nil
-       or not.
-
-2008-05-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * emacs.c (main_thread): Conditionalize on
-       FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
-       (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.
-
-       * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.
-       (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on
-       FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.
-
-2008-05-14  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (detect_coding_iso_2022): Ignore a coding category that
-       has no corresponding coding system.
-
-2008-05-14  Jason Rumney  <jasonr@gnu.org>
-
-       * font.h (struct font) [WINDOWSNT]: Remove codepage member.
-
-       * w32font.h (w32font_open_internal): Update declaration.
-
-       * w32font.c (w32font_open_internal): Change last argument from
-       w32font_info struct to font object.  Fill in font object from
-       font_entity.  Get Outline metrics if possible.  Use them to
-       calculate underline position and thickness.  Use xlfd name as name
-       property.  Don't set codepage.
-       (w32font_open): Pass font_object to w32font_open_internal.  Don't
-       update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.
-       (w32font_draw): Use s->font.
-       (clear_cached_metrics): Don't clear non-existent blocks.
-
-       * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if
-       font was not found.
-       (x_draw_glyph_string): Use underline position and thickness from font.
-
-       * w32uniscribe.c (uniscribe_open): Pass font_object to
-       w32font_open_internal.
-
-2008-05-14  Kenichi Handa  <handa@m17n.org>
-
-       These changes are to delete all legacy font-handling codes, and
-       make Emacs use only font-backends.
-
-       * Makefile.in: Delete USE_FONT_BACKEND conditionals.
-       (frame.o, image.o, print.o): Depend on $(FONTSRC).
-
-       * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).
-
-       * charset.h (Vcharset_non_preferred_head)
-       (Vcurrent_iso639_language): Extern them.
-
-       * charset.c (Vcharset_non_preferred_head): New variable.
-       (Vcurrent_iso639_language): New variable.
-       (syms_of_charset): Declare it as a Lisp variable.
-       (char_charset): Don't check non preferred charsets.  As a last
-       resort, return charset_unicode.
-       (Fset_charset_priority): Update Vcharset_non_preferred_head.
-
-       * composite.c: Throughout the file, delete all USE_FONT_BACKEND
-       conditionals.  Don't check enable_font_backend.  Delete all codes
-       used only when USE_FONT_BACKEND is not defined.
-
-       * dispextern.h (struct glyph_string): Change type of `font' to
-       `struct font *'.
-       (struct glyph_string): New member underline_position and
-       underline_thickness.
-       (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.
-       (struct face): Change type of `font' to `struct font *'.  Remove
-       members `font_name', `font_info_id'.
-       (per_char_metric, encode_char): Delete externs.
-       (calc_pixel_width_or_height): Adjust the prototype.
-
-       * emacs.c (enable_font_backend): Delete extern.
-       (main): Don't set enable_font_backend.  Don't check the command
-       line argument "-disable-font-backend".
-
-       * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.
-       (enum font_property_index): New members FONT_DPI_INDEX,
-       FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,
-       FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,
-       FONT_OBJECT_MAX.  Delete FONT_FRAME_INDEX.
-       (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)
-       (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)
-       (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)
-       (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)
-       (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.
-       (struct font_spec, struct font_entity): New structs.
-       (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.
-       (struct font): Many members from old "struct font_info" moved to
-       here.  Members font and entity deleted.
-       (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for
-       the new font-related objects.
-       (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
-       (CHECK_FONT_GET_OBJECT): Likewise.
-       (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.
-       (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.
-       (struct font_driver): New members case_sensitive anc check.  Type
-       of the member list and open changed.
-       (enable_font_backend, font_symbolic_weight, font_symbolic_slant)
-       (font_symbolic_width, font_find_object, font_get_spec)
-       (font_set_lface_from_name): Delete extern.
-       (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.
-
-       * font.c: Include <strings.h>.
-       (enable_font_backend): Delete it.
-       (Qfont_spec, Qfont_entity, Qfont_object): New variables.
-       (CHECK_VALIDATE_FONT_SPEC): Delete it.
-       (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.
-       (null_string): Delete it.
-       (null_vector): Make it static.
-       (font_family_alist): Delete it.
-       (Qnormal): Extern it.
-       (QCextra, QClanguage): Delete it.
-       (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.
-       (font_make_spec, font_make_entity, font_make_object)
-       (font_intern_prop): Renamed from intern_downcase.  Don't downcase
-       the string.  Callers changed.
-       (font_pixel_size): Adjusted for the format change of font-related
-       objects.
-       (prop_name_to_numeric, prop_numeric_to_name): Delete them.
-       (font_style_to_value, font_style_symbolic): New function.
-       (build_font_family_alist): Delete it.
-       (font_registry_charsets): Use Fassoc_string instead of
-       assq_no_quit.
-       (font_prop_validate_symbol): Don't return null_string.
-       (font_prop_validate_style): Adjusted for the change of
-       style-related values in a font vector.
-       (font_property_table): Delete entries for QClanguage and
-       QCantialias, add entries for QCavgwidth.
-       (get_font_prop_index): Delete the 2nd argument FROM.
-       (font_prop_validate): Arguments changed.
-       (font_put_extra): Adjusted for the change of font-related objects.
-       (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)
-       (font_parse_fcname, font_unparse_fcname)
-       (font_prepare_composition): Likewise.
-       (font_parse_family_registry): Renamed from font_merge_old_spec.
-       (otf_open): Delete the 1st arg entity.
-       (font_otf_capability): Adjusted for the above change.
-       (font_score): New arg alternate_families.  Adjusted for the change
-       of font-related objects.
-       (font_sort_entites): New arg best_only.
-       (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):
-       Delete them.
-       (font_match_p): Check alternate families.
-       (font_find_object): Delete it.
-       (font_check_object): New function.
-       (font_clear_cache): Adjusted for the change of font-related objects.
-       (font_delete_unmatched): New arg.
-       (font_list_entities): Call font_driver->list with a spec that
-       doesn't specify style-related properties.
-       (font_matching_entity): Arguments changed.  Caller changed.
-       (font_open_entity): Adjusted for the change of font-related objects.
-       (font_close_object, font_has_char, font_encode_char)
-       (font_get_name, font_get_spec): Likewise.
-       (font_spec_from_name, font_clear_prop, font_update_lface):
-       New functions.
-       (font_find_for_lface, font_open_for_lface, font_load_for_lface)
-       (font_prepare_for_face, font_done_for_face, font_open_by_name)
-       (font_at): Adjusted for the change of font-related objects.
-       (font_range): New function.
-       (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)
-       (Ffont_xlfd_name): Adjusted for the change of font-related objects.
-       (Fcopy_font_spec, Fmerge_font_spec): New function.
-       (Ffont_family_list): Renamed from list-families.
-       (Finternal_set_font_style_table): Arguments changed.
-       (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)
-       (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the
-       change of font-related objects.
-       (syms_of_font): Delete "ifdef USE_FONT_BACKEND".  DEFSYM new symbols.
-
-       * fontset.h (struct font_info): Delete it.  Most members go to
-       struct font.
-       (FONT_ENCODING_NOT_DECIDED): Moved to font.h.
-       (enum FONT_SPEC_INDEX): Delete it.
-       (font_info, list_fonts_func, load_font_func, query_font_func)
-       (set_frame_fontset_func, find_ccl_program_func)
-       (get_font_repertory_func, new_fontset_from_font_name): Delete
-       externs.
-       (fontset_from_font_name): Extern it.
-       (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)
-       (FONT_INFO_FROM_FACE): Deleted.
-       (face_for_font): Adjust prototype.
-
-       * fontset.c: Throughout the file, delete all USE_FONT_BACKEND
-       conditionals.  Don't check enable_font_backend.  Delete all codes
-       used only when USE_FONT_BACKEND is not defined.
-       (get_font_info_func, list_font_func, load_font_func)
-       (query_font_func, set_frame_fontset_func, find_ccl_program_func)
-       (get_font_repertory_func): Delete them.
-       (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)
-       (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)
-       (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)
-       (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)
-       (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.
-       (fontset_compare_rfontdef): New function.
-       (reorder_font_vector): Remove the argument CHARSET-ID.  Sort
-       rfont-defs by qsort.  Adjusted for the change of font-group vector.
-       (load_font_get_repertory): Deleted.
-       (fontset_find_font): Use new macros to ref/set elements of
-       font-def and rfont-def.
-       (fontset_font): Fix the timing of remembering that no font for C.
-       (free_face_fontset): Do nothing if the face has no fontset.
-       (face_suitable_for_char_p): Use new macros to ref/set elements of
-       rfont-def.
-       (face_for_char): Likewise.  Call face_for_char with font_object.
-       (fs_load_font): Delete.  Delete #pragma surrounding it.
-       (fs_query_fontset): Use strcasecmp instead of strcmp.
-       (generate_ascii_font_name): Adjusted for the format change of
-       font-spec.
-       (Fset_fontset_font): Likewise.  Use new macros to set elements of
-       font-def.
-       (Fnew_fontset): Use font_unparse_xlfd to generate
-       FONTSET_ASCII (fontset).
-       (new_fontset_from_font_name): Deleted.
-       (fontset_from_font): Renamed from new_fontset_from_font.  Check if
-       a fontset is already created for the font.  FIx updating of
-       Vfontset_alias_alist.
-       (fontset_ascii_font): Deleted.
-       (Ffont_info): Adjusted for the format change of font-spec.
-       (Finternal_char_font): Likewise.
-       (Ffontset_info): Likewise.
-       (syms_of_fontset): Don't check load_font_func.
-
-       * fns.c (internal_equal): Handle PREV_FONT.
-
-       * frame.h: Delete USE_FONT_BACKEND conditional.
-
-       * frame.c: Throughout the file, delete all USE_FONT_BACKEND
-       conditionals.  Don't check enable_font_backend.  Delete all codes
-       used only when USE_FONT_BACKEND is not defined.
-       (x_set_font): Call x_new_font, not x_new_fontset2.
-       (x_set_font_backend): Use FRAME_FONT macro to check if a font is
-       already set for the frame.
-
-       * ftfont.c (ftfont_pattern_entity): Argument FRAME removed.  Make
-       a font-entity by font_make_entity.  Use font_intern_prop instead
-       of intern_downcase.  Use FONT_SET_STYLE to set a style-related
-       font property.  If a font is scalable, set avgwidth property to 0.
-       Set font-entity property by font_put_extra.
-       (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.
-       (ffont_driver): Adjusted for the change of struct font_driver.
-       (ftfont_spec_pattern): New function.
-       (ftfont_list): Return a list, not vector.
-       (ftfont_match): Use ftfont_spec_pattern to get a pattern.
-       (ftfont_list_family): Don't downcase names.
-       (ftfont_free_entity): Deleted.
-       (ftfont_open): Return a font-object.  Adjusted for the change of
-       struct font.  Get underline_thickness and underline_position from
-       font property.  Don't update dpyinfo->smallest_font_height and
-       dpyinfo->smallest_char_width.
-       (ftfont_close): Don't free `struct font'.
-       (ftfont_has_char): Adjusted for the format change of font-entity.
-       (ftfont_encode_char, ftfont_text_extents): Likewise.
-
-       * ftxfont.c (ftxfont_list): Return a list, not vector.
-       (ftxfont_open): Return a font-object.  Adjusted for the change of
-       struct font.  Get underline_thickness and underline_position from
-       font property.  Don't update dpyinfo->smallest_font_height and
-       dpyinfo->smallest_char_width.
-       (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.
-       (ftxfont_draw): Adjusted for the change of struct font.
-
-       * image.c (image_ascent): Don't include "charset.h".  Include
-       "character.h" and "font.h".
-
-       * lisp.h (enum pvec_type): New member PREV_FONT.
-       (Fassoc_string): EXFUN it.
-
-       * print.c: Include font.h.
-       (print_object): Handle font-related objects.
-
-       * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND
-       conditionals.  Don't check enable_font_backend.  Delete all codes
-       used only when USE_FONT_BACKEND is not defined.
-       (handle_auto_composed_prop): Do nothing if it->f is not on a
-       window system.  Check how many following characters can be
-       displayed by the same font.
-       (calc_pixel_width_or_height): Type of the 4th arg is changed to
-       'struct font *'.
-       (get_char_face_and_encoding): Assign the whole encoding task to
-       the `encode-char' method of a font driver.
-       (fill_composite_glyph_string): Adjusted for the change of `struct
-       face' and `struct glyph_string'.
-       (fill_glyph_string): Likewise.
-       (get_per_char_metric): Arguments changed.
-       (x_get_glyph_overhangs): Adjusted for the change of `struct face'
-       and `struct glyph_string'.
-       (produce_stretch_glyph, calc_line_height_property)
-       (x_produce_glyphs): Likewise.
-
-       * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND
-       conditionals.  Don't check enable_font_backend.  Delete all codes
-       used only when USE_FONT_BACKEND is not defined.  Use
-       FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.
-       (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)
-       (Qp): Extern them.
-       (clear_font_table, load_face_font, xlfd_lookup_field_contents):
-       Deleted.
-       (struct font_name): Deleted.
-       (xlfd_numeric_value, xlfd_symbolic_value): Deleted.
-       (compare_fonts_by_sort_order): New function.
-       (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)
-       (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):
-       Deleted.
-       (Fx_family_fonts): Use font_list_entities, and sort fonts by
-       compare_fonts_by_sort_order.
-       (Fx_font_family_list): Call Ffont_family_list.
-       (face_numeric_value, face_numeric_weight, face_numeric_slant)
-       (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)
-       (face_symbolic_slant, face_symbolic_swidth)
-       (split_font_name_into_vector, build_font_name_from_vector)
-       (xlfd_fixed_p, xlfd_point_size, pixel_point_size)
-       (font_rescale_ratio, split_font_name, build_font_name)
-       (free_font_names, sort_fonts, x_face_list_fonts)
-       (face_font_available_p, sorted_font_list, cmp_font_names)
-       (font_list_1, concat_font_list, font_list, remove_duplicates):
-       Deleted.
-       (Fx_list_fonts): Use Ffont_list.
-       (LFACE_AVGWIDTH): Deleted.
-       (check_lface_attrs): Don't check LFACE_AVGWIDTH.  Check LFACE_FONT
-       by FONTP.
-       (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
-       (set_lface_from_font_name): Delete it.
-       (set_lface_from_font): Renamed from
-       set_lface_from_font_and_fontset.  Caller changed.  Don't set
-       LFACE_AVGWIDTH.  Use FONT_XXX_FOR_FACE to get a symbol suitable
-       for face.
-       (merge_face_vectors): Copy font-spec if necessary.
-       Clear properties of the font-spec if necessary.
-       (merge_face_ref): Clear properties of the font-spec if necessary.
-       (Finternal_set_lisp_face_attribute): Likewise.
-       (set_font_frame_param): Use font_load_for_lface to load a
-       font-object, and call Fmodify_frame_parameters with it.
-       (x_update_menu_appearance): Don't check LFACE_AVGWIDTH.  Get XLFD
-       font name by Ffont_xlfd_name.
-       (Finternal_lisp_face_attribute_values): Don't check QCweight,
-       QCslant, and QCwidth.
-       (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].
-       (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.
-       Compare fonts by EQ.
-       (lookup_non_ascii_face): Deleted.
-       (face_for_font): The 2nd argument changed.
-       (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.
-       Check atomic font properties by case insensitive.
-       (realize_non_ascii_face): Set face->overstrike correctly.
-       (realize_x_face): Likewise.  Check if LFACE_FONT is a font_object.
-       (dump_realized_face): Get font name from
-       font->props[FONT_NAME_INDEX].  Don't print font_info_id.
-
-       * xfns.c: Throughout the file, delete all USE_FONT_BACKEND
-       conditionals.  Don't check enable_font_backend.  Delete all codes
-       used only when USE_FONT_BACKEND is not defined.
-       (xic_create_xfontset): Original code deleted and renamed from
-       xic_create_xfontset2.  Use FRAME_FONT, not FRAME_FONT_OBJECT.
-       (x_make_gc): Don't set GCFont in GCs.
-       (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font
-       opened by "fixed".
-       (syms_of_xfns): Don't set get_font_info_func, load_font_func,
-       find_ccl_program_func, query_font_func, set_frame_fontset_func,
-       get_font_repertory_func.
-
-       * xfont.c: Include <stdlib.h> and "ccl.h".
-       (struct xfont_info): New structure.
-       (xfont_query_font): Deleted.
-       (xfont_find_ccl_program): Renamed from x_find_ccl_program and
-       moved from xterm.c.
-       (xfont_driver): Adjusted for the change of struct font_driver.
-       (compare_font_names): New function.
-       (xfont_list_pattern): Sort font names case insensitively.  Make
-       font_entity by calling font_make_entity.  Avoid auto-scaled fonts.
-       (xfont_list): Return a list, not vector.
-       (xfont_match): If the font doesn't have QCname property, generate
-       a name from the other font properties.
-       (xfont_open): Return a font-object.  Adjusted for the change of
-       struct font.  Get underline_thickness and underline_position from
-       font property.  Don't update dpyinfo->smallest_font_height and
-       dpyinfo->smallest_char_width.
-       (xfont_close): Don't free struct font.
-       (xfont_prepare_face): Adjusted for the change of struct font.
-       (xfont_done_face): Deleted.
-       (xfont_has_char): Adjusted for the change of struct font.
-       (xfont_encode_char, xfont_draw): Likewise.
-       (xfont_check): New function.
-
-       * xftfont.c (xftfont_list): Adjusted for the change of `list'
-       callback function.
-       (xftfont_match): Adjusted for the format change of font-entity.
-       (xftfont_open): Adjusted for the format change of font-entity and
-       font-object.  Adjusted for the change of struct font.  Return a
-       font-object.  Don't update dpyinfo->smallest_font_height and
-       dpyinfo->smallest_char_width.
-       (xftfont_close): Block input while calling XftFontClose.
-       (xftfont_prepare_face): Don't block input while calling
-       xftfont_get_colors.  Adjusted for the change of struct font.
-       (xftfont_shape): Return value of error case fixed.
-
-       * xrdb.c (x_load_resources): Don't setup a fontset resource.
-
-       * xterm.h: Throughout the file, delete all USE_FONT_BACKEND
-       conditionals.
-       (FONT_WIDTH): Return (f)->max_width.
-       (struct x_display_info): Delete member `font'.
-       (x_list_fonts, x_get_font_info, x_load_font, x_query_font)
-       (x_find_ccl_program, x_get_font_repertory): Delete externs.
-       (struct x_output): Change type of `font' to `struct font *'.
-
-       * xterm.c: Throughout the file, delete all USE_FONT_BACKEND
-       conditionals.  Don't check enable_font_backend.  Delete all codes
-       used only when USE_FONT_BACKEND is not defined.  Don't include ccl.h.
-       (x_per_char_metric, x_encode_char): Deleted.
-       (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.
-       (x_compute_glyph_string_overhangs): Adjusted for the change of
-       `struct face'.
-       (x_draw_glyph_string_foreground)
-       (x_draw_composite_glyph_string_foreground): Likewise.
-       (x_draw_glyph_string): Likewise.  Use font->underline_position and
-       font->underline_thickness.
-       (x_new_font): Renamed from x_new_fontset2.
-       (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.
-       (x_check_font): Call `check' method of a font driver.
-       (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)
-       (x_query_font, x_get_font_repertory): Deleted.
-       (x_find_ccl_program): Renamed and moved to xfont.c.
-       (x_redisplay_interface): Adjusted for the change of `struct
-       redisplay_interface'.
-
-       * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND
-       conditionals.  Don't check enable_font_backend.  Delete all codes
-       used only when USE_FONT_BACKEND is not defined.  Surround non-used
-       code by "#ifdef OLD_FONT" and "endif".
-       (Fw32_select_font): Use FONT_COMPAT to get old font structure.
-
-       * w32font.h (struct w32font_info): New member.
-       (FONT_COMPAT): New macro.
-       (w32font_open_internal): Prototype adjusted.
-
-       * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if
-       OLD_FONT" and "endif".
-
-       * w32font.c: Throughout the file, delete all USE_FONT_BACKEND
-       conditionals.  Don't check enable_font_backend.  Delete all codes
-       used only when USE_FONT_BACKEND is not defined.
-       (w32font_open): Return a font-object.  Make a font-object by
-       font_make_object.  Adjusted for the change of struct w32font_info.
-       (w32font_close): Don't free struct font.  Adjusted for the change
-       of struct w32font_info.
-       (w32font_encode_char, w32font_text_extents, w32font_draw):
-       Adjusted for the change of struct w32font_info.
-       (w32font_draw): Likewise.
-       (w32font_list_internal): Return a list, not vector.
-       (w32font_open_internal): Change the 4th arg to font-object.
-       Adjusted for the change of struct w32font_info and font-object format.
-       (add_font_name_to_list): Don't downcase names.
-       (w32_enumfont_pattern_entity): Make a font-entity by
-       font_make_entity.  Adjusted for the format change of font-entity.
-       Use FONT_SET_STYLE to set a style-related font property.  If a
-       font is scalable, set avgwidth property to 0.  Set font-entity
-       property by font_put_extra.
-       (font_matches_spec): Adjusted for the format change of font-entity.
-       (w32_weight_table, w32_decode_weight): New variables.
-       (w32_encode_weight): New function.
-       (fill_in_logfont): Adjusted for the format change of font-spec.
-       (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol
-       weight value.
-       (w32font_driver): Adjusted for the change of struct font_driver.
-
-       * w32term.h: Throughout the file, delete all USE_FONT_BACKEND
-       conditionals.  Don't check enable_font_backend.  Surround non-used
-       code by "#ifdef OLD_FONT" and "endif".
-       (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)
-       (FONT_AVG_WIDTH): Adjusted for the change of struct font.
-
-       * w32term.c: Throughout the file, delete all USE_FONT_BACKEND
-       conditionals.  Don't check enable_font_backend.  Delete all codes
-       used only when USE_FONT_BACKEND is not defined.  Surround non-used
-       code by "#ifdef OLD_FONT" and "endif".
-
-       * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.
-       (uniscribe_open): Return value changed to font-object.
-       Adjusted for the format change of font-object.
-       (uniscribe_otf_capability): Adjusted for the change of struct font.
-       (add_opentype_font_name_to_list): Don't downcase names.
-       (uniscribe_font_driver): Adjusted for the change of struct
-       font_driver.
-
-2008-05-13  Chong Yidong  <cyd@stupidchicken.com>
-
-       * dispnew.c (update_frame_1): Check if tty output is still valid
-       before flushing it.
-
-2008-05-13  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * xterm.c (handle_one_xevent): Don't pass buttons higher than 3
-       to Gtk+ menus.
-
-2008-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * dired.c (file_name_completion): Tweak the code so as to always do it
-       in a single pass.  Tighten the scope of some variables.
-
-       * dired.c (Qdefault_directory): New var.
-       (file_name_completion): Use it instead of Fexpand_file_name.
-       (syms_of_dired): Initialize it.
-
-2008-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * fileio.c (double_dollars): Remove dead code.
-
-2008-05-10  Eli Zaretskii  <eliz@gnu.org>
-
-       * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):
-       Mention w32-get-true-file-attributes in doc string.
-
-       * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
-
-2008-05-09  Glenn Morris  <rgm@gnu.org>
-
-       * fileio.c (Fread_file_name): Remove reference to insdef, deleted
-       2008-04-23.
-
-2008-05-09  Eli Zaretskii  <eliz@gnu.org>
-
-       Support for reporting owner and group of each file on MS-Windows:
-       * dired.c (stat_uname, stat_gname): New functions, with special
-       implementation for w32.
-       (Ffile_attributes): Use them instead of getpwuid and getgrgid.
-
-       * w32.c: Rename the_passwd_* to dflt_passwd_*.
-       (dflt_group_name): New static variable.
-       (dflt_group): Rename from the_group.
-       (init_user_info): Init dflt_group fields.  Get user's group name
-       from LookupAccountSid.
-       (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)
-       (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):
-       New initialization states.
-       (globals_of_w32): Initialize them to zero.  Initialize the default
-       group name to "None".
-       (GetFileSecurity_Name): New global var, the name of the function
-       to call for GetFileSecurity.
-       (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)
-       (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.
-       (get_file_security, get_security_descriptor_owner)
-       (get_security_descriptor_group, is_valid_sid)
-       (get_file_security_desc, get_rid, get_name_and_id)
-       (get_file_owner_and_group): New functions.
-       (stat): Use get_file_security_desc and get_file_owner_and_group to
-       report the owner and primary group of each file.  Don't ignore the
-       high 32 bits of file's size, now that st_size is 64-bit wide.
-       Fix test when to get true file attributes.
-       (init_user_info): Use get_rid instead of equivalent inline code.
-       (fstat): Don't ignore the high 32 bits of file's size.
-
-2008-05-09  Chong Yidong  <cyd@stupidchicken.com>
-
-       * image.c (png_load): Use correct bit-depth for setting background
-       color.
-
-2008-05-08  Eli Zaretskii  <eliz@gnu.org>
-
-       * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to
-       epa-hook.elc.
-
-2008-05-08  Juanma Barranquero  <lekktu@gmail.com>
-
-       * font.c (Ffont_match_p): Don't use `iff' in docstring.
-
-2008-05-07  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * macfns.c (Fx_create_frame): Make a copy of frame parameters
-       because the original parameters are in pure storage now.
-       (mac_window): Remove unused params.  Update callers.
-
-2008-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * lread.c (substitute_object_recurse): Use lower-level primitives.
-       Don't signal errors when traversing sub-char-tables.
-       Don't loop over all the possible characters when traversing char-tables.
-
-       * print.c (print_preprocess): Add sub-char-tables to the print-table,
-       just like we do in print.c.
-
-2008-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * minibuf.c (Ftry_completion): Remove code left over from when we used
-       scmp instead of Fcompare_strings.
-
-2008-05-04  Juanma Barranquero  <lekktu@gmail.com>
-
-       * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.
-
-2008-05-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):
-       Create bitmap context in native byte order.
-
-       * macterm.c (XDrawLine)
-       (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap
-       context in native byte order.
-
-2008-05-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * config.in: Regenerate.
-
-       * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:
-       New definitions for Image I/O support.
-       (XGetImage, XPutPixel, XGetPixel, XDestroyImage)
-       (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)
-       [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
-       (mac_data_provider_release_data, image_load_image_io)
-       [USE_MAC_IMAGE_IO]: New functions.
-       (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.
-       (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.
-       (init_image_func_pointer) [MAC_OSX]: Remove function.
-       (image_load_quartz2d) [MAC_OSX]: Check availability of
-       CGImageCreateWithPNGDataProvider at compile time.
-       Use lowercase `false' for boolean constant.
-       (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:
-       Use image_load_image_io.
-       (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:
-       Don't check MyCGImageCreateWithPNGDataProvider.
-       (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:
-       Don't call init_image_func_pointer.
-
-       * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.
-
-       * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:
-       Make variable non-static.
-       (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)
-       [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.
-
-       * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.
-       (RED_FROM_ULONG): Mask off higher bits.
-       (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.
-
-       * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:
-       Include AvailabilityMacros.h.
-       (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.
-       (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.
-
-2008-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * chartab.c (Fset_char_table_range): If range is t, really set all
-       chars to that value.
-
-2008-05-03  Eli Zaretskii  <eliz@gnu.org>
-
-       * dired.c (Ffile_attributes): Don't allow the device number become
-       negative.
-
-2008-05-02  Daiki Ueno  <ueno@unixuser.org>
-
-       * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.
-
-2008-05-02  Juri Linkov  <juri@jurta.org>
-
-       * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)
-       (Fread_variable, Fread_buffer, Fcompleting_read): Document the
-       DEFAULT argument as a list of default values in docstrings.
-
-2008-05-01  Chong Yidong  <cyd@stupidchicken.com>
-
-       * puresize.h (BASE_PURESIZE): Increase to 1210000.
-
-2008-05-01  Martin Rudalics  <rudalics@gmx.at>
-
-       * dispnew.c (change_frame_size_1): Preserve small windows when
-       shrinking frames by calling set_window_height|width with third
-       arg 2.
-
-       * window.h (struct window): Replace field too_small_ok by field
-       resize_proportionally.
-
-       * window.c (make_window): Initialize resize_proportionally.
-       (enlarge_window): Temporarily set resize_proportionally to make
-       sure that shrink_windows does scale the window proportionally.
-       (shrink_windows): When window has resize_proportionally set try
-       to shrink it proportionally by stealing from other windows.
-       (struct saved_window, Fset_window_configuration)
-       (compare_window_configurations): Handle resize_proportionally.
-       (WINDOW_TOTAL_SIZE): New macro.
-       (window_min_size, shrink_windows, size_window): Use it.
-       (check_min_window_sizes): Remove.  Invalid values of
-       window-min-height|width are handled by window_min_size_2 now.
-       (size_window, Fsplit_window, enlarge_window)
-       (adjust_window_trailing_edge, grow_mini_window): Don't call
-       check_min_window_sizes.
-       (window_min_size_2, window_min_size_1, window_min_size):
-       New argument safe_p for retrieving "safe" minimum sizes.
-       (Fdisplay_buffer, Fsplit_window, enlarge_window)
-       (adjust_window_trailing_edge, grow_mini_window):
-       Adjust arguments of window_min_size... functions.
-       (shrink_windows): Argument min_size removed.  New argument
-       safe_p allows shrinking windows to their safe minimum sizes.
-       Calculate minimum size and decide whether a window shall be
-       deleted for each window individually.
-       (size_window): When nodelete_p equals 2, tell shrink_windows to
-       delete windows only if their new minimum size is no more safe.
-       (shrink_window_lowest_first): Call window_min_size_1 to make
-       sure to preserve modeline of bottom-most window when resizing
-       the minibuffer.
-       (Fset_window_configuration, Fcurrent_window_configuration)
-       (compare_window_configurations): Do not handle
-       window-min-height|width any more.
-       (syms_of_window): Clarify window-min-height|width doc-strings.
-
-2008-04-30  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * dired.c (file_name_completion): Fix up the encoding/decoding issue
-       some more.  Copy some of the code from Ftry_completions.
-       Remove special case code that dates back to initial revision when the
-       slash was only added when necessary and that can't trigger nowadays.
-
-2008-04-27  Kenichi Handa  <handa@m17n.org>
-
-       * font.c (font_prop_validate): Signal `error' instead of `font'.
-
-2008-04-29  Jason Rumney  <jasonr@gnu.org>
-
-       * w32fns.c (Fw32_battery_status): New defun.
-       (syms_of_w32fns): Defsubr it.
-
-2008-04-28  Andreas Schwab  <schwab@suse.de>
-
-       * dired.c (file_name_completion): Fix another mixing of encoded
-       and decoded names.
-
-2008-04-28  Juanma Barranquero  <lekktu@gmail.com>
-
-       * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.
-
-2008-04-27  Juanma Barranquero  <lekktu@gmail.com>
-
-       * fringe.c (Fdefine_fringe_bitmap): Doc fix.
-
-2008-04-27  Andreas Schwab  <schwab@suse.de>
-
-       * dired.c (file_name_completion): Fix inappropriate mixing of
-       encoded and decoded names.
-
-       * xterm.c (XTread_socket): Fix use of uninitialized variable.
-
-       * puresize.h (BASE_PURESIZE): Increase to 1200000.
-
-2008-04-26  Eli Zaretskii  <eliz@gnu.org>
-
-       * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from
-       2008-03-31, it's not needed anymore with `struct stat' definition
-       on nt/inc/sys/stat.h.  Undo changes from 2007-01-12 and 2007-01-13
-       for the same reasons.
-
-2008-04-25  Dennis Gilmore  <ausil@fedoraproject.org>  (tiny change)
-
-       * m/sparc.h: Additional redefinitions for GNU/Linux.
-
-2008-04-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.
-       (syms_of_macterm) [USE_MAC_TSM]: Defvar it.
-       (Qmouse_drag_overlay) [MAC_OSX]: New variable.
-       (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.
-       (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
-       (mac_ax_selected_text_range) [MAC_OSX]: New functions.
-       (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
-       Likewise.
-
-       * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.
-       (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)
-       (mac_ax_number_of_characters): Add externs.
-       (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)
-       [USE_MAC_TSM]: Likewise.
-       (mac_handle_text_input_event) [MAC_OSX]:
-       Handle kEventTextInputOffsetToPos for no active input area case.
-       Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
-       (mac_handle_document_access_event)
-       [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.
-       (install_application_handler) [MAC_OSX]: Register handlers for
-       kEventTextInputPosToOffset and kEventTextInputGetSelectedText.
-       (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
-       Register mac_handle_document_access_event.
-
-       * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:
-       Make functions non-static.
-
-2008-04-23  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * fileio.c (Vread_file_name_function, Vread_file_name_predicate)
-       (read_file_name_completion_ignore_case, insert_default_directory)
-       (Qdefault_directory): Move to minibuffer.el.
-       (Fread_file_name): Call the new `read-file-name' instead.
-
-2008-04-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:
-       Make function non-static.
-       (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:
-       Remove function.
-       (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
-       Move to mactoolbox.c.
-       (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.
-
-       * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.
-       (mac_rect_make): New macro.
-
-       * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat
-       instead of float.
-       (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
-       (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)
-       (XSetBackground) [USE_CG_DRAWING]: Likewise.
-       (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of
-       CGRectMake.
-       (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.
-       (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)
-       (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.
-       (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
-       instead of WindowRef in argument type.
-       (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.
-       (mac_invert_rectangle): Use CGContextSetBlendMode if available.
-       (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F
-       instead of DISPLAY.  All uses changed.
-       (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.
-       (x_calc_absolute_position): Simplify so as not to use
-       FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.
-
-       * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window
-       instead of WindowRef in argument type.
-       (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)
-       [TARGET_API_MAC_CARBON]: Remove externs.
-       (create_apple_event, mac_event_parameters_to_lisp)
-       [TARGET_API_MAC_CARBON]: Add externs.
-
-       * mactoolbox.c (Vmac_ts_script_language_on_focus)
-       (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.
-       (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part
-       is clicked.
-       (x_activate_menubar): Remove extern for saved_menu_event_location.
-       (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:
-       Move from mac.c.
-
-2008-04-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)
-       [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.
-
-2008-04-23  Jason Rumney  <jasonr@gnu.org>
-
-       * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get
-       attributes only for local files.
-
-       * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes
-       default to Qlocal.
-
-2008-04-22  Juri Linkov  <juri@jurta.org>
-
-       * buffer.c (Fswitch_to_buffer): Change interactive spec to call
-       read-buffer-to-switch instead of using the letter "B".
-
-2008-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * fileio.c (Qdefault_directory): New variable.
-       (Fread_file_name): Use it to pass `dir' to the completion functions.
-
-2008-04-20  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xdisp.c (pos_visible_p): Check if iterator stops on a display string.
-
-2008-04-19  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * keyboard.c (Vpre_help_message): Remove.
-       (show_help_echo): Remove default C code.
-
-       * dired.c (directory_files_internal, file_name_completion):
-       Only call ENCODE_FILE if the string is indeed decoded.
-
-2008-04-18  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * Makefile.in (TOOLKIT_DEFINES): Remove.
-       (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.
-
-2008-04-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * Makefile.in (MAC_OBJ): Add mactoolbox.o.
-       (mactoolbox.o): New target.
-
-       * mac.c [MAC_OSX] (select_and_poll_event, sys_select):
-       Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
-
-       * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):
-       Use mac_set_frame_window_background instead of XSetWindowBackground.
-       (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:
-       Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.
-       (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title
-       instead of SetWindowTitleWithCFString.
-       (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.
-       Move function to mactoolbox.c.
-       (mac_update_title_bar) [TARGET_API_MAC_CARBON]:
-       Use mac_set_window_modified instead of SetWindowModified.
-       Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.
-       (mac_window, x_create_tip_frame): Use mac_create_frame_window.
-       (Fx_focus_frame): Use mac_front_non_floating_window instead of
-       FrontNonFloatingWindow.  Use mac_activate_window instead of
-       ActivateWindow.  Use mac_active_non_floating_window instead of
-       ActiveNonFloatingWindow.
-       (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:
-       Use mac_show_hourglass and mac_hide_hourglass.
-       (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse
-       instead of GetGlobalMouse.
-       (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window
-       instead of MoveWindow/SizeWindow/ShowWindow, respectively.
-       Use mac_bring_window_to_front instead of BringToFront.
-       (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to
-       mactoolbox.c.
-       (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to
-       mac_file_dialog in mactoolbox.c.  Use mac_file_dialog.
-       (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to
-       mactoolbox.c.
-
-       * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.
-       (XtPointer): Move typedef from macmenu.c.
-       (enum button_type): Move enum from macmenu.c.
-       (widget_value): Move typedef from macmenu.c.
-       (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)
-       (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
-       (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
-       (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
-       (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
-       (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
-       (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
-       (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.
-       (Selection): Move typedef from macselect.c.
-       (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from
-       macterm.c.
-       (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)
-       (mac_is_window_collapsed, mac_bring_window_to_front)
-       (mac_send_window_behind, mac_hide_window, mac_show_window)
-       (mac_collapse_window, mac_front_non_floating_window)
-       (mac_active_non_floating_window, mac_activate_window)
-       (mac_move_window_structure, mac_move_window, mac_size_window)
-       (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.
-
-       * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.
-       (enum mac_menu_kind): Move enum to mactoolbox.c.
-       (min_menu_id): Move variable to mactoolbox.c.
-       (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.
-       (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.
-       (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
-       (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
-       [TARGET_API_MAC_CARBON]: Likewise.
-       (XtPointer): Move typedef to macgui.h.
-       (enum button_type): Move enum to macgui.h.
-       (widget_value): Move typedef to macgui.h.
-       (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)
-       (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)
-       (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)
-       (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)
-       (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)
-       (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)
-       (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.
-       (popup_activated_flag): Make variable non-static.
-       (x_activate_menubar, install_menu_quit_handler, pop_down_menu)
-       (add_menu_item, fill_menu, dispose_menus):
-       Move functions to mactoolbox.c.
-       (restore_show_help_function, menu_target_item_handler)
-       (install_menu_target_item_handler, mac_handle_dialog_event)
-       (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)
-       [TARGET_API_MAC_CARBON]: Likewise.
-       (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.
-       (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
-       (find_and_call_menu_selection, name_is_separator): Make function
-       non-static.
-       (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern
-       to mactoolbox.c.
-       (set_frame_menubar): Don't call install_menu_quit_handler.
-       (menu_item_selection): New variable.
-       (mac_menu_show): Use create_and_show_popup_menu.
-       (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return
-       selection but set variable menu_item_selection.  All uses changed.
-       (mac_fill_menubar): Rename from fill_menubar.  All uses changed.
-       Call install_menu_quit_handler.  Move to mactoolbox.c.
-
-       * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.
-       (Selection): Move typedef to macgui.h.
-       (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)
-       (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):
-       Make variables non-static.
-       (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.
-       (mac_handle_apple_event, cleanup_all_suspended_apple_events):
-       Make functions non-static.
-       (Vmac_service_selection) [MAC_OSX]: Likewise.
-       (mac_get_selection_from_symbol, get_flavor_type_from_symbol)
-       (mac_valid_selection_target_p, mac_clear_selection)
-       (mac_get_selection_ownership_info, mac_valid_selection_value_p)
-       (mac_put_selection_value, mac_selection_has_target_p)
-       (mac_get_selection_value, mac_get_selection_target_list)
-       (init_apple_event_handler, install_drag_handler, remove_drag_handler):
-       Move functions to mactoolbox.c.
-       (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:
-       Likewise.
-       (copy_scrap_flavor_data, mac_handle_service_event)
-       (install_service_handler) [MAC_OSX]: Likewise.
-       (syms_of_macselect) <Vmac_dnd_known_types>:
-       Use mac_dnd_default_known_types.
-
-       * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):
-       Move to mactoolbox.c.
-       (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.
-       (Fx_selection_owner_p): Add EXFUN.
-       (install_window_handler, remove_window_handler, XSetWindowBackground):
-       Remove externs.
-       (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.
-       (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.
-       (x_raise_frame, x_lower_frame, mac_alert_sound_play)
-       (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)
-       (mac_convert_frame_point_to_global, mac_set_frame_window_background)
-       (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)
-       (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)
-       (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)
-       (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)
-       (create_and_show_popup_menu, mac_get_selection_from_symbol)
-       (mac_valid_selection_target_p, mac_clear_selection)
-       (mac_get_selection_ownership_info, mac_valid_selection_value_p)
-       (mac_put_selection_value, mac_selection_has_target_p)
-       (mac_get_selection_value, mac_get_selection_target_list): Add externs.
-       (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)
-       (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)
-       (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.
-       (mac_run_loop_run_once) [MAC_OSX]: Likewise.
-       (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.
-       (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.
-       (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
-       (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.
-
-       * mactoolbox.c: New file.
-
-2008-04-18  Jason Rumney  <jasonr@gnu.org>
-
-       * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.
-
-2008-04-18  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * character.c (Fmultibyte_char_to_unibyte):
-       Return latin1 chars unchanged.
-
-       * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only
-       relocated if it points to `name'.
-
-2008-04-17  Kenichi Handa  <handa@m17n.org>
-
-       * data.c (Faset): Allow setting a multibyte character in an
-       ASCII-only unibyte string.
-
-       * lisp.h (STRING_SET_MULTIBYTE): New macro.
-
-2008-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now
-       done in config.h.
-
-2008-04-16  Juanma Barranquero  <lekktu@gmail.com>
-
-       * character.c (Fchar_bytes, Fchar_width, Fstring_width)
-       (Fchar_direction): Add usage in the docstring.
-
-2008-04-15  Chong Yidong  <cyd@stupidchicken.com>
-
-       * keyboard.c (read_key_sequence): Remove always-true checks.
-
-2008-04-14  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (w32font_open_internal): Set max_bounds.descent in
-       compatibility struct, for better underline positioning.
-
-2008-04-13  David Hansen  <david.hansen@gmx.net>
-
-       * dbusbind.c (dbus-get-unique-name): Remove extra copying of name
-       string.
-
-2008-04-12  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * m/hp800.h (XUINT, XSET): Remove.
-
-2008-04-12  Juanma Barranquero  <lekktu@gmail.com>
-
-       * fileio.c (Fexpand_file_name): Add declaration for `p' missing in
-       previous change.
-
-2008-04-12  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.
-       Relocate `nm' after calling DECODE_FILE, in case the GC was run.
-
-2008-04-11  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * keymap.h (map_keymap_canonical): Declare.
-       * xmenu.c (single_keymap_panes): Use it.
-
-2008-04-11  Glenn Morris  <rgm@gnu.org>
-
-       * eval.c (Fdefvaralias): If the alias is bound and the target is not,
-       set the target's value to that of the alias.
-
-2008-04-11  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * term.c (set_tty_color_mode): Left over typo.
-
-2008-04-10  Michael Albinus  <michael.albinus@gmx.de>
-
-       * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK
-       only after check for file name handler functions.  Signal, when
-       native functionality is not supported.
-       (syms_of_fileio): Declare it unconditionally.
-
-2008-04-10  Jason Rumney  <jasonr@gnu.org>
-
-       * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.
-       (Fx_popup_dialog): Handle simple yes/no questions as dialogs.
-
-       * w32.c (logon_network_drive): Also logon to remote drives that
-       are mapped to drive letters.
-
-2008-04-10  Glenn Morris  <rgm@gnu.org>
-
-       * xdisp.c (truncate-partial-width-windows): Doc fix.
-
-2008-04-10  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * fileio.c (read_file_name_cleanup, Fread_file_name_internal):
-       Move functions to minibuffer.el.
-       (syms_of_fileio): Don't declare them.
-
-2008-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.
-       (syms_of_minibuf): Remove its initialization.
-
-       * minibuf.c (temp_echo_area_glyphs): Remove unused function.
-
-2008-04-09  Juanma Barranquero  <lekktu@gmail.com>
-
-       * editfns.c (Ffield_string_no_properties): Fix typo in docstring.
-
-2008-04-09  Jason Rumney  <jasonr@gnu.org>
-
-       * makefile.w32-in (distclean): Delete makefile too.
-       (maintainer-clean): New target.
-
-       * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.
-
-       * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs
-       for new font backend and composite cases.
-
-2008-04-09  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.
-       Most of the code moved to run_timers.
-       (do_pending_atimers): Call run_timers.
-       (run_timers): New function.
-
-       * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,
-       run atimers.
-
-       * process.c (wait_reading_process_output): The same as above.
-
-2008-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * minibuf.c (last_exact_completion): Remove variable.
-       (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)
-       (complete_and_exit_1, complete_and_exit_2)
-       (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
-       (Fdisplay_completion_list, display_completion_list_1)
-       (Fminibuffer_completion_help, Fself_insert_and_exit)
-       (Fexit_minibuffer, Fminibuffer_message): Move functions to
-       minibuffer.el.
-       (syms_of_minibuf): Remove corresponding initializations.
-
-       * keyboard.c (Qdeactivate_mark): New var.
-       (command_loop_1): Use it to call `deactivate-mark'.
-       (syms_of_keyboard): Initialize it.
-
-       * xdisp.c (redisplay_internal): Reset tty's color_mode when switching
-       to another frame.
-       * frame.c (do_switch_frame): Refine the top_frame/async_visible code.
-       Don't call set_tty_color_mode.
-       (store_frame_param): Reset previous_frame rather than call
-       set_tty_color_mode.
-       * term.c (set_tty_color_mode): Rewrite.
-       * dispextern.h (set_tty_color_mode): New type.
-       * termchar.h (struct tty_display_info): Add `previous_color_mode'.
-
-2008-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * keymap.c (access_keymap): Remove the value 2 for t_ok which was used
-       for generic chars, which do not exist any more in emacs-unicode.
-
-2008-04-08  Michael Albinus  <michael.albinus@gmx.de>
-
-       * coding.c (detect_coding_emacs_mule)
-       (Ffind_operation_coding_system): Fix typo.
-
-2008-04-08  Jason Rumney  <jasonr@gnu.org>
-
-       * w32uniscribe.c (SNAME): Extract only symbol name.
-
-       * w32font.h (struct w32_metric_cache): New struct.
-       (w32font_info): Use it.
-       (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)
-       (CACHE_BLOCKSIZE): New constants.
-
-       * w32font.c (Qja, Qko, Qzh): New symbols.
-       (syms_of_w32font): Initialise them.
-       (font_matches_spec): Use them to filter by language.
-       (recompute_cached_metrics): Remove function.
-       (compute_metrics, clear_cached_metrics): New functions.
-       (w32font_encode_char): Use them to manage metric cache.
-       (w32font_text_extents): Cache metrics for all glyphs on demand.
-       Delay converting glyph indices to WORD until needed.
-       (w32font_open_internal): Initialize metric cache to empty.
-       (registry_to_w32_charset): Charset should always be a symbol.
-       (fill_in_logfont, list_all_matching_fonts): Family should
-       always be a symbol.
-
-2008-04-06  Jason Rumney  <jasonr@gnu.org>
-
-       * w32uniscribe.c (uniscribe_shape): Increase items buffer size.
-       Give up if glyph indices not supported.  Use uniscribe obtained
-       ABC widths for individual metrics.  Map glyph clusters back to
-       characters using fClusterStart flag.  Return number of glyphs
-       produced, not chars processed.
-       (uniscribe_shape): Map char at FROM to current glyph.
-
-2008-04-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:
-       Use SetMenuItemHierarchicalMenu.
-
-2008-04-05  Jason Rumney  <jasonr@gnu.org>
-
-       * image.c (pbm_load): Allow color values up to 65535.
-       Throw an error if max_color_idx is outside the supported range.
-       Report an error when image size is invalid.
-       Read two bytes at a time when raw images have max_color_idx above 255.
-
-2008-04-05  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32.c (readdir): If FindFirstFile/FindNextFile return in
-       cFileName a file name that includes `?' characters, use the 8+3
-       alias in cAlternateFileName instead.
-
-2008-04-05  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't
-       append "CCL: Quitted" when the CCL program is quitted.
-       (setup_ccl_program): Initialize ccl->quit_silently to zero.
-
-       * ccl.h (struct ccl_program): New member quit_silently.
-
-2008-04-05  Chong Yidong  <cyd@stupidchicken.com>
-
-       * search.c (compile_pattern_1): Treat non-nil and non-string of
-       search-spaces-regexp as nil.
-
-       * minibuf.c (Fassoc_string): Tweak docstring.
-
-2008-04-05  Eli Zaretskii  <eliz@gnu.org>
-
-       * dired.c (Ffile_attributes): Support inode numbers wider than 32
-       bits.  Remove ugly WINDOWSNT-specific kludge introduced on
-       2008-03-14 to force inode be positive.
-
-       * w32.c (sys_chown, stat, fstat): Use S_* constants instead of
-       _S_* ones, since we now use our own sys/stat.h.
-       (stat, fstat): Don't mangle the inode number.
-       (init_user_info): Don't restrict UID and GID to 0-60000 range.
-
-2008-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * frame.h (struct frame): Give one more bit to `visible' since we use
-       values larger than 1 to indicate obscured frames on ttys.
-
-       * keymap.c (Qkeymap_canonicalize): New var.
-       (Fmap_keymap_internal): New fun.
-       (describe_map): Use keymap-canonicalize.
-
-       * undo.c (last_boundary_buffer, last_boundary_position): New vars.
-       (Fundo_boundary): Set them.
-       (syms_of_undo): Initialize them.
-       (record_point): Use them instead of last_point_position*.
-       (last_undo_buffer): Change type.
-
-2008-04-04  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (w32font_text_extents): Use font's ascent and descent.
-       (recompute_cached_metrics): Don't set ascent and descent per char.
-
-       * w32uniscribe.c (uniscribe_check_otf): Fix last change.
-       (uniscribe_check_otf): Add GC protection before consing.
-       Rearrange loop for counting features.
-
-2008-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * insdel.c (insert_from_buffer_1): Don't compare bytes in destination
-       buffer with byte-size of source buffer.
-
-2008-04-03  Chong Yidong  <cyd@stupidchicken.com>
-
-       * callint.c (Fcall_interactively): Handle temporary region even
-       when shift-select-mode is off.
-
-2008-04-03  Jason Rumney  <jasonr@gnu.org>
-
-       * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.
-
-2008-04-03  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.
-       (CATEGORY_MASK_UTF_16): Likewise.
-       (detect_coding_utf_16): Add heuristics to reject utf-16 for a
-       binary file.
-       (detect_coding): Add null-byte detection for a binary file.
-       (detect_coding_system): Likewise.
-
-2008-04-03  Jason Rumney  <jasonr@gnu.org>
-
-       * w32uniscribe.c: New file.
-
-       * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.
-
-       * w32font.h (uniscribe_check_otf): Declare for w32font.c.
-
-       * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)
-       (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)
-       (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)
-       (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)
-       (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)
-       (Qphonetic): New symbols.
-       (syms_of_w32font): Initialize them.
-       (font_supported_scripts): Use them.
-       (w32font_list_family): List all charsets.
-       (w32font_text_extents, recompute_cached_metrics): Fix metric
-       calculations.
-       (w32_enumfont_pattern_entity): Make full_type a DWORD.
-       Give opentype fonts their own format.
-       (font_matches_spec): New arguments backend and logfont.
-       Handle :otf spec for uniscribe backend.
-       (add_font_entity_to_list): Match truetype fonts in uniscribe backend.
-       (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.
-
-       * w32fns.c (Fx_create_frame): Conditionally register uniscribe
-       font backend.
-       (globals_of_w32fns): Initialize uniscribe font backend.
-
-       * makefile.w32-in (CONFIG_H): New variable.  Use it to clean up
-       dependencies.
-       (w32uniscribe.$(O)): New file to build.
-       (FONT_OBJ): Include w32uniscribe.$(O).
-       (LIBS): Add uniscribe libraries.
-
-       * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.
-
-2008-04-02  Chong Yidong  <cyd@stupidchicken.com>
-
-       * callint.c (Vshift_select_mode): New var.
-       (Finteractive): Document new ^ spec.
-       (Fcall_interactively): Call handle-shift-selection if the ^ spec
-       is present.
-
-       * keyboard.c (Vthis_command_keys_shift_translated): New var.
-       (command_loop_1): Avoid running the direct display versions of
-       forward-char and backward-char if shift-selection may occur.
-       (read_key_sequence): Set Vthis_command_keys_shift_translated if
-       shift-translation takes place.
-
-       * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to
-       avoid clobbering by define-minor-mode.
-
-       * cmds.c (Fforward_char, Fbackward_char, Fforward_line)
-       (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.
-
-       * syntax.c (Fforward_word): Add ^ interactive spec.
-
-       * window.c (Fscroll_up, Fscroll_down, Fscroll_left)
-       (Fscroll_right): Add ^ interactive spec.
-
-2008-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * xdisp.c (try_window_id): Don't forget to reset delta_bytes.
-
-       * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.
-
-       * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.
-
-2008-03-31  Juri Linkov  <juri@jurta.org>
-
-       * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.
-
-2008-03-30  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * gtkutil.c (xg_set_geometry): Fix indentation.
-       (xg_resize_outer_widget): Remove.
-       (x_wm_size_hint_off): Fix indentation.
-       (xg_frame_set_char_size): Call flush_and_sync after
-       gtk_window_resize.
-       (x_wm_set_size_hint): Pass NULL as geometry window to
-       gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.
-       Add menu bar and tool bar height to base height.
-       (xg_update_frame_menubar, free_frame_menubar)
-       (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
-       (update_frame_tool_bar, free_frame_tool_bar):
-       Change xg_resize_outer_widget to xg_frame_set_char_size.
-
-2008-03-30  Michael Albinus  <michael.albinus@gmx.de>
-
-       * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.
-       (Fdbus_call_method): New parameter TIMEOUT.
-       (dbus-send-signal): Optimize UNGCPRO call.
-
-2008-03-29  Juri Linkov  <juri@jurta.org>
-
-       * window.c (Fdisplay_buffer): Move call to
-       Vsplit_window_preferred_function out of conditions that check
-       if window is eligible for vertical splitting.
-       When Vsplit_window_preferred_function is non-nil, call it and use
-       its non-nil return value as window.  Otherwise, continue doing
-       vertical splitting using Fsplit_window with arg horflag=nil.
-       (syms_of_window) <Vsplit_window_preferred_function>: Change the
-       default value from `split-window' to nil.
-
-2008-03-29  Juri Linkov  <juri@jurta.org>
-
-       * callint.c (Fcall_interactively): Revert 2008-03-16 change
-       for interactive code letters 'b' and 'B'.
-
-2008-03-29  Eli Zaretskii  <eliz@gnu.org>
-
-       * fileio.c (Fexpand_file_name): Convert the value of $HOME to a
-       multibyte string.
-
-2008-03-29  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * keyboard.c (pending_funcalls): New var.
-       (timer_check): Run it.
-       (syms_of_keyboard): Initialize it.
-       * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)
-       (Vdelete_terminal_functions): New vars.
-       (syms_of_terminal): Initialize them.
-       (Fdelete_terminal): Run delete-terminal-functions.
-       * xdisp.c (safe_eval): Rewrite.
-       (safe_call2): New fun.
-       * frame.c (Qdelete_frame_functions): New var.
-       (syms_of_frame): Initialize it.
-       (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.
-       * lisp.h (safe_call2, pending_funcalls): Declare.
-
-2008-03-28  Andreas Schwab  <schwab@suse.de>
-
-       * indent.c (Fmove_to_column): Move declaration before statements.
-
-2008-03-27  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * frame.h (enum fullscreen_type): Give it a name.  Move it before use.
-       (struct frame): Use bit fields for boolean vars.
-
-       * process.c (server_accept_connection): Simplify naming.
-       (emacs_get_tty_pgrp): Use SDATA.
-
-       * coding.c (decode_coding_object): Fix last change.
-
-2008-03-27  Jason Rumney  <jasonr@gnu.org>
-
-       * w32fns.c (start_hourglass): Suppress hourglass on tty frames.
-
-2008-03-27  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * charset.c (Fdefine_charset_internal): Change the way of
-       registering charsets in Vcharset_order_list.
-       (syms_of_charset): Make the charset `eight-bit' supplementary.
-
-2008-03-26  Alexandre Oliva  <aoliva@redhat.com>  (tiny change)
-
-       * regex.c (EXTEND_BUFFER): Change order of pointer addition
-       operations, to avoid having the difference between pointers
-       overflow.
-
-2008-03-26  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * indent.c (check_display_width): New fun.
-       (scan_for_column): Use it.
-
-       * data.c (syms_of_data): Mark most-positive-fixnum and
-       most-negative-fixnum as constants.
-
-       * xdisp.c (redisplay_internal): Reset selected_frame earlier.
-
-       * indent.c (scan_for_column): Extract from current_column_1.
-       Merge with the same code from Fmove_to_column.
-       (current_column_1, Fmove_to_column): Use it.
-
-2008-03-25  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * keymap.c (map_keymap_internal): New fun.
-       (map_keymap): Use it.
-       (Fmap_keymap_internal): New fun.
-       (Fmap_keymap): Remove left-out test from before make_save_value.
-
-       * keymap.c (Fmap_keymap): Use `map-keymap-sorted.
-
-       * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):
-       Use XCAR/XCDR.
-
-       * process.h (struct Lisp_Process): Remove filter_multibyte.
-       * process.c (QCfilter_multibyte): Remove.
-       (setup_process_coding_systems): Don't use filter_multibyte.
-       (Fstart_process, Fmake_network_process): Don't set filter_multibyte.
-       (read_process_output): Don't adjust multibyteness to filter_multibyte.
-       (Fset_process_filter_multibyte): Change the coding-system to
-       approximate the previous behavior.
-       (Fprocess_filter_multibyte_p): Get the multibyteness straight from the
-       coding-system.
-
-       * coding.c (decode_coding_object): When not decoding into a buffer,
-       obey the coding system's preference of (uni|multi)byte.
-
-2008-03-24  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * casefiddle.c (casify_object): Avoid pathological N^2 worst case if
-       every char is changed and has a different byte-length.
-       (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):
-       Fix int -> EMACS_INT.
-
-2008-03-23  David Hansen  <david.hansen@gmx.net>
-
-       * dbusbind.c (xd_read_message): Remove extra copying of message
-       strings.  Check for NULL `interface' or `member'.
-
-2008-03-22  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32.c (readdir): If FindFirstFile/FindNextFile return in
-       cFileName a file name that includes `?' characters, use the 8+3
-       alias in cAlternateFileName instead.
-
-2008-03-21  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.
-
-2008-03-20  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.
-       (set_point, set_point_both): Use EMACS_INT.  Remove `buffer' arg,
-       work on current_buffer only instead (that was already the case
-       for some of the code anyway).
-       * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.
-       (temp_set_point, temp_set_point_both): Use EMACS_INT.
-       (SET_PT, SET_PT_BOTH): Adjust.
-       * intervals.h (set_point, temp_set_point, set_point_both)
-       (temp_set_point_both): Remove redundant declarations.
-
-2008-03-20  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * fileio.c (Finsert_file_contents):
-       * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.
-       * buffer.h (BUF_SET_PT): Remove.  set_point_both doesn't work right
-       when buffer != current_buffer anyway.
-
-2008-03-20  Andreas Schwab  <schwab@suse.de>
-
-       * callint.c (Fcall_interactively) [case 'B']: Use other-buffer
-       as default.
-
-2008-03-19  Jason Rumney  <jasonr@gnu.org>
-
-       * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
-       (syms_of_w32fns): Initialize them.
-       (HOURGLASS_ID): New constant.
-       (x_window_to_frame): Don't check hourglass_window.
-       (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.
-       (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.
-       (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.
-       (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.
-       Only change the cursor if hourglass is not active.
-       (Fx_create_frame): Initialize frame's current_cursor.
-       (hourglass_atimer): Remove.
-       (hourglass_started): New function.
-       (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.
-       (show_hourglass): Adapt to w32, changing argument to frame.
-
-       * w32term.h (struct w32_output): Remove hourglass_window.
-       Add current_cursor.
-
-       * eval.c (call_debugger, Fsignal):
-       * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)
-       (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)
-       (Fexecute_extended_command, cancel_hourglass_unwind):
-       * minibuf.c (read_minibuf):
-       * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.
-
-2008-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * window.c (run_funs): New fun.
-       (run_window_configuration_change_hook): Use it to run the buffer-local
-       and the global part of the hook.
-
-       * xdisp.c (format_mode_line_unwind_data): Add window argument.
-       (unwind_format_mode_line): Restore selected window.
-       (x_consider_frame_title, Fformat_mode_line): Set selected window.
-
-2008-03-17  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * editfns.c (Fchar_equal): Check they are valid characters.
-
-       * buffer.h (Fbuffer_list): Declare (for use in callint.c).
-
-2008-03-17  Andreas Schwab  <schwab@suse.de>
-
-       * regex.c (re_match_2_internal): Properly match raw 8-bit bytes
-       against a charset.
-
-       * lisp.h (Fbuffer_list): Declare.
-
-2008-03-17  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if
-       handlebox_widget is != 0.
-
-2008-03-16  Juri Linkov  <juri@jurta.org>
-
-       * callint.c (Fcall_interactively): For interactive code letters
-       'b' and 'B' put the buffer list into the list of default "future"
-       values of the minibuffer.
-
-2008-03-16  Andreas Schwab  <schwab@suse.de>
-
-       * keyboard.c (read_key_sequence): Fix downcasing of letters with
-       modifiers.
-
-       * regex.c (re_match_2_internal): Correct matching of a charset
-       against latin-1 characters.
-
-2008-03-16  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)
-       (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.
-       (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.
-       (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.
-       (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of
-       CHAR_STRING_ADVANCE.
-       (produce_chars): Fix for the case that the source and the
-       destination are the same buffer.  Use CHAR_STRING_ADVANCE_NO_UNIFY
-       instead of CHAR_STRING_ADVANCE.
-       (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of
-       STRING_CHAR_ADVANCE.
-
-2008-03-15  Andreas Schwab  <schwab@suse.de>
-
-       * regex.c (re_match_2_internal): Correct matching of eight bit
-       characters in unibyte strings.
-
-2008-03-15  Martin Rudalics  <rudalics@gmx.at>
-
-       * buffer.c (overlays_in, Foverlays_in): Include empty overlays
-       at end of range when it coincides with the end of the buffer.
-
-2008-03-14  Eli Zaretskii  <eliz@gnu.org>
-
-       * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.
-
-       * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.
-
-2008-03-14  Jason Rumney  <jasonr@gnu.org>
-
-       * editfns.c (initial_tz): New variable.
-       (syms_of_editfns): Initialize it.
-       (Fset_time_zone_rule): Set it when first called.
-       Use it when TZSTRING is nil.
-
-       * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)
-       (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.
-       (monitor_from_point_fn, get_monitor_info_fn): New globals.
-       (globals_of_w32fns): Initialize them.
-       (compute_tip_xy): Use them to position tooltips.
-
-2008-03-14  Glenn Morris  <rgm@gnu.org>
-
-       * emacs.c (main): Revert previous change.
-       (standard_args): Revert -internal-script back to -scriptload,
-       and remove the long-option form.
-
-2008-03-13  Glenn Morris  <rgm@gnu.org>
-
-       * emacs.c (main, standard_args): Rename -scriptload to -internal-script.
-       Remove option -enable-font-backend.
-
-2008-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.
-
-2008-03-11  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * xterm.c (x_connection_closed): For GTK: If this is the last
-       terminal just exit without closing the display.
-
-2008-03-11  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (w32font_full_name): Use floor to round.
-
-2008-03-10  dhruva  <dhruvakm@gmail.com>  (tiny change)
-
-       * sound.c (alsa_configure): Declare vol at beginning of block.
-
-       * fontset.c (Ffontset_info): Remove extra semicolon.
-
-2008-03-10  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum
-       size of resulting string.
-
-2008-03-10  Jason Rumney  <jasonr@gnu.org>
-
-       * dispnew.c (adjust_glyph_matrix): Initialize window_height.
-
-2008-03-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.
-       Don't pretend as if characters with display property haven't been
-       consumed for string-replacing-string case.
-
-2008-03-08  Kim F. Storm  <storm@cua.dk>
-
-       * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.
-       (get_next_display_element, next_element_from_string)
-       (next_element_from_ellipsis, next_element_from_buffer): Use it.
-
-2008-03-08  Andreas Schwab  <schwab@suse.de>
-
-       * process.h (struct Lisp_Process): Declare bit fields as unsigned.
-
-2008-03-06  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (w32_registry): Take font_type argument.  Use ANSI
-       when charset not specified.  Only translate ANSI to unicode when
-       font_type is truetype.
-       (w32font_coverage_ok): New function.
-       (add_font_entity_to_list): Use it to filter unsuitable fonts.
-
-2008-03-05  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * lread.c (Fread_char): Resolve modifiers.
-       (Fread_char_exclusive): Likewise.
-
-       * character.c (char_resolve_modifier_mask): New function.
-       (char_string): Use char_resolve_modifier_mask.
-       (Fchar_resolve_modifiers): New function.
-       (syms_of_character): Declare Fchar_resolve_modifiers as Lisp
-       function.
-
-2008-03-04  Jason Rumney  <jasonr@gnu.org>
-
-       * makefile.w32-in: Always include w32font.c in the build.
-       * w32font.c: Wrap in USE_FONT_BACKEND conditional.
-
-2008-03-04  Andreas Schwab  <schwab@suse.de>
-
-       * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.
-       (versionclean): Likewise.
-
-2008-03-04  Juanma Barranquero  <lekktu@gmail.com>
-
-       * .cvsignore: Add oo.
-
-2008-03-03  Andreas Schwab  <schwab@suse.de>
-
-       * coding.c (decode_coding_object): Inhibit gap shrinking while
-       decoding in place.
-
-2008-03-03  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * w32term.c: Remove unused include "gnu.h".
-       * makefile.w32-in (w32term.o): Don't depend on gnu.h.
-
-       * gnu.h: Rename to ...
-       * emacs-icon.h: ... this.
-       * xterm.c: Use emacs-icon.h instead of gnu.h.
-       * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.
-
-2008-03-03  Juanma Barranquero  <lekktu@gmail.com>
-
-       * w32font.c: Include math.h.
-
-2008-03-03  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.
-       Compute options separately.
-       (w32font_open_internal): Set glyph_idx before caching metrics.
-
-       * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):
-       Define if system headers don't.
-       (struct w32font_info): Enlarge ascii_metrics.  Add glyph_idx.
-       (w32font_encode_char): Don't declare here.
-
-       * w32font.c (Quniscribe, QCformat): New symbols.
-       (syms_of_w32font): Define them.
-       (w32font_has_char): Indicate uncertainty.
-       (w32font_encode_char): Encode as glyph point.  Make static.
-       (recompute_cached_metrics): New function.
-       (w32font_open_internal): Use it.  Set font to use glyph points
-       initially.  Set format based on type of font.
-       (w32font_text_extents, w32font_draw): Optionally use glyph points.
-       (w32_enumfont_pattern_entity): Accept backend arg.  Set type based
-       on it.  Set format based on information available here.
-       (add_font_entity_to_list): Identify backend based on opentype_only.
-
-2008-03-02  Andreas Schwab  <schwab@suse.de>
-
-       * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.
-
-       * coding.c (decode_coding_big5, produce_chars):
-       Fix typos in last change.
-
-2008-03-02  Kentaro Ohkouchi  <nanasess@fsm.ne.jp>
-
-       * gnu.h: New icon.
-
-2008-03-02  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (decode_coding_utf_8): When eol-type of CODING is
-       `dos', don't decode '\r' if that is the last in the source.
-       (decode_coding_utf_16, decode_coding_emacs_mule)
-       (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
-       (decode_coding_raw_text, decode_coding_charset): Likewise.
-       (produce_chars): Don't decode EOL here.  Use EMACS_INT.
-
-2008-03-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (w32font_full_name): Report point size for scalable fonts.
-
-2008-03-01  Kim F. Storm  <storm@cua.dk>
-
-       * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.
-
-2008-03-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (w32font_full_name): New function.
-       (w32font_open_internal): Use it.
-
-2008-03-01  Kim F. Storm  <storm@cua.dk>
-
-       * dispnew.c (line_draw_cost): Fix invalid glyph check.
-
-2008-03-01  Jason Rumney  <jasonr@gnu.org>
-
-       * font.c (font_unparse_fcname): Increase len when style is a symbol.
-
-2008-03-01  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call
-       xg_frame_resized when the event is for the edit widget.
-
-       * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.
-
-       * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or
-       set_char_size.
-       (xg_frame_resized): Renamed from xg_resize_widgets.  Remove all
-       operations on widgets here.  Just set frame size if needed.
-       (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.
-       (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.
-       (x_wm_set_size_hint): Set size hints on the edit widget only, not
-       the whole frame.
-       (xg_create_tool_bar): Move attachment of the tool bar to
-       xg_pack_tool_bar.  Do not attach the tool bar if there are no items.
-       (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.
-
-2008-03-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32fns.c (w32_msg_pump): Disable debug code.
-
-2008-03-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.
-
-2008-02-29  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xdisp.c (next_overlay_string): Don't set
-       overlay_strings_at_end_processed_p if we're currently reading from
-       a display string.
-
-2008-02-29  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * xdisp.c (get_overlay_strings_1): Fix typo.
-
-2008-02-29  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xdisp.c (get_overlay_strings_1): Add missing argument type.
-
-2008-02-28  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.
-
-       * xdisp.c (display_mode_element): Cancel the previous change.
-       (decode_mode_spec): Likewise.
-       (handle_auto_composed_prop): Don't make composition if it->string
-       is a string.
-
-2008-02-27  Kim F. Storm  <storm@cua.dk>
-
-       * lisp.h (GLYPH): Change type from int to struct with separate char
-       and face_id members.
-       (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.
-       (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.
-       (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...
-       (GLYPH_CHAR, GLYPH_FACE): ... these.  Change users.
-       (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove.  Rewrite users to use ...
-       (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.
-       (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)
-       (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to
-       handle new Lisp glyph code encoding, either an integer or a cons.
-
-       * disptab.h (GLYPH_SIMPLE_P): Rewrite.
-       (GLYPH_ALIAS): Delete.
-       (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.
-       (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.
-       (GLYPH_FROM_CHAR): Replace macro by ...
-       (SET_GLYPH_FROM_CHAR): ... this macro.  Change users.
-
-       * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.
-       (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...
-       (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro.  Change users.
-       (GLYPH_INVALID_P): New macro.
-       (spec_glyph_lookup_face): Update prototype.
-
-       * dispnew.c (line_draw_cost): Adapt to new glyph type.
-       (build_frame_matrix_from_leaf_window): Adapt to new glyph type and
-       new glyph code encoding.
-       (spec_glyph_lookup_face): No return value; update passed glyph instead.
-       (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.
-
-       * xdisp.c (get_next_display_element, next_element_from_display_vector):
-       Adapt to new glyph type and new glyph code encoding.
-
-       * term.c (encode_terminal_code, produce_special_glyphs): Likewise.
-
-       * indent.c (current_column, current_column_1, Fmove_to_column)
-       (compute_motion): Adapt to new glyph code encoding.
-
-       * msdos.c (IT_write_glyphs): Adapt to new glyph type.
-
-2008-02-27  Chong Yidong  <cyd@stupidchicken.com>
-
-       * process.c (wait_reading_process_output): Check for window
-       changes caused by timers.
-       Suggested by Johan Bockgård.
-
-2008-02-27  Glenn Morris  <rgm@gnu.org>
-
-       * emacs.c (USAGE1): Add `--disable-font-backend'.
-
-2008-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * fileio.c (Finsert_file_contents): Don't reset undo_list if no change
-       is made to the buffer.
-
-2008-02-26  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * dispextern.h (face_at_buffer_position, face_for_overlay_string)
-       (face_at_string_position):
-       * xfaces.c (face_at_buffer_position, face_for_overlay_string)
-       (face_at_string_position):
-       * xdisp.c (display_string, next_overlay_change):
-       * buffer.h (overlays_at):
-       * buffer.c (overlays_at): Use EMACS_INT for buffer positions.
-       Update callers.
-
-2008-02-26  Chong Yidong  <cyd@stupidchicken.com>
-
-       * editfns.c (Fformat): Doc fix.
-
-2008-02-26  Juanma Barranquero  <lekktu@gmail.com>
-
-       * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.
-       (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)
-       (Ffont_otf_alternates, Fquery_font): Doc fixes.
-
-2008-02-25  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * buffer.c (Fbuffer_swap_text): New function.
-       (syms_of_buffer): Defsubr it.
-
-2008-02-25  Chong Yidong  <cyd@stupidchicken.com>
-
-       * keyboard.c (command_loop_1): Revert 2006-10-09 change.
-
-2008-02-25  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (w32font_draw): Draw one character at a time when padding.
-
-2008-02-25  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * window.c (Fdelete_window, Fadjust_window_trailing_edge):
-       Handle a nil arg.  Use run_window_configuration_change_hook.
-       (delete_window, adjust_window_trailing_edge): Don't handle nil any more.
-       (Fenlarge_window, Fshrink_window, Fset_window_configuration):
-       Use run_window_configuration_change_hook.
-
-2008-02-25  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least
-       1-pixel width.
-
-2008-02-25  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.
-       (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1
-       if the glyph in the font is zero pixel with.
-
-       * dispextern.h (struct glyph_string): New member padding_p.
-
-       * w32font.c (w32font_draw): Pay attention to s->padding_p.
-
-       * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.
-
-       * xfont.c (xfont_draw): Pay attention to s->padding_p.
-
-       * xftfont.c (xftfont_draw): Pay attention to s->padding_p.
-
-       * font.c: If the font driver doesn't have `shape' function, return Qnil.
-
-2008-02-25  Jason Rumney  <jasonr@gnu.org>
-
-       * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.
-
-2008-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       Allow fine-grained image-cache flushing.
-       * dispextern.h (struct image): Add `dependencies' field.
-       (clear_image_caches): Change arg to Lisp_Object.
-       * image.c (make_image): Initialize `dependencies' field.
-       (clear_image_cache): Change arg to allow fine-grained flushing.
-       Perform the flush even if image-cache-eviction-delay is nil.
-       (clear_image_caches): Change arg to Lisp_Object.
-       (Fclear_image_cache): Expand meaning of the argument.
-       (mark_image): Mark `dependencies' field.
-       * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.
-       (lface_hash): Use XHASH rather than XFASTINT.
-       (face_at_buffer_position): Fix int -> EMACS_INT position.
-       * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.
-       (select_frame_for_redisplay): Remove code duplication.
-       (redisplay_internal): Adapt arg to call to clear_image_caches.
-
-2008-02-24  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * s/vms4-0.h:
-       * s/vms4-2.h:
-       * s/vms4-4.h:
-       * s/vms5-5.h: Remove, unused.
-
-       * s/irix5-2.h:
-       * s/irix6-0.h:
-       * s/riscos5.h:
-       * s/mach-bsd4-3.h:
-       * m/mips4.h: Remove files for obsolete systems.
-
-       * Makefile.in:
-       * filelock.c:
-       * unexmips.c:
-       * m/hp9000s300.h:
-       * m/iris4d.h:
-       * s/aix3-1.h:
-       * s/hpux.h:
-       * s/msdos.h:
-       * s/usg5-0.h:
-       * s/usg5-2-2.h:
-       * s/usg5-2.h:
-       * s/usg5-3.h: Remove references to obsolete variables.
-
-       * s/irix5-0.h: Remove, move all the contents ...
-       * s/irix6-5.h: ... here.  Simplify.
-       * config.in: Regenerate.
-
-2008-02-24  Jason Rumney  <jasonr@gnu.org>
-
-       * w32term.c (x_draw_glyph_string_background): Clear the background
-       manually when cleartype is in use.
-       (x_draw_glyph_string_foreground): Draw text transparently when
-       cleartype is in use.
-
-       * w32font.c (w32font_text_extents): Avoid getting HDC and selecting
-       a font into it unless we have to.
-
-2008-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * intervals.h (INT_LISPLIKE): Remove.  It may misfire.
-       (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.
-
-2008-02-18  Jason Rumney  <jasonr@gnu.org>
-
-       * w32fns.c (Fw32_shell_execute): Encode parameters.
-
-2008-02-09  Eli Zaretskii  <eliz@gnu.org>
-
-       * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.
-
-2008-02-05  Juanma Barranquero  <lekktu@gmail.com>
-
-       * unexhp9k800.c (read_header): Replace `legal' with `valid'.
-
-2008-02-24  Ulrich Neumerkel  <ulrich@complang.tuwien.ac.at>  (tiny change)
-
-       * xterm.c (x_set_offset): Don't change the gravity if
-       CHANGE_GRAVITY is -1.
-
-2008-02-23  Chong Yidong  <cyd@stupidchicken.com>
-
-       * fileio.c (auto_save_error_occurred): New var.
-       (auto_save_error): Set it.
-       (Fdo_auto_save): Don't overwrite the error message if an auto-save
-       error occurred.
-
-2008-02-23  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32.c (globals_of_w32): Add initializations for
-       g_b_init_get_sid_sub_authority and
-       g_b_init_get_sid_sub_authority_count.
-
-2008-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.
-       (font_parse_xlfd): Use them for sanity check.
-       (Finternal_set_font_style_table): Make sure the table is bijective.
-
-       Consolidate the image_cache to the terminal struct.
-       * termhooks.h (P_): Remove redundant def.
-       (struct terminal): New field `image_cache'.
-       * frame.h (FRAME_IMAGE_CACHE): New macro.  Use it everywhere in place
-       of FRAME_X_IMAGE_CACHE.
-       * xterm.h (struct x_display_info): Remove image_cache field.
-       (FRAME_X_IMAGE_CACHE): Remove.  Use FRAME_IMAGE_CACHE instead.
-       * w32term.h (struct w32_display_info): Remove image_cache field.
-       (FRAME_X_IMAGE_CACHE): Remove.  Use FRAME_IMAGE_CACHE instead.
-       * macterm.h (struct mac_display_info): Remove image_cache field.
-       (FRAME_X_IMAGE_CACHE): Remove.  Use FRAME_IMAGE_CACHE instead.
-       * xterm.c (x_term_init):
-       * w32term.c (w32_term_init):
-       * macterm.c (mac_term_init): Set the image_cache in the terminal.
-       * dispextern.h (clear_image_cache, forall_images_in_image_cache):
-       Remove declarations.
-       (clear_image_caches, mark_image_cache): New declarations.
-       * xfaces.c (clear_face_cache):
-       * xdisp.c (redisplay_internal): Use clear_image_caches.
-       * image.c (clear_image_cache): Don't check that a frame is on
-       a window-system before checking if it shares the same cache.
-       (clear_image_caches): New function.
-       (Fclear_image_cache): Use it.
-       (mark_image): Move from allo.c.
-       (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.
-       * alloc.c (mark_image, mark_image_cache): Move to image.c.
-       (mark_object): Don't call mark_image_cache for frames.
-       (mark_terminals): Call mark_image_cache.
-
-       * lisp.h (Fdelete_terminal): Declare.
-
-       * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)
-       (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of
-       wrong_type_argument.
-
-2008-02-22  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * Makefile.in (lisp): Remove devanagari.el, kannada.el,
-       malayalam.el, and tamil.el.  Add sinhala.el.
-
-2008-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * xterm.c (x_connection_closed): Consolidate identical tests.
-       (x_delete_terminal): Don't crash if called via x_connection_closed.
-
-2008-02-21  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * xdisp.c (decode_mode_spec): New arg string.
-       (display_mode_element): Adjust for the above change.
-
-2008-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * callint.c (Fcall_interactively): Use AREF.
-
-2008-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.
-
-2008-02-18  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * xfns.c (Fx_show_tip): Set string to " " if empty.
-
-2008-02-17  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive
-       with Qt.
-
-2008-02-17  Kenichi Handa  <handa@m17n.org>
-
-       * ftfont.c (ftfont_shape): Return Lispy number.
-
-       * xfaces.c (prepare_face_for_display): Use display_info->font->fid
-       for GCs.
-       (Finternal_set_font_selection_order): Call font_update_sort_order
-       only when enable_font_backend is set.
-       (realize_x_face): Set face->font_info to that of default face only
-       when enable_font_backend is set.
-
-       * xdisp.c (handle_composition_prop): Set it->c to the fist
-       character of the composed region.
-       (fill_composite_glyph_string): Set base_face->font_info to
-       s->font_info.  Get a face for ascii from base_face->ascii_face.
-       (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string
-       with a face already decided.
-       (x_produce_glyphs): Be sure to set it->ascent and it->descent to
-       non-negative.
-       (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,
-       call font_prepare_composition unconditionally.
-
-       * xfns.c (x_make_gc): Use the default font id of the frame for GCs.
-
-       * xterm.h (struct x_display_info): New member font.
-
-       * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.
-       (x_set_mouse_face_gc, x_new_font): Likewise.
-       (x_term_init): Setup display_info->font.
-       (x_delete_terminal): Free display_info->font.
-
-       * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.
-
-       * ftxfont.c (ftxfont_default_fid): Delete it.
-       (ftxfont_open): Set xfont->fid to 0.
-       (ftxfont_end_for_frame): Clear data specific to the frame and the
-       font-driver.
-
-       * xftfont.c (xftfont_default_fid): Delete it.
-       (xftfont_open): Set xfont->fid to 0.
-
-       * fontset.c (FONTSET_OBJLIST): New macro.
-       (fontset_find_font): Update font-object list of the fontset.
-       (free_realized_fontset): New function.
-       (free_face_fontset): Call free_realized_fontset.
-       (Ffont_info): Call font_close_object only when enable_font_backend
-       is set.
-
-       * font.c [HAVE_X_WINDOWS]: Include xterm.h.
-       [HAVE_NTGUI]: Include w32term.h.
-       [MAC_OS]: Include macterm.ch.
-       (font_otf_ValueRecord): Use make_number.
-       (font_finish_cache): Fix handling of reference count.
-       (font_clear_cache): Update num_fonts.
-       (font_open_entity): Update smallest_char_width and
-       smallest_font_height of the frame.
-       (font_close_object): Update num_fonts.
-       (Fclear_font_cache): Fix finding the target cache data.
-
-2008-02-16  Glenn Morris  <rgm@gnu.org>
-
-       * fontset.c (Finternal_char_font): Fix compilation warning.
-
-2008-02-16  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP
-       instead of char arrays.  Enlarge the size of array passed to
-       get_token_information.
-
-       * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation
-       warnings.
-
-2008-02-15  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * .gdbinit: Don't set `args', it breaks gdb --args.
-
-2008-02-14  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * fileio.c (Finsert_file_contents): Adjust offsets when replacing
-       within a narrowed buffer.
-
-2008-02-14  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * coding.c (decode_coding_object, encode_coding_object):
-       Preserve Vdeactivate_mark.  Delete unnecessary call of Fcurrent_buffer.
-
-2008-02-12  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * coding.c (coding_set_destination): Use BEG_BYTE rather than
-       hardcoding 1.
-       (detect_coding_system):
-       * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)
-       (string_char_to_byte, string_byte_to_char, insert_from_gap):
-       * insdel.c (insert_from_gap):
-       * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
-       (string_char_to_byte, string_byte_to_char, string_make_multibyte)
-       (string_to_multibyte):
-       * character.c (chars_in_text, multibyte_chars_in_text):
-       * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.
-
-       * character.h (FETCH_STRING_CHAR_ADVANCE)
-       (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)
-       (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.
-       (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.
-
-       * casefiddle.c (casify_region): Only call after-change and composition
-       functions on the part of the region that was changed.
-
-       * keyboard.c (read_avail_input):
-       * frame.c (Fdelete_frame): Call Fdelete_terminal.
-
-2008-02-11  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
-       (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.
-
-2008-02-11  Juanma Barranquero  <lekktu@gmail.com>
-
-       * w32menu.c (push_submenu_start, push_submenu_end)
-       (push_left_right_boundary, push_menu_pane, push_menu_item):
-       * keyboard.c (read_key_sequence): Don't pass args with side effects
-       to AREF, it fails when compiling with -DENABLE_CHECKING.
-
-2008-02-11  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * Makefile.in (${lispsource}international/charprop.el):
-       Delete this target.
-
-       * search.c (boyer_moore): Fix incorrect synching of the trunk and
-       emacs-unicode-2.
-
-2008-02-11  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * terminal.c (Fdelete_terminal): Clean up the `force' path.
-
-2008-02-10  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * frame.c (Qnoelisp): New symbol.
-       (syms_of_frame): Initialize it.
-       (Fdelete_frame): Use it to distinguish a mere `force' passed from some
-       harmless Elisp code, from a strong `force' from x_connection_closed.
-       * frame.h (Qnoelisp): Declare.
-       * xterm.c (x_connection_closed): Pass `noelisp'.
-
-       * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)
-       (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)
-       (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type
-       rather than `int' for the type of `type'.
-
-2008-02-10  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.
-
-       * Makefile.in (GNUC): Remove support for gcc-1.x.
-
-2008-02-10  Richard Stallman  <rms@gnu.org>
-
-       * lisp.h (ASET): Use AREF, not ASLOT.
-
-2008-02-10  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * lisp.h (ASET): Check bounds.
-
-2008-02-10  Glenn Morris  <rgm@gnu.org>
-
-       * buffer.c (mode-name): Doc fix.
-
-2008-02-09  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * Makefile.in:
-       * emacs.c:
-       * gmalloc.c:
-       * keyboard.c:
-       * lisp.h:
-       * m/ibm370aix.h:
-       * process.c:
-       * regex.c:
-       * s/hpux.h:
-       * sysdep.c:
-       * sysselect.h:
-       * systty.h:
-       * unexec.c:
-       * w32term.c:
-       * xsmfns.c:
-       * xterm.c: Remove code that deals with obsolete variables.
-
-       * s/msdos.h (DONT_NEED_ENVIRON): Don't define.
-
-       * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,
-       nothing else needs it anymore.
-
-2008-02-09  Eli Zaretskii  <eliz@gnu.org>
-
-       * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table
-       instead of unibyte_char_to_multibyte.
-
-2008-02-09  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * s/gnu-linux.h: Remove commented out code.
-
-       * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.
-
-       * Makefile.in: Update what RMS says about using autoconf.
-       (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.
-       (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)
-       (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)
-       (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.
-
-2008-02-08  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * keymap.c (Fkey_description): Move side effect outside of macro call.
-
-       * xfaces.c (Finternal_make_lisp_face):
-       * keyboard.c (add_command_key, parse_menu_item): Use ASET.
-
-       * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.
-       (syms_of_fontset): Use ASET.
-
-       * fns.c (concat): Move side effect outside of macro call.
-       (hash_clear): Use ASET.
-
-2008-02-08  Richard Stallman  <rms@gnu.org>
-
-       * frame.c (Fdelete_frame): If FORCE, don't call hooks.
-       If FORCE, and frame has a surrogate minibuffer for another frame,
-       delete the other frame first.
-
-2008-02-07  Timo Savola  <timo.savola@iki.fi>
-
-       * xterm.c (x_detect_focus_change): Handle embed client message.
-       (handle_one_xevent): Ditto.
-       (handle_one_xevent): If embedded and we get a button press/release,
-       request focus.
-       (xembed_set_info, xembed_send_message): New functions.
-       (x_make_frame_visible): Call xembed_set_info if embedded.
-       (x_make_frame_invisible): Call xembed_set_info if embedded.
-       (x_term_init): Initialize Xatom_XEMBED.
-       (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.
-       (x_iconify_frame): Ditto.
-
-       * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.
-       (enum xembed_info, enum xembed_message, enum xembed_focus)
-       (enum xembed_modifier, enum xembed_accelerator): New.
-       (xembed_set_info, xembed_send_message): Declare.
-       (FRAME_X_EMBEDDED_P): New.
-
-       * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call
-       gtk_plug_new.
-
-       * xfns.c (Fx_create_frame): Do not override the explicitly set parent
-       window ID of a frame.
-       (x_window): Reparent frame if embedded.
-       (Fx_create_frame): Don't set border width if embedded.
-
-       * emacs.c (USAGE3): Add --parent-id.
-       (standard_args): Ditto.
-
-2008-02-07  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".
-
-2008-02-07  Jim Meyering  <meyering@redhat.com>
-
-       Use "do...while (0)", not "if (1)...else" in macro definitions.
-       The latter provokes a warning from gcc about the empty else, when
-       followed by ";".  Also, without that trailing semicolon, it would
-       silently swallow up any following statement.
-       * syntax.h (SETUP_SYNTAX_TABLE)
-       (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.
-       * buffer.h (DECODE_POSITION): Likewise.
-       * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
-       (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.
-       (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.
-       (FETCH_CHAR_ADVANCE): Likewise.
-       (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.
-
-2008-02-07  Jim Meyering  <meyering@redhat.com>
-
-       * lread.c [lint]: Don't include <sys/inode.h>.
-
-2008-02-07  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * xselect.c (x_handle_dnd_message):
-       * xmenu.c (digest_single_submenu, xmenu_show):
-       * xdisp.c (with_echo_area_buffer_unwind_data)
-       (format_mode_line_unwind_data, unwind_format_mode_line)
-       (display_menu_bar):
-       * eval.c (Ffetch_bytecode):
-       * doc.c (store_function_docstring):
-       * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)
-       (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):
-       * buffer.c (add_overlay_mod_hooklist): Use ASET.
-
-2008-02-07  Kenichi Handa  <handa@m17n.org>
-
-       * ftxfont.c (ftxfont_open): Don't set
-       dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.
-
-       * ftfont.c (ftfont_open): Fix previous change.
-
-2008-02-06  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (w32font_text_extents): Fill in lbearing metric.
-       Use cached metrics for ASCII characters.
-       (w32font_open_internal): Don't set font's owning_frame.
-       Cache metrics for ASCII characters.
-
-       * w32font.h (struct w32font_info): Add ascii_metrics.
-       Remove owning_frame.
-
-2008-02-06  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent
-       to negative value.
-
-       * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.
-
-       * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.
-
-       * charset.c (syms_of_charset): Set QCtest and Qeq.
-
-2008-02-06  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * process.c (Fstart_process):
-       * callproc.c (Fcall_process): Handle the case where
-       Funhandled_file_name_directory returns nil.
-
-       * font.h (enum lgstring_indices, enum lglyph_indices): New enums.
-       (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.
-       * font.c (check_gstring): Use them and AREF to access the vector before
-       we know it's really a gstring.
-       (Ffont_shape_text): Fix typo.
-       (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.
-
-       * composite.h (Fcompose_region_internal, Fcompose_string_internal):
-       Declare.
-
-       * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.
-
-2008-02-05  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.
-       Set smallest_font_height and smallest_char_width in display info.
-
-2008-02-05  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * coding.c (decode_eol): Pay attention to coding->dst_multibyte.
-
-2008-02-05  Miles Bader  <miles@gnu.org>
-
-       * xfaces.c (get_lface_attributes, merge_named_face)
-       (lookup_named_face, lookup_derived_face, realize_named_face):
-       Revert 2008-02-01 change by cyd@stupidchicken.com.
-
-2008-02-04  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * fontset.c (Ffontset_info): Handle the case of inhibitting the
-       fallback fonts.
-       (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.
-
-2008-02-04  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (w32font_open_internal): Use font_unparse_fcname to
-       set full_name.
-       (w32font_open_internal): Use xmalloc, xrealloc, xfree.
-
-2008-02-03  Jason Rumney  <jasonr@gnu.org>
-
-       * makefile.w32-in (OBJ1): Include font.o here.
-       (FONTOBJ) [USE_FONTBACKEND]: Instead of here.
-
-2008-02-02  Jason Rumney  <jasonr@gnu.org>
-
-       * makefile.w32-in (temacs): Bump EMHEAP to 21.
-
-2008-02-01  Jason Rumney  <jasonr@gnu.org>
-
-       * s/cygwin.h: Define VIRT_ADDR_VARIES.
-
-       * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.
-
-2008-02-01  Andreas Schwab  <schwab@suse.de>
-
-       * Makefile.in (shortlisp, lisp): Update for rename of
-       ../lisp/language/myanmar.el.
-
-2008-02-01  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xfaces.c (get_lface_attributes): Delete function.
-       (merge_named_face, lookup_named_face, lookup_derived_face)
-       (realize_named_face): Call lface_from_face_name directly, and use
-       the fact that merge_face_vectors does not alter its FROM argument.
-
-2008-02-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode
-       input in the default locale.  Handle non-Unicode multibyte input.
-
-2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * fontset.c (reorder_font_vector): Exclude nil elements from the
-       font group.  Don't try multiple fonts.
-       (fontset_font): Adjust for the above change.
-       (Finternal_char_font): Return nil if the found font doesn't
-       contain the character ch.
-
-       * Makefile.in (lisp, shortlisp): Add cham.el.
-
-2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * font.h (FONTP): Make it return 1 also for a font-object.
-
-       * .gdbinit (xfontset): New function.
-
-       * font.c (font_find_for_lface): Check if the character C is
-       supported or not only for the first font.
-
-       * fontset.c (reorder_font_vector): Fix typo.
-       (fontset_find_font): Don't add a font-spec specifying a script.
-       Use 0 (not Qt) for the indication of empty font-group.  Change the
-       format of RFONT-DEF.  Return Qt if no font in the font-group
-       support the character.
-       (fontset_font): Adjust for the above change.  If no font was
-       found the character, remember that.
-       (face_for_char): Adjust for the change of RFONT-DEF.
-       (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify
-       no font for the target.
-       (Finternal_char_font): Adjust for the change of RFONT-DEF.
-
-2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * font.c (font_load_for_face): Handle the case that the font in
-       face->lface is a string.
-
-2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.
-
-2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:
-       Fix previous change.  If the frame is not on a window system,
-       signal an error.
-
-2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * coding.c (decode_coding_object, encode_coding_object): Adjust
-       marker positions after conversion.
-
-       * lisp.h (struct Lisp_Marker): New member need_adjustment.
-
-2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * font.c (font_find_for_lface): Fix the handling of the return
-       value of font_has_char.
-       (Ffont_shape_text): Fix previous change.
-
-       * fontset.c (FONTSET_REF_AND_RANGE): Delete it.
-       (fontset_ref_and_range): Delete it.
-       (fontset_find_font): Call char_table_ref_and_range instead of
-       FONTSET_REF_AND_RANGE.
-       (make_fontset): Don't setup font groups of Latin here.
-       (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.
-       (new_fontset_from_font): Make the specified font the default for
-       all Latin characters.
-
-2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame
-       is on a window system before accessing the fontset of the frame.
-
-2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.
-
-       * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only
-       when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.
-
-       * font.c (Ffont_shape_text): If the font driver doesn't have a
-       shaper function, make zero-width glyphs to have at least one-pixel
-       width.  Fix setting of `to' field of glyphs.
-
-2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of
-       glyphs.
-
-       * font.h (struct font_driver): Improve docstring of member `shape'.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * composite.c (syms_of_composite): Fix docstring of
-       auto-composition-function.
-
-       * font.h (LGLYPH_SIZE): New macro.
-
-       * font.c (Ffont_fill_gstring): Stop filling when a character not
-       supported by the font is found.
-       (Ffont_shape_text): When a shape callback function returns nil,
-       try at most two more times with larger gstring.
-       (Ffont_at): Fix getting of w.  Call font_at with correct 5th argument.
-
-       * xdisp.c (handle_auto_composed_prop): Change the argument to
-       auto-composition-function.
-
-       * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.
-       (ftfont_shape_by_flt): If an element of lgstring is nil, make a
-       Lispy glyph and store it in the lgstring.
-
-       * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.
-
-       * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.
-
-2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * font.c (Ffont_shape_text): Avoid unnecessary composition.
-
-       * fontset.c (Vfont_encoding_charset_alist): New variable.
-       (syms_of_fontset): DEFVAR it.
-       (reorder_font_vector, fontset_find_font): Optimize for the case of
-       no need of reordering.
-       (face_for_char): Map the charset property by
-       Vfont_encoding_charset_alist.
-
-2008-02-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (logfonts_match): Don't check adstyle here.
-       (font_matches_spec): Check here against physical font instead.
-       (add_font_entity_to_list): Avoid some substitutions.
-
-       * font.c (font_parse_fcname): Default weight and slant to normal.
-       (font_score): Prefer normal fonts if weight or slant unspecified.
-       (font_score) [WINDOWSNT]: Scale weight difference down to closer
-       match freetype scores.
-
-2008-02-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (w32font_text_extents): Don't use the frame stored in the
-       font, as it may have been deleted.
-       (w32_enumfont_pattern_entity): Map generic family to adstyle using
-       most common hyphenless variation.
-       (logfonts_match): Check generic family.
-       (font_matches_spec): Don't check generic family here.
-       (fill_in_logfont): Set generic family based on adstyle.
-
-       * w32font.h (w32font_get_cache): Update declaration.
-
-2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * ftfont.c (ftfont_get_cache): Adjust the argument type.
-
-       * frame.c (x_set_font_backend): Don't call Fclear_font_cache.
-       If none of the new drivers are available, call font_update_drivers
-       with the old drivers.
-
-       * w32font.c (w32font_get_cache): Adjust the argument type.
-
-       * xfont.c (xfont_get_cache): Adjust the argument type.
-
-       * font.h (struct font_driver): Change argument type of get_cache.
-
-       * xftfont.c (xftfont_start_for_frame): Delete prototype.
-
-       * font.c (Ffont_get): Fix arguments to Fassoc.
-       (font_prepare_cache, font_finish_cache, font_get_cache): New functions.
-       (font_clear_cache): New function.
-       (font_list_entities, font_matching_entity): Use font_get_cache.
-       (font_update_drivers): Call font_clear_cache when finishing a driver.
-
-       * fontset.c (fontset_find_font): Fix previous change.
-
-2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access
-       dpyinfo->font_table.
-       (x_delete_display) [USE_FONT_BACKEND]: Likewise.
-       (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.
-
-       * font.c (font_at): Handle the case that the arg C is negative.
-       Handle the unibyte case.
-       (Ffont_at): Call font_at with the arg C -1.
-
-       * xdisp.c (handle_auto_composed_prop): Don't get a character at
-       the position here, and call font_at with the arg C -1.
-       Don't check the range of the existing composition at the point.
-
-2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * fontset.c (fontset_add): New args charset_id and family.
-       Change caller.
-       (load_font_get_repertory, fontset_find_font): Assume that
-       font_spec is always a font-spec object.
-       (Fset_fontset_font): Always store a font-spec object in a fontset.
-
-       * xdisp.c (handle_auto_composed_prop): Use Fget_text_property
-       instead of get_property_and_range.
-
-2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * xftfont.c (struct xftfont_info): Delete the member ft_face.
-       (xftfont_open): Don't keep locking face.
-       (xftfont_close): Don't unlock face.
-       (xftfont_anchor_point, xftfont_shape): Lock and unlock face.
-
-       * fontset.c (fontset_find_font): Don't prefer a font of
-       supplementary charset.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * ftfont.c (struct OpenTypeSpec): Rename members script_tag to
-       script, langsys_tag to langsys, new member script.
-       (OTF_TAG_STR): Terminate by '\0'.
-       (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the
-       listing to the script specified in that property.  Fix arg to
-       OTF_check_features.
-
-2008-02-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.h: New file.
-
-       * w32font.c: Include it.
-       (struct w32font_info): Add owning_frame field.  Move to w32font.h.
-       (w32font_open): Set owning_frame.
-       (w32font_text_extents): Use owning_frame.
-       (struct font_callback_data): Add opentype_only field.
-       (add_font_entity_to_list): Use it to filter fonts.
-       Don't check against full name.
-       (w32font_list_internal): New function.
-       (w32font_list): Use it.
-       (w32font_match_internal): New function.
-       (w32font_match): Use it.
-       (w32font_open_internal): New function.
-       (w32font_open): Use it.
-       (w32font_get_cache, w32font_close, w32font_has_char)
-       (w32font_encode_char, w32font_text_extents, w32font_draw):
-       Make non-static.
-
-       * makefile.w32-in (w32font.o): Depend on w32font.h.
-
-2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * charset.c (Fdefine_charset_internal): Record a supplementary
-       charset at the tail of Vcharset_order_list.
-
-       * font.c (Ffont_shape_text): Fix the return value.
-
-       * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.
-
-       * xdisp.c (handle_auto_composed_prop): Fix previous change.
-
-2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * ftfont.c (struct OpenTypeSpec): New struct.
-       (OTF_SYM_TAG, OTF_TAG_STR): New macros.
-       (ftfont_get_open_type_spec): New function.
-       (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.
-
-       * lread.c (read1): Redo the previous change with checking Vpurify_flag.
-
-2008-02-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (add_font_entity_to_list): Compare only the beginning
-       of full name.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xdisp.c (handle_auto_composed_prop): Simplify the code.
-       Never return HANDLED_RECOMPUTE_PROPS.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * font.c (font_gstring_produce): Delete it.
-
-       * composite.h (COMPOSITION_METHOD):
-       Handle COMPOSITION_WITH_GLYPH_STRING.
-
-2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * xfont.c (Qx): Delete.
-       (syms_of_xfont): Don't initialize Qx.
-
-       * composite.h (enum composition_method):
-       Define COMPOSITION_WITH_GLYPH_STRING unconditionally.
-
-2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.
-       (choose_face_font): Accept new form of font-spec.
-
-       * frame.h (font_driver_list): Declare it unconditionally.
-       (struct frame): Define members font_driver_list and font_data_list
-       unconditionally.
-
-       * fontset.c: Include "font.h" unconditionally.
-       (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.
-       (Fset_fontset_font): Accept a font-spec object.
-
-       * font.c (font_unparse_xlfd): If pixel_size is zero, make the
-       PIXEL_SIZE part a wild card.
-
-       * dispextern.h (struct glyph_string): Define members clip and
-       num_clips unconditionally.
-       (struct face): Define members font_info and extra unconditionally.
-
-       * ftfont.c (ftfont_open): Set members maybe_otf and otf of
-       ftfont_info only when HAVE_LIBOTF is defined.
-
-2008-02-01  Andreas Schwab  <schwab@suse.de>
-
-       * xdisp.c (back_to_previous_visible_line_start): Fix type of beg
-       and end.
-
-2008-02-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (w32font_driver): Add new fields.
-
-2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.
-       (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.
-       (LIBES): Add @M17N_FLT_CFLAGS@.
-
-       * composite.c (compose_text): Don't treat the new style
-       composition specially.
-
-       * emacs.c (main): Call syms_of_font unconditionally.
-
-       * font.h (FONT_ENTITY_NOT_LOADABLE)
-       (FONT_ENTITY_SET_NOT_LOADABLE): New macros.
-       (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.
-       (struct font_driver): New member shape.
-       (font_registry_charsets): Extern it.
-       (font_find_for_lface, font_prepare_composition): Adjust prototype.
-       (font_otf_capability, font_drive_otf): Delete their externs.
-
-       * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.
-       (font_charset_alist, font_registry_charsets): Move from xfont.c
-       and rename.
-       (font_prop_validate_otf): New function.
-       (font_property_table): Register it for QCotf.
-       (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)
-       (font_drive_otf): Delete.
-       (font_prepare_composition): New arg F.  Adjust for the change of
-       lispy gstring.
-       (font_find_for_lface): New arg C.
-       (font_load_for_face): Adjust for the change of font_find_for_lface.
-       (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of
-       lispy gstring.
-       (Ffont_shape_text): New function.
-       (Fopen_font): If the font size is not given, use 12-pixel.
-       (Ffont_at): New arg STRING.
-       (syms_of_font): Initalize font_charset_alist.
-       Declare Ffont_shape_text as a Lisp function.  Call syms_of_XXfont
-       conditionally.
-
-       * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple
-       fonts of the same font-spec.  Change the format of RFONT-DEF.
-       (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):
-       Adjust for the change of RFONT-DEF.
-       (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.
-
-       * ftfont.h: New file.
-
-       * ftfont.c: Don't include Freetype headers.  Include "ftfont.h".
-       (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
-       (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.
-       (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set
-       font_otf_capability and font_drive_otf, set ftfont_shape.
-       (ftfont_list): Adjust for the change of :otf property value.
-       (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.
-       (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)
-       (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)
-       (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
-       (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.
-       (otf_gstring, gstring, m17n_flt_initialized): New variables.
-
-       * w32term.c (x_draw_composite_glyph_string_foreground):
-       Adjust for the change of lispy gstring.
-
-       * xdisp.c (handle_composition_prop): Adjust for the change of
-       lispy gstring.  Call a function for auto-composition with the
-       third arg it->window.
-       (fill_composite_glyph_string): Adjust for the change of lispy string.
-       (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.
-
-       * xfaces.c (set_font_frame_param): Adjust for the change of
-       font_find_for_lface.
-
-       * xfont.c (x_font_charset_alist): Move to font.c and rename.
-       (xfont_registry_charsets): Likewise.  Change caller.
-       (syms_of_xfont): Don't handle x_font_charset_alist.
-
-       * xftfont.c: Include "ftfont.h".
-       (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.
-       (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.
-       (xftfont_close) [HAVE_LIBOTF]: Close otf.
-       (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.
-       (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:
-       Set xftfont_driver.shape to xftfont_shape.
-
-       * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
-       the change of lispy gstring.
-
-2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.
-
-2008-02-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (w32font_draw): Fill background manually.
-
-2008-02-01  Jason Rumney  <jasonr@gnu.org>
-
-       * font.c (Qfontp): Remove unused symbol.
-       (QCantialias): New symbol.
-       (syms_of_font): Define it.
-       (font_property_table): Set a validator for QCantialias.
-
-       * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):
-       Define if not already.
-       (QCfamily): Share with xfaces.c.
-       (Qstandard, Qsubpixel, Qnatural): New symbols.
-       (syms_of_w32font): Define them.  Don't define QCfamily here.
-       (w32_antialias_type, lispy_antialias_type): New functions.
-       (w32_enumfont_pattern_entity): New arg requested_font.
-       Set antialias parameter if non-default was requested.
-       (fill_in_logfont): Fill in lfQuality if :antialias specified.
-
-2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * lread.c (read1): Undo the previous change.
-
-2008-02-01  CHENG Gao  <chenggao@gmail.com>  (tiny change)
-
-       * frame.c (Fdelete_frame): Call font_update_drivers only when
-       USE_FONT_BACKEND is defined.
-
-2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * font.h (struct font_bitmap): New member bits_per_pixel.
-       (struct font_driver): New members start_for_frame and end_for_frame.
-       (struct font_data_list): New struct.
-       (font_put_frame_data, font_get_frame_data): Extern them.
-
-       * frame.h (struct frame): New member font_data_list.
-
-       * font.c (font_update_drivers): Call driver->start_for_frame and
-       driver->end_for_frame at proper timings.
-       (font_put_frame_data, font_get_frame_data): New functions.
-       (Ffont_spec): Add usage in the docstring.
-
-       * frame.c (make_frame): Initialize f->font_data_list to NULL.
-       (Fdelete_frame): Call font_update_drivers.
-
-       * xftfont.c (struct xftface_info): Delete the member xft_draw.
-       (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.
-       (xftfont_get_xft_draw): New function.
-       (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.
-       (xftfont_end_for_frame): New function.
-       (syms_of_xftfont): Set xftfont_driver.end_for_frame.
-
-       * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.
-       Change argument.  Cache GCs in the per-frame data.
-       (struct ftxfont_frame_data): New struct.
-       (ftxfont_draw_bitmap): New arg gc_fore and flush.
-       (ftxfont_prepare_face, ftxfont_done_face): Delete them.
-       (ftxfont_draw): Get GCs by ftxfont_get_gcs.  Reflect s->clip in GCs.
-       (ftxfont_end_for_frame): New function.
-       (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.
-
-       * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xselect.c (Vselection_coding_system)
-       (Vnext_selection_coding_system): Delete them.
-       (syms_of_xselect): Don't declare selection-coding-system and
-       next-selection-coding-system.  They are declared in select.el.
-
-2008-02-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.
-
-       * w32fns.c: Include imm.h.
-       (get_composition_string_fn, get_ime_context_fn): New optional
-       system functions.
-       (globals_of_w32fns): Load them from imm32.dll.
-       (ignore_ime_char): New flag.
-       (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and
-       WM_IME_ENDCOMPOSITION messages.
-
-       * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as
-       MULTIBYTE_CHAR_KEYSTROKE_EVENT.
-
-2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * lread.c (READCHAR): Call readchar with the 2nd arg NULL.
-       (READCHAR_REPORT_MULTIBYTE): New macro.
-       (readchar): New 2nd arg MULTIBYTE.
-       (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.
-       Make symbol's name multibyte according to the multibyteness of the
-       source.
-
-2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * xfaces.c (face_for_overlay_string): Call lookup_face with
-       correct arguments (fix of synching with the trunk).
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * font.c (font_prop_validate_symbol, font_prop_validate_style)
-       (font_prop_validate_non_neg, font_prop_validate_spacing):
-       Delete argument prop_index.
-       (font_property_table): Change arguments to validater.  Change Callers.
-       (font_lispy_object): Delete.
-       (font_at): Use font_find_object instead fo font_lispy_object.
-
-2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * fileio.c (Fexpand_file_name): Adjust multibyteness of directory
-       and file names.
-
-2008-02-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (add_font_name_to_list): Avoid vertical fonts.
-       (font_matches_spec): Remove debug output.
-       (add_font_entity_to_list): Avoid using substituted fonts.
-
-2008-02-01  Jason Rumney  <jasonr@gnu.org>
-
-       * doc.c (Fsnarf_documentation):
-       * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.
-
-2008-02-01  Miles Bader  <miles@gnu.org>
-
-       * dispextern.h (struct glyph_row): Only define "clip" field if
-       HAVE_WINDOW_SYSTEM is defined.
-
-2008-02-01  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       Fix up multi-tty merge.
-
-       * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting
-       and indentation.
-
-       * xfaces.c (free_realized_face, clear_face_gcs):
-       Include font_done_for_face in the input_blocked section, just in case.
-
-       * xdisp.c (decode_mode_spec): Use terminal-local coding systems.
-       (get_char_face_and_encoding): Undo last change and remove the *other*
-       duplicate definition (i.e. keep the one that's better scoped and that
-       includes code for the font-backend).
-
-       * terminal.c (create_terminal): Default keyboard_coding to
-       `no-conversion' and terminal_coding to `undecided'.
-
-       * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.
-
-       * fontset.c (free_realized_fontsets): Check that the table entry does
-       contain a fontset before trying to compare it to `base'.
-
-       * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,
-       syms_of_charset, and syms_of_coding earlier because init_window_once
-       now needs Vcoding_system_hash_table to be setup.
-
-       * coding.h (default_buffer_file_coding): Remove.
-
-       * coding.c (default_buffer_file_coding): Remove.
-       (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather
-       than ->symbol, and use the terminal-local coding system.
-       (syms_of_coding): Don't setup the coding-systems that are not
-       terminal-local.
-       (Fdefine_coding_system_internal): Use XCAR/XCDR.
-
-       * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
-       Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.
-
-       * alloc.c (Fmake_char_table, make_sub_char_table): Remove.  They're now
-       in chartab.c and were re-added here by mistake.
-       (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.
-
-       * doc.c (Fsnarf_documentation):
-       * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from
-       src to etc.
-
-       * ChangeLog.10: Add mistakenly removed entry.
-
-2008-02-01  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * Makefile.in (fringe.o, minibuf.o): Fix dependencies.
-
-2008-02-01  Miles Bader  <miles@gnu.org>
-
-       * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.
-       Add extra args to FACE_FOR_CHAR.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * keymap.c (where_is_internal_1): If key is a cons, store the copy
-       in sequence.
-
-       * chartab.c (map_sub_char_table, map_char_table): If the range
-       contains just one character, call the function with that character
-       even if the depth is not 3.
-
-2008-02-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (w32font_text_extents): Calculate metrics for the
-       whole string.
-
-2008-02-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.
-
-2008-02-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32term.c (x_set_glyph_string_clipping): Use
-       get_glyph_string_clip_rects.
-       (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
-       Adjust for the change of struct glyph_string.
-
-       * w32font.c (w32font_draw): Do clipping here.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xftfont.c (xftfont_draw): Adjust for the change of struct
-       glyph_string.
-
-       * xterm.c (x_set_glyph_string_clipping): Use
-       get_glyph_string_clip_rects.
-       (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):
-       Adjust for the change of struct glyph_string.
-
-       * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to
-       the resulting clip(s}.
-       (expose_overlaps): Add arg r.  Change callers.  Set it to
-       row->clip temporarily.
-       (expose_window): Redraw rows overlapping the exposed area.
-
-       * dispextern.h (struct glyph_row): New member clip.
-       (struct glyph_string): Delete members clip_x, clip_y, clip_width,
-       clip_height, new member clip, and num_clips.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * data.c (Fchar_or_string_p): Fix docstring.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,
-       create a temporary XftDraw object.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * font.c (Ffontp): Fix docstring.
-
-       * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a
-       strong evidence of ISO-2022.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not
-       SYNTAX_ENTRY_FOLLOW_PARENT.
-
-2008-02-01  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change
-       its type.
-       (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
-       Update to the new type of weak_hash_tables and next_weak.
-
-       * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to
-       a plain C pointer to Lisp_Hash_Table.
-
-       * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)
-       (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)
-       (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)
-       (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)
-       (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)
-       (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)
-       (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)
-       (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)
-       (GC_EQ): Remove since they've been identical to their non-GC_
-       alter-egos ever since the markbit was eradicated.
-
-       * alloc.c:
-       * buffer.c:
-       * buffer.h:
-       * data.c:
-       * fileio.c:
-       * filelock.c:
-       * fns.c:
-       * frame.h:
-       * lisp.h:
-       * macterm.c:
-       * print.c:
-       * process.c:
-       * w32fns.c:
-       * w32menu.c:
-       * w32term.c:
-       * xfns.c:
-       * xmenu.c:
-       * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * chartab.c (map_sub_char_table): Make it work for the top-level
-       char-table.  Fix handling of parent char-table.
-       (map_char_table): Adjust for the above change.
-
-2008-02-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (Qgdi): Rename from Qw32.
-
-2008-02-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32bdf.c (get_quoted_string): Make function static.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xftfont.c (xftfont_open): If one of font's ASCII glyph has
-       bigger ascent and descent than those of the font, use them as
-       font's ascent and descent.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * Makefile.in (${lispsource}international/charprop.el): Move this
-       target within "#ifdef HAVE_UNIDATA" and "#endif".
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.
-       (shortlisp): Add ../lisp/language/tai-viet.el.
-
-2008-02-01  Ulrich Mueller  <ulm@gentoo.org>
-
-       * Makefile.in (${lispsource}international/charprop.el): Depend on
-       temacs${EXEEXT}.
-
-2008-02-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (w32font_close): Delete the GDI font object.
-
-       * w32menu.c: Include character.h.
-
-       * w32proc.c: Likewise.
-
-       * w32select.c: Likewise.
-
-       * makefile.w32-in (w32proc.o): Depend on character.h.
-
-2008-02-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32fns.c (syms_of_w32fns): Use DEFSYM macro.
-
-       * w32menu.c (syms_of_w32menu): Likewise.
-
-       * w32proc.c (syms_of_ntproc): Likewise.
-
-       * w32select.c (syms_of_w32select): Likewise.
-
-       * w32term.c (syms_of_w32term): Likewise.
-
-2008-02-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (w32font_draw): Delete brush after using it.
-
-2008-02-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (w32font_open): Don't set font_idx.
-       (w32font_text_extents): Try GetTextExtentPoint32W before defaulting
-       to font settings.
-       (w32font_draw): Fill background explicitly.
-
-2008-02-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32term.c (w32_initialize): Don't call w32font_initialize.
-
-       * w32font.c (w32font_info): Remove subranges.
-       (QCsubranges, Qmodern, Qswiss, Qroman): Remove.
-       (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)
-       (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)
-       (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)
-       (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)
-       (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)
-       (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)
-       (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)
-       (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)
-       (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):
-       New symbols.
-       (font_callback_data): New struct.
-       (w32font_list, w32font_match): Use it.
-       (w32font_open): Don't populate subranges.
-       (w32font_has_char): Use script Lisp symbols, not subrange bitmask.
-       (w32font_encode_char): Always return unicode code-point as-is.
-       (w32font_text_extents): Supply a transformation matrix to
-       GetGlyphOutline.  Never look up by glyph index.  Avoid looping
-       twice.  Use unicode version of GetTexExtentPoint32 instead of
-       glyph index version.
-       (set_fonts_frame): Remove.
-       (w32_enumfont_pattern_entity): Add frame parameter, use it to
-       set frame parameter.  Use backward compatible fake foundries.
-       Save generic family in extra slot under QCfamily.  Make width slot
-       constant.  Save QCspacing value.  Save list of scripts instead of
-       binary subranges.
-       (w32_generic_family, logfonts_match, font_matches_spec): New functions.
-       (add_font_entity_to_list): Use font_callback_data struct.  Filter
-       unwanted fonts.
-       (add_one_font_entity_to_list): Use font_callback_data struct.
-       (w32_registry): Default to iso10646_1.
-       (fill_in_logfont): Use dpi from extra slot.  Don't bother with
-       string font registries.  Don't fill in font name if it is a generic
-       family name, fill family instead.  Use spacing, family and script
-       extra info to fill pitch, family and charset fields.
-       (list_all_matching_fonts): Use font_callback_data struct.
-       (unicode_range_for_char): Remove.
-       (font_supported_scripts): New function.
-       (w32font_initialize): Remove.
-       (syms_of_w32font): Update which symbols are defined.
-
-2008-02-01  Jason Rumney  <jasonr@gnu.org>
-
-       * font.c (font_pixel_size): Reverse assq_no_quit args.
-
-       * w32term.h (FONT_WIDTH): Report max width, not average.
-       (FONT_MAX_WIDTH): Remove.
-       (FONT_AVG_WIDTH): New macro.
-
-       * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only
-       redefinition of FONT_WIDTH.
-
-       * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.
-       (w32_cache_char_metrics): Use FONT_WIDTH.
-
-       * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.
-
-2008-02-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (w32font_open): Make lfHeight negative.
-
-       * w32fns.c (x_default_font_parameter): Use new style font name.
-       (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.
-
-2008-02-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32font.c (QCsubranges): New symbol.
-       (w32font_open, w32font_has_char): Get subranges from subproperty
-       of extra.
-       (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.
-       (syms_of_w32font): Define :subranges symbol.
-
-       * font.c (font_put_extra): Expose externally.
-
-       * font.h (font_put_extra): Move declaration from font.c.
-
-       * font.c (Ffont_get): Use font driver to determine otf capability.
-       (adjust_anchor): Check if driver defines anchor_point before using.
-
-       * w32font.c (w32font_open): Handle size, height and pixel_size better.
-       (w32font_draw): Use options.
-       (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.
-       Fix detection of truetype fonts.
-       (registry_to_w32_charset): Handle charsets other than iso8859-1
-       expressed as lisp symbols.
-       (w32_registry): Express charset as lisp symbol.
-       (fill_in_logfont): Reverse pixel and point height logic.
-       Don't set width here.  Set quality to default.
-
-       * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.
-       (x_to_w32_font): Fill in lfPitchAndFamily correctly.
-
-       * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
-       Remove redundant loop and allocation.
-
-       * makefile.w32-in (font.o, w32font.o): New objects.
-       (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.
-       (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.
-
-       * xdisp.c (fill_composite_glyph_string): Make the first arg to
-       STORE_XCHARB a valid l-value.
-
-       * w32term.c (w32_native_per_char_metric): Swap width and rbearing
-       calculations for non-Truetype fonts.
-       (x_draw_glyph_string): Sync with xterm.c.
-       (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:
-       Remove redundant code.
-       (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.
-
-       * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.
-       (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.
-
-       * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.
-       (x_to_w32_charset, w32_to_x_charset): Expose externally.
-
-       * w32font.c: New file for w32 font backend.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * term.c: Don't include "buffer.h" twice.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * character.c (Funibyte_string): New function.
-       (syms_of_character): Defsubr it.
-
-2008-02-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32term.c [USE_FONT_BACKEND]:
-       (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)
-       (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)
-       (x_draw_glyph_string, x_draw_glyph_string_foreground)
-       (x_draw_composite_glyph_string_foreground, x_new_fontset2)
-       (x_free_frame_resources): Sync with xterm.c.
-
-2008-02-01  Andreas Schwab  <schwab@suse.de>
-
-       * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate
-       char-table size.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * ftfont.c (ftfont_driver): Delete font_otf_gsub and
-       font_otf_gpos, add font_drive_otf.
-
-       * fontset.c (fontset_find_font): Pay attention to font size
-       specified for a font.
-       (reorder_font_vector): Check contents of font_def.
-
-       * font.c (struct otf_list): Delete it.
-       (otf_list): Make it a lisp variable.
-       (otf_open): Use lispy otf_list.
-       (generate_otf_features): Rename from parse_gsub_gpos_spec.
-       (check_otf_features): New function.
-       (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
-       New functions.
-       (font_drive_otf): New function merging font_otf_gsub and
-       font_otf_gpos.
-       (font_open_for_lface): New arg spec.  Change argument order.
-       (font_load_for_face): Adjust for the change of font_open_for_lface.
-       (Ffont_drive_otf): New function merging Ffont_otf_gsub and
-       Ffont_otf_gpos.
-       (syms_of_font): Staticpro otf_list.  Delete defsubr of
-       Sfont_otf_gsub and Sfont_otf_gpos.  Defsubr Sfont_drive_otf.
-
-       * xfaces.c (set_font_frame_param): Adjust for the change of
-       font_open_for_lface.
-
-       * font.h (font_open_for_lface): Adjust prototype.
-       (struct font_driver): Delete members otf_gsub and otf_gpos, add
-       member otf_drive.
-       (font_otf_gsub, font_otf_gpos): Delete externs.
-       (font_drive_otf): Extern it.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * font.c (font_at): If the window W is not on a window system,
-       return Qnil.
-
-       * coding.c (produce_chars, encode_coding): Don't call
-       insert_from_gap if no characters to produce.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * fontset.c (free_realized_fontsets): Avoid unnecessary call of
-       Fclear_face_cache.
-
-       * xfaces.c (face_for_font): Check also face->font==font->font.font.
-
-2008-02-01  Miles Bader  <miles@gnu.org>
-
-       * emacs.c (main): Change default value of `enable_font_backend' to 1.
-       Parse "--disable-font-backend" option.
-       (standard_args): Add "--disable-font-backend" option.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * fontset.c (fontset_find_font): New function.
-       (fontset_font): Use fontset_find_font.
-       (make_fontset_for_ascii_face): Don't set face ID in rfont_def.
-       Register the specified font for all Latin characters.
-       (new_fontset_from_font): Register the specified font for all Latin
-       characters.
-       (dump_fontset): For a realized fontset, include the base fontset
-       name in the returned vector.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * character.h (CHAR_STRING): Cast C to unsigned on calling
-       char_string.
-
-       * character.c (char_string): Type of arg C changed to unsigned.
-       Signal an error if C is an invalid character code.
-
-       * editfns.c (general_insert_function, Fchar_to_string):
-       Use CHARACTERP, not INTEGERP.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * character.h (MIN_MULTIBYTE_LEADING_CODE)
-       (MAX_MULTIBYTE_LEADING_CODE): New macros.
-
-       * regex.c (analyse_first): Fix for multibyte characters in "case
-       charset:" and "case categoryspec:".
-
-2008-02-01  Andreas Schwab  <schwab@suse.de>
-
-       * Makefile.in (LIBES): Move standard libraries to the end.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is
-       nonzero, don't shrink the buffer nextb.
-
-       * buffer.h (struct buffer_text): New member inhibit_shrinking.
-
-       * coding.c (coding_alloc_by_making_gap): New arg offset.
-       (alloc_destination): Call coding_alloc_by_making_gap with the arg
-       offset.
-       (decode_coding_iso_2022): Update coding->safe_charsets.
-       (decode_coding_gap): Temporarily set
-       current_buffer->text->inhibit_shrinking to 1.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xterm.c (x_draw_composite_glyph_string_foreground): Fix
-       indexing into elements of s->cmp and s->char2b.
-
-2008-02-01  Juanma Barranquero  <lekktu@gmail.com>
-
-       * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable
-       target_multibyte instead of multibyte.
-       (re_match_2_internal): Call bcmp_translate with target_multibyte.
-       (bcmp_translate): Change the argument name from multibyte to
-       target_multibyte.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       These changes are to compile a regexp into a pattern that can be
-       used both for multibyte and unibyte targets.
-
-       * Makefile.in (search.o): Depend on charset.h.
-
-       * character.c (multibyte_char_to_unibyte_safe): New function.
-
-       * search.c: Include "charset.h".
-       (compile_pattern_1): Delete argument multibyte.  Don't set
-       cp->buf.target_multibyte here.  Set cp->buf.charset_unibyte.
-       (compile_pattern): Don't compare cp->buf.target_multibyte.
-       Compare cp->buf.charset_unibyte.
-       (compile_pattern): Set cp->buf.target_multibyte.
-
-       * lisp.h (multibyte_char_to_unibyte_safe): Extern it.
-
-       * regex.h (struct re_pattern_buffer): New member charset_unibyte.
-
-       * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg
-       multibyte.  Change callers.
-       (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.
-       (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete.  Change callers
-       to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.
-       (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.
-       (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.
-       (regex_compile): Make the compiled pattern usable both for
-       multibyte and unibyte targets.
-       (analyse_first): Make the fastmap usable both for multibyte and
-       unibyte targets.
-       (TRANSLATE_VIA_MULTIBYTE): Delete.
-       (re_match_2_internal): Pay attention to the case that the
-       multibyteness of bufp and target may be different.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xdisp.c (x_produce_glyphs): When a font is not found, make the
-       empty box occupy at least one column width.
-
-2008-02-01  Miles Bader  <miles@gnu.org>
-
-       * Makefile.in: Remove redundant HAVE_XFT clause.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xrdb.c (x_load_resources): Setup the default fontSet X resource.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * fontset.c (Finternal_char_font): Fix for the case of POSITION
-       being nil.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xftfont.c (xftfont_open): Call FcConfigSubstitute.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xftfont.c (xftfont_open): Don't enable antialias explicitly.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * search.c (simple_search): Fix previous change.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xftfont.c (ftfont_font_format): Extern declaration.
-
-       * frame.c (x_set_font): Fix the second arg to fs_query_fontset.
-
-       * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.
-       (xfont_list): Don't directly use Lisp_Object as an operand of &&.
-
-       * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.
-       (ftfont_font_format): Fix previous change.
-
-       * font.h (Ffont_xlfd_name): EXFUN it.
-
-       * font.c (font_parse_xlfd): Fix the array size of `f'.
-       (register_font_driver): Use EQ to compare driver->type.
-
-       * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.
-       (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.
-       (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)
-       (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xfont.c (xfont_open): Set font->format.
-
-       * xftfont.c (xftfont_open): Set font->format.
-
-       * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.
-       (ftfont_list): Include FC_FONTFORMAT in FcObject.
-       (ftfont_open): Set font->format.
-       (ftfont_font_format): New function.
-
-       * font.h (struct font): New member format.
-
-       * font.c (Qopentype): New variable.
-       (syms_of_font): Defsym it.
-       (Fquery_font): Change the format of the last element of the return
-       value.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xfns.c (xic_create_xfontset): Try the default fontset name as a
-       last resort.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (detect_coding_charset): Fix detection of multi-byte
-       charset.
-
-2008-02-01  Bob Halley  <halley@play-bow.org>  (tiny change)
-
-       * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xdisp.c (get_next_display_element): Set it->face_id for the
-       first component of a composition.
-       (x_produce_glyphs): Check if the font is changed or not for composition.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * fontset.c (Qlatin): New variable.
-       (syms_of_fontset): Define it as a lisp symbol.
-       (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * font.c (font_unparse_fcname): Pay attention to the case that
-       some of font property is a null string.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * term.c: Include "composite.h".
-       (encode_terminal_code): Output all components of composition.
-       Check the size of encode_terminal_src.
-       (produce_glyphs): For composition, call produce_composite_glyph.
-       (append_composite_glyph, produce_composite_glyph): New functions.
-
-       * xdisp.c (x_produce_glyphs): In handling composition, if a font
-       is not found, get font_info from the current ascii face.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * fileio.c (Finsert_file_contents): On replacing, temporarily bind
-       buffer-file-name to Qnil before calling insert_from_buffer.
-
-       * font.c (font_unparse_fcname): Pay attention to the case that
-       foundry is a null string.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * ftfont.c (ftfont_list): Allow registry "unicode-sip".
-
-       * font.c (Qunicode_sip): New variable.
-       (syms_of_font): Declare it as a Lisp symbol.
-
-       * font.h (Qunicode_sip): Extern it.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * composite.c (get_composition_id): Pay attention to TAB component.
-
-       * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw
-       TAB.  Adjust for the change of s->char2b which always points to
-       the first element of allocated memory.
-
-       * xftfont.c (xftfont_text_extents): Fix calculation of descent value.
-
-       * xdisp.c (handle_composition_prop): Set it->c to the first
-       non-TAB component.
-       (fill_composite_glyph_string): Change argument.
-       (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.
-       (x_produce_glyphs): Fix handling of left/right padding.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (detect_coding_system): Fix for handling off
-       inhibit_iso_escape_detection.  Fix for the case that no coding
-       system is defined for a specific coding category.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * font.c (font_matching_entity): Delete unused local var.
-
-       * xftfont.c (xftfont_open): Call XftDefaultSubstitute before
-       opening a font.
-
-       * fileio.c (Finsert_file_contents): On recovering a file, assume
-       Unix-like eol.
-       (choose_write_coding_system): On auto-saving a file, force
-       Unix-like eol.
-
-       * coding.c (setup_coding_system): Fix setting of
-       coding->common_flags based on eol_type.
-       (coding_inherit_eol_type): If PARENT is not nil, be sure to
-       inherit from it.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * alloc.c (NSTATICS): Increas to 0x600.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.
-       (ftfont_list): Don't check :name property.
-       (ftfont_match): New function.
-       (ftfont_pattern_entity): If the pattern doesn't contain
-       FC_SPACING, don't assume FC_MONO.
-
-       * font.h (struct font_driver): New member `match'.
-       (font_update_drivers): Adjust prototype.
-
-       * font.c (font_parse_fcname, font_parse_name): Don't change :name
-       property of FONT.
-       (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define
-       them unconditionally.
-       (font_matching_entity): New function.
-       (font_open_by_name): Try font_matching_entity if exact match is
-       not found.
-       (font_update_drivers): Delete the arg FONT.  Return a list of
-       actually used backends.  Don't free faces, font caches here.
-       Don't store data in frame parameters.  Don't call x_set_font.
-       (Ffont_spec): Store :name property as is.
-       (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.
-       (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.
-       (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.
-       (Ffont_otf_alternates): Check if the driver has otf_gsub function.
-       Call font->driver->otf_gsub instead of font_otf_gsub.
-
-       * frame.c (x_set_font_backend): Do more works that were done in
-       font_update_drivers before.
-
-       * xfont.c (xfont_match): New function.
-       (xfont_driver): Set xfont_driver.match to xfont_match.
-       (xfont_draw): Set font in GC if necessary.
-
-       * ftxfont.c (ftxfont_match): New function.
-       (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.
-
-       * xftfont.c (xftfont_match): New function.
-       (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * font.h (struct font): New member scalable.
-       (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.
-       (font_otf_gsub): Adjust prototype.
-
-       * font.c (font_otf_capability): Fix handling of the default langsys.
-       (parse_gsub_gpos_spec): Change type to void.  New arg nbytes.
-       Check the contents of SPEC.
-       (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.
-       (check_gstring): New function.
-       (REPLACEMENT_CHARACTER): New macro.
-       (font_otf_gsub): New arg alternate_subst.  Be sure to set all
-       glyph codes of GSTRING.
-       (font_otf_gpos): Be sure to set all glyph codes of GSTRING.
-       (font_prepare_composition): Set cmp->glyph_len.
-       (font_open_entity): Set font->scalable.
-       (Ffont_get): Handle :otf property.
-       (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New
-       functions.
-       (Fquery_font): Use font->font.full_name.
-       (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and
-       Sfont_otf_alternates.
-
-       * ftfont.c (ftfont_open): Set font->font.full_name and
-       font->font.name properly.  Fix calculation of font->font.height
-       and font->min_width.
-
-       * ftxfont.c (ftxfont_create_gcs): New function.
-       (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.
-       (ftxfont_draw_backgrond): Fix filling region.
-       (ftxfont_default_fid): New function.
-       (ftxfont_open): Set xfont->fid to the return value of
-       ftxfont_default_fid.
-       (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.
-       (ftxfont_done_face): Free only GCs that are created by
-       ftxfont_create_gcs.
-       (ftxfont_draw): If face->gc != s->gc, create proper GCs.
-
-       * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:
-       Clip to src->width, etc (not src->clip_XXX).
-
-       * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle
-       FontBackend frame parameter.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * font.h (struct font_driver_list): New member `on'.
-       (Fclear_font_cache): EXFUN it.
-       (font_update_drivers): Extern it.
-
-       * font.c (font_unparse_fcname): Fix typo (swidth->width).
-       (font_list_entities): Check driver_list->on.
-       (register_font_driver): Initalize `on' member to 0.
-       (font_update_drivers): New function.
-       (Fclear_font_cache): Check driver_list->on.
-
-       * frame.h (Qfont_backend): Extern it.
-       (x_set_font_backend): Extern it.
-
-       * frame.c (Qfont_backend): New variable.
-       (frame_parms): New element for font-backend.
-       (x_set_font_backend): New function.
-
-       * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle
-       FontBackend frame parameter.
-       (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element
-       x_set_font_backend.
-
-       * xfont.c (xfont_list): Don't try listing by :name property if the
-       name is not for XLFD.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)
-       (LGLYPH_SET_TO): New macros.
-       (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment
-       element of G is vector or not.
-       (font_at): Extern it.
-
-       * font.c: Include window.h.
-       (font_lispy_object): New function.
-       (font_prepare_composition): Check LGLYPH_FORM (g) to detect the
-       end of valid glyph.
-       (font_close_object): Fix getting (struct font *).
-       (font_at): New function.
-       (Ffont_get): If FONT is a font-object, get entity from it.
-       (Ffont_make_gstring): Initialize elements of glyphs with nil.
-       (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX.  Fix
-       range check.
-       (Ffont_at): New function.
-       (syms_of_font): Defsubr Sfont_at.
-
-       * xdisp.c (it_props): Move the entry for Qauto_composed to just
-       before the entry for Qcomposition.
-       (handle_auto_composed_prop): Call auto-composition-function with 4 args.
-       (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from
-       the font in gstring.
-       (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check
-       LGLYPH_FORM (g) to detect the end of valid glyph.
-       (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if
-       we are composing with gstring.
-
-       * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:
-       Check if adjustment is vector or not.
-
-       * Makefile.in (font.o): Make it depends on window.h.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xterm.c (x_draw_composite_glyph_string_foreground): Check if
-       adjustment is vector or not.
-
-2008-02-01  Miles Bader  <miles@gnu.org>
-
-       * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)
-       (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.
-       (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.
-
-       * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.
-       (DEVICE_DELTA): Fix typo.
-       (font_otf_gpos, font_prepare_compositio): Adjust for the change of
-       LGLYPH format.
-
-       * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for
-       the change of LGLYPH format.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * ftfont.c (ftfont_list): Fix typo.
-       (ftfont_build_basic_charsets): Don't include letters with diacritics.
-
-2008-02-01  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.
-
-       * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if
-       xftface_info is non-NULL.
-
-2008-02-01  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * ftfont.c (ftfont_list): Move misplaced #endif.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * ftfont.c (ftfont_list): Pay attention to the case that
-       FC_CAPABILITY is not defined.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xftfont.c (xftfont_open): Set charset related members to -1.
-
-       * ftfont.c (ftfont_list): Handle QCotf property.  Fix handling of
-       QCname.
-       (ftfont_open): Set charset related members to -1.
-
-       * fontset.c (Votf_script_alist): New variable.
-       (syms_of_fontset): Initialize it.
-       (fontset_font): Delete unused variable.
-
-       * fontset.h (Votf_script_alist): Extern it.
-
-       * font.c (font_find_for_lface): Optimize code.
-
-       * font.h (font_close_object, font_merge_old_spec): Extern them.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.
-       (syms_of_font): Initialize them.
-       (font_pixel_size): Allow float value in dpi.
-       (font_prop_validate_type): Delete.
-       (font_prop_validate_symbol, font_prop_validate_style): Change argument.
-       Change caller.
-       (font_prop_validate_non_neg): Rename from font_prop_validate_size.
-       (font_prop_validate_extra): Delete.
-       (font_prop_validate_spacing): New function.
-       (font_property_table): Add elements for all known properties.
-       (get_font_prop_index): Rename from check_font_prop_name.  New
-       argument FROM.  Change caller.
-       (font_prop_validate): Validate all known properties.
-       (font_put_extra): Delete argument force.  Change caller.
-       (font_expand_wildcards): Make it static.  Fix the way of shrinking
-       the possible range.
-       (font_parse_xlfd): Delete argument merge.  Fix handling of RESX,
-       RESY, SPACING, and AVGWIDTH.  Don't validate property values here.
-       Change caller.
-       (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.
-       (font_parse_fcname): Delete argument merge.  Fix parsing of point
-       size.  Don't validate properties values here.  Change caller.
-       (font_unparse_fcname): Handle dpi, spacing, and scalable properties.
-       (font_open_by_name): Delete unused variable.
-       (Ffont_spec): Likewise.  Validate property values.
-       (Ffont_match_p): New function.
-
-       * font.h (QCscalable): Extern it.
-       (font_parse_xlfd, font_parse_fcname): Adjust prototype.
-
-       * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.
-
-       * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.
-       (xfont_list_pattern): New function.
-       (xfont_list): Use xfont_list_pattern.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * font.h (Flist_fonts): EXFUN it.
-
-2008-02-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32term.c (w32_initialize): Add back smoothing_type and
-       smoothing_enabled definitions.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check
-       s->face->font on determining underline position.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.
-       (font_has_char): Accept font-object too.
-       (font_find_for_lface): Try at first with a size specified in face.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to
-       font_open_by_name.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * font.h (QCspacing, QCdpi): Extern them.
-       (enum font_spacing): New enum.
-       (FONT_PIXEL_SIZE_QUANTUM): New macro.
-
-       * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.
-       (QCspacing, QCdpi): New variables.
-       (syms_of_font): Initialize them.
-       (font_pixel_size): New function.
-       (font_put_extra): New function.
-       (font_parse_xlfd): Fix handling of font size.  Add QCdpi property
-       in FONT_EXTRA.
-       (font_parse_fcname): Handle enumerated values (e.g. bold).
-       Fix handling font size.  Add QCname property that contains only
-       unknown properties.
-       (font_score): Change argument.  Change caller.  Pay attention to
-       FONT_PIXEL_SIZE_QUANTUM.
-       (font_sort_entites, font_list_entities, font_find_for_lface)
-       (font_open_for_lface, font_open_by_name): Fix handling of font size.
-       (Ffont_spec): Add QCname property that contains only unknown properties.
-
-       * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq.  Don't
-       include weight in listing pattern, instead check weight of each
-       listed font.  Don't include scalable in pattern.  Pay attention to
-       FONT_PIXEL_SIZE_QUANTUM.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * font.c (font_parse_fcname): Fix parsing of point-size.
-       (font_unparse_fcname): Produce symbolic names for style properties.
-       (font_list_entities): Handle float size correctly.
-       (font_open_by_name): Prefer `normal' property values if the name
-       doesn't specify them.
-
-       * fontset.c (Finternal_char_font): Use font_get_name, not
-       Ffont_xlfd_name.
-
-       * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for
-       FC_WEIGHT_REGULAR.  Exclude FC_SIZE and FC_PIXEL_SIZE from listing
-       pattern.  Don't force scalable.
-
-       * xftfont.c (xftfont_open): For generating a name, start from
-       96-byte buffer.
-
-2008-02-01  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * frame.h (x_new_fontset2): Fix prototype.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * font.h (struct font_driver): Delete member parse_name.
-       (font_match_p, font_get_spec, font_parse_fcname)
-       (font_unparse_fcname): Extern them.
-       (font_get_name): Adjust prototype.
-
-       * font.c (XLFD_SMALLNUM_MASK): Delete this macro.
-       (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.
-       (font_expand_wildcards): Fix handling ENCODING field.  Avoid
-       unnecessary checks for weight, slant, and swidth.
-       (font_parse_fcname): New function.
-       (font_unparse_fcname): New function.
-       (font_parse_name): New function.
-       (font_match_p): New function.
-       (font_get_name): Change return value to Lisp string.
-       (font_get_spec): New function.
-       (Qunspecified, Qignore_defface): Don't extern them.
-       (font_find_for_lface): Assume that LFACE is fully specified.
-       (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font
-       object, use it for FACE.
-       (font_open_by_name): Call Ffont_spec with QCname prop.  Don't call
-       driver->parse_name.
-       (Ffont_spec): Call font_parse_name, not font_parse_xlfd.
-
-       * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust
-       prototype.
-
-       * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete
-       argument F.  Don't call Fnew_fontset.  Instead, directly call
-       make_fontset.
-
-       * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.
-
-       * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change
-       of x_new_fontset2.
-
-       * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)
-       (Qsans__serif): New variables.
-       (ftfont_generic_family_list): New variable.
-       (syms_of_ftfont): Initialize the above variables.
-       (ftfont_pattern_entity): Delete argument NAME.
-       (ftfont_list_generic_family): New function.
-       (ftfont_parse_name): Delete this function.
-       (ftfont_list): Try generic family only when FcFontList found no font.
-       (ftfont_list_family): Fix args to FcObjectSetBuild.
-
-       * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font
-       object in attrs[LFACE_FONT_INDEX].
-       (set_lface_from_font_name): Cancel all changes for font-backend.
-       (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New
-       function.
-       (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a
-       font object in QCfont attribute.
-       (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.
-       (realize_default_face) [USE_FONT_BACKEND]: Call
-       set_lface_from_font_and_fontset.
-
-       * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also
-       "fixed", and signal error here if no suitable font was found.
-
-       * xfont.c (xfont_parse_name): Delete this function.
-
-       * xftfont.c (xftfont_open): Change coding style of error
-       handling.  Generate fontconfig's fontname pattern.
-
-       * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.
-       (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.
-
-       * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.
-       Both args FONTSET and FONT_OBJECT must be existing ones.
-
-2008-02-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xfont.c (xfont_open, xfont_encode_char): Fix typo.
-
-       * font.h (struct font): Fix typo.
-
-       * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to
-       XLFD_XXX_INDEX.
-       (enum xlfd_field_mask): New enum.
-       (intern_font_field): Changed argument.  Change caller.  If digits
-       are followed by non-digits, return a symbol.
-       (font_expand_wildcards): New function.
-       (font_parse_xlfd): Fix wildcard handling.
-       (Ffont_spec): If :name is specified, reflect the info in the other
-       properties.
-
-       * ftfont.c (ftfont_pattern_entity): Fix typo.
-       (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of
-       locale.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.
-
-       * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.
-       (font_unparse_xlfd): Fix argument type declaration.  Append "*" if
-       registry doesn't specify encoding part.
-       (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.
-       (font_open_by_name): At first try parsing the name.
-       (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp
-       as Lisp symbols.
-
-       * fontset.c (reorder_font_vector): Pay attention to the case that
-       the 3rd element of font_def is nil.
-       (fontset_font): For the default fontset, append one more fontset
-       elements for a script-based font specification.  Don't add script
-       attribute on finding a font.
-       (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the
-       font name.
-       (fontset_ascii_font): If a font can't be opened, return nil.
-
-       * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.
-       (ftfont_pattern_entity): New function.
-       (ftfont_get_cache): Assume that freetype_font_cache is already
-       initialized.
-       (ftfont_list): Handle the case that a file is specified in font
-       name.  Use ftfont_pattern_entity to generate entities.
-       (ftfont_has_char): Check if the pattern contains FC_CHARSET.
-       (syms_of_ftfont): Initialize freetype_font_cache.
-
-       * xftfont.c (xftfont_open): Make the font name fontconfig's
-       style.  Add BLOCK_INPUT and UNBLOCK_INPUT.
-       (xftfont_close): Free font->font.name if not NULL.
-
-       * xfont.c (xfont_list): If script is specified for a font, return
-       null_vector.
-       (xfont_list_family): Declare argument type.
-
-       * xfaces.c (set_lface_from_font_name): If a font doesn't have a
-       name, set LFACE_FONT (lface) to nil.
-
-       * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,
-       return Qnil.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * emacs.c (main): Check -enable-font-backend arg after the check of -nl.
-       (standard_args): Add "-enable-font-backend".
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xftfont.c (xftfont_default_fid): Set fid_known to 1.
-       (struct xftdraw_list, xftdraw_list): Delete them.
-       (register_xftdraw, check_xftdraw): Delete them.
-       (xftfont_prepare_face): Don't call register_xftdraw.
-       (xftfont_done_face): Don't call check_xftdraw.
-       (xftfont_draw): Get background color only when with_background is
-       nonzero.
-
-       * xfont.c (xfont_encode_char): Fix calculation of char2b.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       These changes are for the new font handling codes.
-
-       * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,
-       @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.
-       (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.
-       (FONTSRC, FONTOBJ): New variables.
-       (obj): Add $(FONTOBJ).
-       (SOME_MACHINE_OBJECTS): Lib_X11_Lib.
-       (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and
-       @LIBOTF_LIBS@.
-       (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.
-       (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).
-
-       * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.
-
-       * character.h (Vscript_representative_chars): Extern it.
-
-       * character.c (Vscript_representative_chars): New variable.
-       (syms_of_character): Declare it as a Lisp variable.
-
-       * composite.c (get_composition_id) [USE_FONT_BACKEND]: If
-       enable_font_backend is nonzero, accept the composition method
-       COMPOSITION_WITH_GLYPH_STRING.
-
-       * composite.h (enum composition_method) [USE_FONT_BACKEND]: New
-       enumeration COMPOSITION_WITH_GLYPH_STRING.
-
-       * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New
-       members clip_x, clip_y, clip_width, and clip_height.
-       (struct face) [USE_FONT_BACKEND]: New members font_info and extra.
-
-       * emacs.c (main) [USE_FONT_BACKEND]: Handle arg
-       --enable-font-backend.  Call syms_of_font.
-
-       * fns.c (assoc_no_quit): New function.
-
-       * fontset.h (FONT_INFO_FROM_FACE): New macro.
-       (face_for_font, new_fontset_from_font)
-       (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.
-
-       * fontset.c [USE_FONT_BACKEND]: Include "font.h".
-       (fontset_font, fontset_ascii, face_for_char)
-       (make_fontset_for_ascii_face, Ffont_info)
-       (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend
-       is nonzero, use font-backend mechanism.
-       (find_font_encoding): Make it non-static.
-       (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:
-       New functions.
-
-       * frame.h (struct frame): New members resx and resy.
-       (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.
-       (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.
-
-       * frame.c [USE_FONT_BACKEND]: Include "font.h".
-       (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.
-
-       * lisp.h (assoc_no_quit): Extern it.
-
-       * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".
-       Through out the file, use FONT_INFO_FROM_FACE instead of
-       FONT_INFO_FROM_ID, use get_per_char_metric instead of
-       rif->per_char_metric.
-       (handle_composition_prop) [USE_FONT_BACKEND]: If the composition
-       method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.
-       (get_glyph_face_and_encoding, fill_composite_glyph_string)
-       (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
-       (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is
-       nonzero, use font-backend mechanism.
-       (get_per_char_metric): New function.
-
-       * xfaces.c [USE_FONT_BACKEND]: Include "font.h".
-       (set_lface_from_font_name)
-       (set_font_frame_param, free_realized_face)
-       (prepare_face_for_display, clear_face_gcs)
-       (Finternal_set_font_selection_order, realize_x_face)
-       [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use
-       font-backend mechanism.
-       (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.
-       (load_face_font) [USE_FONT_BACKEND]: Abort.
-       (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)
-       (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.
-
-       * xfns.c [USE_FONT_BACKEND]: Include "font.h".
-       (x_default_font_parameter) [USE_FONT_BACKEND]: New function.
-       (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is
-       nonzero, register all available font drivers.  Call
-       x_default_font_parameter for deciding a font.
-       (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.
-
-       * xterm.c [USE_FONT_BACKEND]: Include "font.h".
-       (x_set_mouse_face_gc, x_set_glyph_string_clipping)
-       (x_set_glyph_string_clipping_exactly)
-       (x_compute_glyph_string_overhangs)
-       (x_draw_glyph_string_foreground)
-       (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)
-       (x_free_frame_resources) [USE_FONT_BACKEND]: If
-       enable_font_backend is nonzero, use font-backend mechanism.
-       (x_new_fontset2) [USE_FONT_BACKEND]: New function.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from
-       system_eol_type.
-       (syms_of_coding): Initialize system_eol_type.
-
-       * process.c (Fset_process_coding_system): Inherit system's eol
-       format if necessary.
-
-2008-02-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (decode_eol): Pay attention to buffer relocation in
-       del_range_2.
-       (decode_coding): Call decode_eol before restoring undo_list.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * charset.c (Fdefine_charset_internal): Fix setting of
-       emacs_mule_bytes.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * keyboard.c (read_char): Check if C is a character or not before
-       looking up Vkeyboard_translate_table.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix
-       condition to terminate the loop.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (produce_composition): Compare charbuf[i] instead of
-       args[i] against 0.
-       (Fterminal_coding_system): Use EQ to compare Lisp objects.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (DECODE_COMPOSITION_START): If the source is short, set
-       coding->result to CODING_RESULT_INSUFFICIENT_SRC.
-       (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of
-       detect_coding.
-       (emacs_mule_char): Handle old style (Emacs 20) component character
-       of a composition.
-       (DECODE_EMACS_MULE_COMPOSITION_RULE_20)
-       (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a
-       composition rule.
-       (decode_coding_emacs_mule): Handle invalid bytes correctly.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (encode_coding_ccl): Allocate destination dynamically
-       when necessary.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * ccl.c (Fccl_execute_on_string): Fix the condition of terminating
-       the loop.  When quitted, show a proper error message.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xterm.c (x_set_glyph_string_clipping_exactly): Set
-       src->clip_head and src->clip_tail temporarily instead of src->hl.
-
-       * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte
-       character sequence.
-       (Fccl_execute_on_string): Use ASET, not XSET.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (decode_coding): Fix the condition of terminating the
-       decoding loop.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * data.c (Faset): On setting a character bigger than 255 in a
-       unibyte string, signal an error instead of make the string multibyte.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * charset.c (map_charset_chars): Fix for ascii-compatible charset
-       made by a mapping table.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or
-       not.
-       (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.
-       (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.
-
-       * xterm.c (x_draw_composite_glyph_string_foreground): Check
-       s->face is NULL or not.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xterm.c (x_set_glyph_string_clipping_exactly): New function.
-       (x_draw_glyph_string): Fix drawing of right_overhang and
-       left_overhang around/on cursor.
-
-       * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xdisp.c (x_produce_glyphs): Handle composition with TAB.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (Fdefine_coding_system_internal)
-       (Fdefine_coding_system_alias): Avoid a duplicated element in
-       Vcoding_system_alist.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.
-
-       * coding.c (Qcoding_system_define_form): New variable.
-       (syms_of_coding): Intern and staticpro it.
-       (Fcoding_system_p): Check Qcoding_system_define_form.
-       (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.
-
-       * coding.h (CODING_SYSTEM_P): If ID is not available, call
-       Fcoding_system_p.
-       (CHECK_CODING_SYSTEM): If ID is not available, call
-       Fcheck_coding_system.
-       (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):
-       Try also Fcheck_coding_system.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (code_conversion_restore): GCPRO arg.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * character.c (lisp_string_width): Check multibyteness of STRING.
-
-2008-02-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * macterm.c (mac_encode_char): Call ccl_driver with the last arg
-       Qnil.  Use JIS_TO_SJIS instead of ENCODE_SJIS.
-       (decode_mac_font_name): Use decode_coding_c_string instead of
-       decode_coding.
-       (x_load_font): Initialize fontp->fontset to -1.  Set
-       fontp->encoding_type.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * search.c (search_buffer): Give up BM search on case-fold-search
-       if one of a target character has a case-equivalence of different
-       byte length even if that target charcter is an ASCII.
-       (simple_search): Fix calculation of byte length of matched text.
-       (boyer_moore): Fix handling of case-equivalent multibyte characters.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (decode_coding): Fix handling of invalid bytes.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xterm.c (handle_one_xevent): Handle keysyms directly mapped to
-       Unicode characters.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (encode_coding_object): If a pre-write-conversion
-       function makes a new buffer, kill it.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (QCascii_compatible_p): New variable.
-       (syms_of_coding): Initialize it.
-       (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before
-       calling string_char.
-       (record_conversion_result): Add `default:' case.
-       (coding_charset_list): Delete unused variable `coding_type'.
-       (Fdefine_coding_system_internal): Add `ascii-compatible-p'
-       property in the plist of the coding system.
-       (Fcoding_system_put): Check QCascii_compatible_p.
-
-2008-02-01  Miles Bader  <miles@gnu.org>
-
-       * xfaces.c (Finternal_lisp_face_equal_p): Restore previously
-       removed calculation of frame `f', as it's now used.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.
-       (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.
-       (UNIDATA): New variable.
-       (${lispsource}international/charprop.el): Depends on ${UNIDATA}.
-       (bootstrap-emacs${EXEEXT}): Depends on charprop.el.  Run
-       $(RUN_TEMACS) unconditionally.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.
-       (admindir): New variable.
-       ($(lispsource)international/charprop.el): New target.
-
-2008-02-01  Miles Bader  <miles@gnu.org>
-
-       * character.c (chars-in-region): Remove obsolete function.
-       (syms_of_character): Remove its initialization.
-
-2008-02-01  Benjamin Riefenstahl  <b.riefenstahl@turtle-trading.net>
-
-       * w32select.c (validate_coding_system)
-       (setup_windows_coding_system): New functions.
-       (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use
-       setup_windows_coding_system.
-       (setup_config, Fw32_get_clipboard_data): Use
-       validate_coding_system.
-       (Fx_selection_exists): Move call to setup_config to a place
-       where signals are allowed.
-
-       * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)
-       (Fcheck_coding_system): Add declarations.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * charset.c (load_charset_map_from_vector): Fix for the first iteration.
-
-2008-02-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp
-       string as the second argument for x_new_fontset.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (decode_coding_object): Use safe_call1 instead of call1.
-       (encode_coding_object): Use safe_call instead of call2.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * fontset.c (Fset_fontset_font): Check family element of a given vector.
-
-       * Makefile.in (lisp): Include charprop.el.
-
-2008-02-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.
-       Not sure if it's unnecessary.
-
-2008-02-01  Steven Tamm  <steventamm@mac.com>
-
-       * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out
-       some possibly unnecessary fontset checking code that crashed
-       when creating a new frame.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xfaces.c (merge_faces): Fix argument to lookup_derived_face and
-       lookup_face.
-
-       * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.
-
-       * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c: Cancel the change done in HEAD on 2008-02-01.
-       (coding_charset_list): New function.
-
-       * coding.h (coding_charset_list): Extern it.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * fontset.c (Fset_fontset_font): Call find_font_encoding with
-       concatenation of family and registry.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * character.h (BYTE8_STRING): Fix typo.
-
-       * editfns.c (Ftranslate_region_internal): Don't convert unibyte
-       string to multibyte (sync to HEAD).
-
-       * casefiddle.c (casify_region): Handle changes in byte-length
-       using replace_range_2 (sync to HEAD).
-
-2008-02-01  Andreas Schwab  <schwab@suse.de>
-
-       * chartab.c (map_char_table): GCPRO table and arg.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is
-       already at limit.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * fontset.c (fs_load_font): Use fast_string_match_ignore_case
-       instead of fast_c_string_match_ignore_case.
-       (find_font_encoding): Change argument to Lisp_Object.  Use
-       fast_string_match_ignore_case instead of
-       fast_c_string_match_ignore_case.  Change caller.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xdisp.c (get_next_display_element): In unibyte case, decide to
-       display in octal form by checking a character by
-       UNIBYTE_CHAR_HAS_MULTIBYTE_P.
-
-       * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.
-
-       * character.c (unibyte_has_multibyte_table): New variable.
-
-       * character.h (unibyte_has_multibyte_table): Extern it.
-       (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (encode_coding_iso_2022): Fix handling of charset
-       annotation.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (setup_coding_system): If coding_system is nil, use
-       Qundecided.
-       (Fterminal_coding_system): Return nil if terminal coding system is
-       `undecided'.
-       (syms_of_coding): Define coding-system `undecided' here.  Setup
-       terminal_coding as `undecided'.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xdisp.c (message_dolog, set_message_1): Call
-       unibyte_char_to_multibyte with arg type int.
-
-       * lread.c (read1): Fix reading of a char-table.
-
-       * print.c (print_object): Include sub char-table in circularities
-       detection.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.
-       Append the found sequences in car of ARGS instead of prepending.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * fileio.c (report_file_error): Make a unibyte string from
-       strerror (errorno).
-       (Fsubstitute_in_file_name): Fix the arg to
-       unibyte_char_to_multibyte.  It is evaluated twice.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * charset.h (CHAR_CHARSET): Shortcut for ASCII case.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (detect_coding_utf_16): Don't set detect_info->found if
-       BOM is not found.
-       (detect_coding, detect_coding_system): Optimization for ISO-2022
-       when no 8-bit data is found.
-
-2008-02-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32fns.c (x_to_w32_font): Update to use new coding struct.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of
-       CHARS.
-
-2008-02-01  Steven Tamm  <steventamm@mac.com>
-
-       * macterm.c (mac_encode_char): Add charset argument and update
-       to use encoding_type.
-       (x_new_font, x_new_fontset): Merge in changes from xterm.c;
-       switch to pure fontset.
-       (decode_mac_font_name): Temporarily remove decoding.
-       (x_font_name_to_mac_font_name): Temporarily remove encoding.
-       (x_load_font): Temporarily remove encoding.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xfaces.c (Fface_font): If frame is not on a window system,
-       ignore CHARACTER arg.  If HAVE_WINDOW_SYSTEM is not defined, don't
-       refer to face->font.
-       (split_font_name_into_vector, build_font_name_from_vector)
-       (lookup_non_ascii_face, realize_non_ascii_face): Define them only
-       when HAVE_WINDOW_SYSTEM is defined.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.
-       (x_produce_glyphs): Fix setting of members of cmp in case
-       cmp->glyph_len is zero.
-
-       * fontset.c (Fset_fontset_font): Fix docstring.
-       (Ffontset_info): Make it backward compatible.  New arg ALL.
-
-2008-02-01  Kim F. Storm  <storm@cua.dk>
-
-       * process.c (read_process_output): Grow decoding_buf when needed;
-       this could cause a crash in allocate_string and compact_small_strings.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * fileio.c (WRITE_BUF_SIZE): Delete this macro.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (setup_coding_system): Set coding->common_flags
-       correctly for raw-text.
-       (consume_chars): On encoding unibyte text by raw-text, don't check
-       multibyte form.
-       (encode_coding): On encoding by raw-text, never use translation tables.
-
-       * fileio.c (e_write): Short cut for the case of no encoding.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (detect_coding, detect_coding_system): Delete unused
-       variables.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.
-       (consume_chars): Fix handling of 8-bit bytes in unibyte source.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (Ffind_coding_systems_region_internal): Include
-       raw-text and no-conversion in the result.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.
-       (load_font_get_repertory): Delete unnecessary check of ENCODING of
-       FONT_DEF.
-       (font_def_arg, add_arg, from_arg, to_arg): New args.
-       (set_fontset_font): Change argument.
-       (Fset_fontset_font): Fix for the case that TARGET is a script
-       name and charset name.
-       (new_fontset_from_font_name): Fix argument to Fnew_fontset.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * fontset.c (fontset_font): Rename from fontset_face.  Change return
-       value.
-       (face_suitable_for_char_p, face_for_char): Adjust for the change
-       of fontset_font.
-       (make_fontset_for_ascii_face): Fix setting of the fontset element
-       for ASCII.
-       (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR
-       to get a font name.
-       (Ffontset_info): Adjust for the change of fontset_font.
-
-       * coding.c (emacs_mule_char): Check invalid code more rigidly.
-
-       * character.h (LEADING_CODE_LATIN_1_MIN)
-       (LEADING_CODE_LATIN_1_MAX): Delete these macros.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * editfns.c (check_translation): New function.
-       (Ftranslate_region_internal): Handle M:N mapping.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of
-       goto invalid_code.
-       (decode_coding_iso_2022): Fix handling of invalid designation.
-
-       * fileio.c (Finsert_file_contents): Be sure to call unbind_to
-       after calling code_conversion_save.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.
-
-       * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.
-
-       * fontset.c: Include "intervals.h".
-       (fontset_face): Fix comparing of Lisp_Objects.
-       (free_face_fontset, new_fontset_from_font_name): Fix
-       Lisp_Object/int mixup.
-
-       * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.
-
-       * coding.c: Add many prototypes for static functions.
-       (get_translation_table): Allow max_lookup to be NULL.
-       (decode_coding, Ffind_coding_systems_region_internal)
-       (Funencodable_char_position, Fcheck_coding_systems_region): Call
-       get_translation_table with max_lookup NULL.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (get_translation_table): Declare it as Lisp_Object.
-       (LOOKUP_TRANSLATION_TABLE): New macro.
-       (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE
-       instead of CHAR_TABLE_REF.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of
-       annotation data format.
-       (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):
-       Change arguments FROM and TO to single argument NCHARS.  Change caller.
-       (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)
-       (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
-       (decode_coding_ccl, decode_coding_charset): Pay attention to
-       coding->charbuf_used.
-       (get_translation): New function.
-       (produce_chars): New arguments translation_table and last_block.
-       Translate characters here.  Return number of carryover chars.
-       Change caller.
-       (produce_composition): New argument pos.  Change caller.
-       Adjust for the change of annotation data format.
-       (produce_charset, produce_annotation): Likewise.
-       (decode_coding, encode_coding): Don't call translate_chars.
-       (consume_chars): New arg translation_table.  Change caller.
-       (translate_chars): Delete.
-       (syms_of_coding): Make translation-table's number of extra slots 2.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * search.c (simple_search): Fix setting this_pos_byte in backward
-       search.
-
-       * coding.c (detect_coding_emacs_mule): Fix counting of encoded
-       byte sequence.
-       (detect_coding_ccl): Fix setting of the variable valids.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.
-
-       * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.
-
-       * editfns.c (Ftranslate_region_internal): Rename from
-       Ftranslate_region.  Accept a char-table in TABLE.
-       (syms_of_editfns): Defsubr Stranslate_region_internal.
-
-       * xfaces.c (set_lface_from_font_name): If a font is specified for
-       a frame, generate a fontset from the font.
-       (build_scalable_font_name): If the scalable font is requested for
-       a specific size, don't change that size.
-       (try_font_list): Try a scalable font also in the case that a
-       pattern string is specified.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xfaces.c (Fface_font): New optional arg CHARACTER.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * charset.h (CHARSET_OFFSET): New macro.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.
-
-       * fontset.c (fontset_face): Handle the case that repertory is a
-       char-table.
-       (find_font_encoding): Return nil for unknown encoding.
-       (Fset_fontset_font): Ignore a font of unknown encoding.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * keymap.c (describe_vector): Handle default value of a char table.
-
-       * fontset.c (fontset_face): Handle fallback fonts correctly.
-       (Ffontset_info): Return infomation about fallback fonts.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * fontset.c (FONTSET_DEFAULT): New macro.
-       (FONTSET_ADD, fontset_add): Handle the case that range is nil.
-       (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle
-       the case that it is nil.
-       (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.
-       (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.
-
-       * charset.h (CHAR_CHARSET_P): Fix for the case that the method is
-       subset or superset.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * emacs.c (main): Call init_charset after syms_of_XXX.
-
-       * charset.c (Vcharset_map_directory): Delete.
-       (Vcharset_map_path): New variable.
-       (load_charset_map_from_file): Use Vcharset_map_path instead.
-       (init_charset): Initialize Vcharset_map_path.
-       (syms_of_charset): Delete declaration of "charset-map-directory",
-       add declaration of "charset-map-path".
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * fns.c (string_char_to_byte, string_byte_to_char): Optimize for
-       ASCII only string.
-
-       * fileio.c (Finsert_file_contents): Avoid detecting a code twice.
-
-       * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.
-       (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.
-
-       * coding.c (QCmnemonic, QCdefalut_char)
-       (QCdecode_translation_table, QCencode_translation_table)
-       (QCpost_read_conversion, QCpre_write_conversion): New variables.
-       (get_translation_table): Return a list of translation tables if
-       necessary.
-       (decode_coding): Call get_translation_table with ENCODEP 0.
-       (char_encodable_p): If translation_table is non-nil, always call
-       translate_char.
-       (Fdefine_coding_system_internal): Accept list of translation
-       tables as :encode-translation-table and :decode-translation-table.
-       (Fcoding_system_put): New function.
-       (syms_of_coding): Declare new symbols.  Defsubr
-       Scoding_system_put.
-       (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,
-       typically JISX0212.
-
-       * charset.c (map_charset_chars): Fix arg to map_charset_chars in
-       when the charset is superset type.
-
-       * character.c (translate_char): Accept list of translation tables.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.
-       (CODING_ATTR_TRANS_TBL): New macro.
-
-       * coding.c (get_translation_table): New function.
-       (translate_chars): Fix the bug of skipping annotation data.
-       (decode_coding, encode_coding): Utilize get_translation_table.
-       (char_encodable_p, Funencodable_char_position): Translate char if
-       necessary.
-       (Ffind_coding_systems_region_internal)
-       (Fcheck_coding_systems_region): Setup translation table for encode
-       in a coding system attribute vector in advance.
-       (Fdefine_coding_system_internal): Allow a symbol as translation
-       table.  For shift-jis type coding system, allow 4th charset.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (decode_coding_sjis): Check the first byte rigidly.
-
-       * xdisp.c (get_next_display_element): Pass -1 as POS to
-       FACE_FOR_CHAR if displaying a C-string.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * composite.c (get_composition_id): Handle xoff and yoff in a
-       composition rule.
-
-       * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.
-       (struct composition): New member lbearing and rbearing.
-
-       * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).
-       (x_get_glyph_overhangs): Handle a composition glyph.
-       (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.
-
-       * xterm.c (x_compute_glyph_string_overhangs): Handle also a
-       composition glyph.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * print.c: Include charset.h.
-       (Vprint_charset_text_property): New variable.
-       (Qdefault): Extern it.
-       (PRINT_STRING_NON_CHARSET_FOUND)
-       (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.
-       (print_check_string_result): New variable.
-       (print_check_string_charset_prop): New function.
-       (print_prune_charset_plist): New variable.
-       (print_prune_string_charset): New function.
-       (print_object): Call print_prune_string_charset if
-       Vprint_charset_text_property is not t.
-       (print_interval): Print nothing if interval->plist is nil.
-       (syms_of_print): Declare Vprint_charset_text_property as a lisp
-       variable.  Init and staticpro print_prune_charset_plist.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * fontset.c (new_fontset_from_font_name): Use the specified font
-       for all characters in the new fontset.
-
-       * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
-       OBJECT args.
-
-       * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and
-       OBJECT args for composition too.
-
-       * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and
-       OBJECT args.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.
-
-       * fontset.c (reorder_font_vector): Adjust for the change of
-       FONT_DEF format.
-       (fontset_face): New arg id.  Change caller.
-       (face_for_char): New args pos and object.
-       (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.
-       (fs_query_fontset): Check NAME by Fassoc too.
-       (Fset_fontset_font): Allow non-XLFD font name.
-       (Ffontset_info): Adjust for the change of FONT_DEF format.
-
-       * fontset.h (face_for_char): Adjust prototype.
-
-       * xdisp.c (face_before_or_after_it_pos, get_next_display_element)
-       (append_space, extend_face_to_end_of_line)
-       (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)
-       (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.
-
-       * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with
-       POS and OBJECT args.
-
-       * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with
-       POS and OBJECT args.
-
-2008-02-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc
-       of GlobalAlloc'ed memory.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * ccl.c (Fccl_execute_on_string): Fix the condition of loop.
-
-       * charset.h (charset_table_used): Delete extern.
-
-       * charset.c (charset_table_used): Make it static.
-       (map_charset_chars): Fix args to c_function with.
-
-       * chartab.c (map_sub_char_table_for_charset): Fix args to
-       c_function with.
-
-       * coding.h (enum coding_result_code): Delete
-       CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.
-
-       * coding.c (Qinsufficient_source, Qinconsistent_eol)
-       (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.
-       (Vlast_code_conversion_error): New variables.
-       (syms_of_coding): DEFSYM or DEFVAR_LISP them.
-       (ONE_MORE_BYTE): Record error if any instead of signaling an
-       error.  If non-ASCII multibyte char is found, return the negative
-       value of the code.  All callers changed to check it.
-       (ONE_MORE_BYTE_NO_CHECK): Likewise.
-       (record_conversion_result): New function.  Change all codes setting
-       coding->result to call this function.
-       (detect_coding_utf_8, decode_coding_utf_8)
-       (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):
-       Don't use the local variable incomplete.
-       (emacs_mule_char): Change the second arg to `const'.
-       (decode_coding): Fix of flushing out unprocessed data.
-       (make_conversion_work_buffer): Fix making of a work buffer.
-       (decode_coding_object): Return coding->dst_object.
-
-       * fontset.c (set_fontset_font): Fix args.
-
-       * lisp.h (CHARACTERBITS): Define as 22.
-
-       * process.c (send_process): Be sure to set coding->src_multibyte.
-
-       * xdisp.c (handle_auto_composed_prop): Fix setting of limit.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xdisp.c (handle_auto_composed_prop): Give limit to
-       Fnext_single_char_property_change.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * composite.c (syms_of_composite): Don't make the composition hash
-       table weak.
-
-       * fontset.c (Fset_fontset_font): Fix docstring.
-
-       * lisp.h (detect_coding_system): Adjust prototype.
-
-       * fileio.c (kill_workbuf_unwind): Delete this function.
-       (Finsert_file_contents): Adjust the call of detect_coding_system.
-       Get conversion_buffer by code_conversion_save.  Use the macro
-       CODING_MAY_REQUIRE_DECODING.  After decoding, update
-       coding_system.
-
-       * coding.h (make_conversion_work_buffer): Delete extern.
-       (code_conversion_save): Extern it.
-
-       * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.
-       (CODING_GET_INFO): Delete argument eol_type.  Change callers.
-       (decode_coding_utf_8): Don't do eol converion.
-       (detect_coding_utf_16): Check coding->src_chars, not
-       coding->src_bytes.  Add heuristics for those that have no signature.
-       (decode_coding_emacs_mule, decode_coding_iso_2022)
-       (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
-       Don't do eol converion.
-       (adjust_coding_eol_type): Return a new coding system.
-       (detect_coding): Don't detect eol.  Fix for utf-16 detection.
-       (decode_eol): In case of CRLF->LF conversion, use del_range_2 on
-       each change.
-       (decode_coding): Pay attention to undo_list.  Do eol conversion for
-       all types of coding-systems (if necessary).
-       (Vcode_conversion_work_buf_list): Delete it.
-       (Vcode_conversion_reused_workbuf): Rename from
-       Vcode_conversion_reused_work_buf.
-       (Vcode_conversion_workbuf_name): New variable.
-       (reused_workbuf_in_use): New variable.
-       (make_conversion_work_buffer): Delete the arg DEPTH.
-       (code_conversion_restore): Change argument to cons.
-       (code_conversion_save): Delete the argument BUFFER.  Change callers.
-       (detect_coding_system): New argument src_chars.  Change callers.
-       Fix for utf-16 detection.
-       (init_coding_once): Don't use ISO_carriage_return.
-       (syms_of_coding): Initialize Vcode_conversion_workbuf_name and
-       reused_workbuf_in_use.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * keymap.c (store_in_keymap): Pay attention to the case that idx
-       is a cons specifying a character range.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xdisp.c (handle_auto_composed_prop): Fix the case of returning
-       HANDLED_RECOMPUTE_PROPS.
-
-       * coding.c (Fdefine_coding_system_internal): Fix checking of
-       ascii compatibility.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * charset.c (find_charsets_in_text): Delete unused locale variable.
-       (Fset_charset_priority): Update Vemacs_mule_charset_list too.
-
-       * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.
-       Resync charset_list to Vemacs_mule_charset_list.
-
-       * keymap.c (store_in_keymap): Pay attention to the case that idx
-       is a cons specifying a character range.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * composite.c (update_compositions): Bind inhibit-read-only, etc
-       to t before calling remove-list-of-text-properties.
-
-       * print.c (print_object): Always print ASCII chars as is.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
-
-       * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
-       is a char table.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xfaces.c (set_lface_from_font_name): Fix for the case that
-       FONTNAME is not fontset name.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * fns.c (base64_encode_1): Fix previous change.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * fontset.c (set_fontset_font): New function.
-       (Fset_fontset_font): If a font is specified for a charset, use
-       map_charset_chars to store the font spec in a fontset.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * fontset.c (fontset_face): Create a fallback fontset on demand.
-       (make_fontset): Don't create a fallback fontset here.
-       (free_face_fontset): Free a fallback fontset (if any) too.
-       (n_auto_fontsets): Delete this variable.
-       (auto_fontset_alist): New variable.
-       (new_fontset_from_font_name): Check auto_fontset_alist.
-       (dump_fontset) [FONTSET_DEBUG]: Fully re-written.
-       (Ffontset_list_all) [FONTSET_DEBUG]: New function.
-       (syms_of_fontset): Initialize and staticpro auto_fontset_alist.
-       Defsubr Sfontset_list_all.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * fontset.c (Fnew_fontset): Check NAME more rigidly.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * editfns.c (Fgoto_char): Fix docstring.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * insdel.c (insert_from_gap): Adjust intervals correctly.
-
-2008-02-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.
-       (pfnGetFontUnicodeRanges): New dynamically loaded function.
-       (w32_initialize): Try to load it.
-       (x_get_font_repertory): Use it if available.
-       (w32_encode_char): Add shortcut for unicode output.
-
-       * w32fns.c (w32_load_system_font): Default charset to -1.
-       (x_to_w32_charset): Match all fonts for unicode.
-       (w32_to_x_charset): New parameter matching.  Don't return partial
-       or wildcard charsets.
-       (w32_to_all_x_charsets): Don't return partial or wildcard charsets.
-       (w32_codepage_for_font): Return CP_UNICODE for unicode.
-       (w32_to_x_font): Match charset to real charset.
-       (enum_font_cb2): Always list unicode versions.
-
-       * makefile.w32-in (temacs): Increase EMHEAP.
-
-2008-02-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32term.c (w32_encode_char): New charset parameter.
-       font_info.encoding becomes encoding_type.
-       (x_get_font_repertory): New function.  Warning: stub only!
-       (x_new_font): Return quickly if font already set.
-       (x_new_fontset): fontsetname parameter is Lisp_Object.
-       Use new fs_query_fontset.  Try new_fontset_from_font_name.
-       Use fontset_name for return value.
-
-       * w32term.h: Declare x_get_font_repertory.
-
-       * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in
-       place of find_charset_in_text.  Use encode_coding_object in place
-       of encode_coding.
-       (Fw32_get_clipboard_data): Use decode_coding_c_string in place of
-       decode_coding.
-
-       * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version
-       of x_new_fontset.
-       (w32_load_system_font): Initialize charset as unicode.
-       font_info.encoding becomes encoding_type.
-       (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.
-       (x_to_w32_font): Use encode_coding_object in place of encode_coding.
-       (syms_of_w32fns): Set get_font_repertory_func.
-
-       * w32console.c: Include character.h.  Use terminal_encode_buffer
-       from term.c.
-       (write_glyphs): Use new version of encode_terminal_code.  Use
-       encode_coding_object in place of encode_coding.
-
-       * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
-       encoding becomes encoding_type.
-
-       * term.c (terminal_encode_buffer): Make externally visible.
-
-       * makefile.w32-in: Add character.h dependancies.
-       (character.o, chartab.o): New targets.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
-       CODING_ID_EOL_TYPE.
-
-2008-02-01  Andreas Schwab  <schwab@suse.de>
-
-       * coding.c (produce_chars): Revert last change.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * charset.h (charset_unicode): Extern it.
-
-       * charset.c (string_xstring_p): Check by (C >= 0x100).
-       (find_charsets_in_text): Change format of the arc CHARSETS.  New
-       arg MULTIBYTE.
-       (Ffind_charset_region, Ffind_charset_string): Adjust for the
-       change of find_charsets_in_text.
-       (Fsplit_char): Fix doc.  Never return unknown.
-
-       * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
-
-       * coding.c (Fdefine_coding_system_alias): Update
-       Vcoding_system_list.
-
-       * fontset.c (load_font_get_repertory): Pay attention to the case
-       that ENCODING of a font is specified by a char-table.
-
-       * xterm.c (x_get_font_repertory): Handle the case that the
-       encoding of font is other than Unicode.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * term.c (encode_terminal_code): Don't handle glyph-table.  Check
-       if a character is encodable by the terminal coding system.  If
-       not, produces proper number of `?'s.  Update
-       terminal_encode_buffer and terminal_encode_buf_size if necessary.
-       (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * term.c (terminal_encode_buffer, terminal_encode_buf_size): New
-       variables.
-       (encode_terminal_code): Change argument.  Encode multiple
-       characters at once.  Store the result of encoding in
-       terminal_encode_buffer.
-       (write_glyphs, insert_glyphs): Adjust for the change of
-       encode_terminal_code.
-       (term_init): Initialize terminal_encode_buffer and
-       terminal_encode_buf_size.
-
-       * coding.c (consume_chars): If coding->src_object is nil, don't
-       check annotation.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * character.c (char_string): Use ASCII_CHAR_P instead of
-       SINGLE_BYTE_CHAR_P.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xdisp.c (handle_auto_composed_prop): Check if the last
-       characters of auto-composed region is newly composed with the
-       following characters.
-       (handle_composition_prop): Fix checking of point being inside
-       composition.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * fns.c (concat): Don't change multibyteness of the result by
-       concatenating an 8-bit character.
-
-       * data.c (Faset): Check newelt by CHECK_CHARACTER.  Don't change
-       multibyteness of the result when newelt is an 8-bit character.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used
-       EMACS_INT.
-
-       * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.
-
-       * xfaces.c (face_numeric_value): Declare dim size_t.
-       (Finternal_lisp_face_equal_p): Remove unused f.
-
-       * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)
-       (MATRIX_ROW): Remove unused vars.
-       (draw_glyphs, x_insert_glyphs, fast_find_position)
-       (fast_find_position, fast_find_string_pos): Use EMACS_INT for
-       byte/char counts.
-
-       * regex.c (regex_compile): Remove unused var.
-
-       * minibuf.c (Fminibuffer_complete_word): Remove unused var.
-
-       * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)
-       (Faccessible_keymaps, where_is_internal): Remove unused vars.
-
-       * keyboard.c (cancel_hourglass_unwind): Return Qnil.
-
-       * frame.c (frame_name_fnn_p): Make len EMACS_INT.
-
-       * fileio.c (Fwrite_region): Remove unused var.
-
-       * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
-       (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.
-
-       * composite.c (Fremove_list_of_text_properties): Declare.
-
-       * coding.c (inhibit_pre_post_conversion): Remove (unused).
-       (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.
-       (coding_inherit_eol_type): Remove unused attrs.
-       (detect_coding): Cast arg of detect_eol.
-
-       * charset.c (syms_of_charset): Remove unused var p.
-       (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for
-       byte/char counts.
-
-       * casetab.c (set_case_table): Remove unused var.
-
-       * window.c (Fdisplay_buffer, Fframe_selected_window): Remove
-       unused vars.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * xterm.c (x_bitmap_mask): Declare.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * xterm.c (x_term_init): Fix type error.
-
-       * lisp.h: Add Funibyte_char_to_multibyte.
-
-       * coding.c (Fread_coding_system): Fix arg of XSETSTRING.
-       (Fset_coding_system_priority): Doc fix.
-
-       * ccl.c (ccl_driver): Fix arg of CHARACTERP.
-
-       * indent.c (check_composition): Make start and end EMACS_INT.
-
-       * character.c (lisp_string_width): Make ignore and end EMACS_INT.
-
-       * xdisp.c (handle_composition_prop, check_point_in_composition):
-       Make buffer positions EMACS_INT.
-
-       * composite.c (find_composition, run_composition_function)
-       (update_compositions, Ffind_composition_internal): Make buffer
-       positions EMACS_INT.
-
-       * composite.h (find_composition, update_compositions): Make
-       position args EMACS_INT.
-
-       * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.
-
-       * intervals.c (get_property_and_range):
-       * intervals.h (get_property_and_range): Make start and end EMACS_INT.
-
-       * unexalpha.c: Don't include varargs.h.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * coding.h (ENCODE_UTF_8): New.
-
-       * Makefile.in (gtkutil.o): Depend on coding.h.
-
-       * coding.c (Fset_coding_system_priority): Doc fix.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * fileio.c (Finsert_file_contents): Call setup_coding_system in
-       the case of auto saving.
-
-2008-02-01  Andreas Schwab  <schwab@suse.de>
-
-       * chartab.c (map_char_table, map_char_table_for_charset): Protect
-       `range' from GC.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (decode_coding_sjis): Check bytes more rigidly.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * fileio.c (choose_write_coding_system): Return a decided coding system.
-       (Fwrite_region): Set Vlast_coding_system_used to the return value
-       of choose_write_coding_system.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * charset.c (Fset_charset_priority): Pay attention to duplicated
-       arguments.
-
-       * coding.c (QCcategory): New variable.
-       (syms_of_coding): Defsym it.  Set all elements of
-       Vcoding_category_table and their symbol values.
-       (Fset_coding_system_priority): Doc fix.  Update symbol qvalues of
-       coding-category-XXX, and coding-category-list.
-       (Fdefine_coding_system_internal): Add category in the plist.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * callproc.c (Fcall_process): Handle carryover correctly.
-
-       * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.
-       (raw_text_coding_system): Check NILP (coding_system).
-       (coding_inherit_eol_type): Check NILP (coding_system) and
-       NILP (parent).
-       (consume_chars): Fix for the case of raw-text.
-
-       * process.c (read_process_output): Handle carryover correctly.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * regex.c (re_search_2): Fix last change.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not
-       target_multibyte.  Even in a unibyte case, return a converted
-       multibyte char.
-       (GET_CHAR_AFTER): New macro.
-       (PATFETCH): Translate via multibyte char.
-       (HANDLE_UNIBYTE_RANGE): Delete this macro.
-       (SETUP_MULTIBYTE_RANGE): New macro.
-       (regex_compile): Setup compiled code so that its multibyteness
-       matches that of a target.  Fix the handling of "[X-YZ]" using
-       SETUP_MULTIBYTE_RANGE.
-       (analyse_first) <charset>: For filling fastmap for all multibyte
-       characters, don't check by BASE_LEADING_CODE_P.
-       (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp).  It is
-       the same as RE_MULTIBYTE_P (bufp) now.
-       (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).
-       (TARGET_CHAR_AND_LENGTH): Delete this macro.
-       (TRANSLATE_VIA_MULTIBYTE): New macro.
-       (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).
-       It is the same as RE_MULTIBYTE_P (bufp) now.
-       <exactn>: Translate via multibyte.
-       <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH.  Don't
-       translate it.
-       <charset, charset_not>: Fetch a character by
-       RE_STRING_CHAR_AND_LENGTH.  Translate via multibyte.
-       <duplicate>: Call bcmp_translate with the last arg `multibyte'.
-       <wordbound, notwordbound, wordbeg, wordend, syntaxspec,
-       notsyntaxspec, categoryspec, notcategoryspec> Fetch a character
-       by GET_CHAR_AFTER.
-       (bcmp_translate): Likewise.
-
-       * search.c (compile_pattern): Check the member target_multibyte,
-       not the member multibyte of buf.
-
-       * lread.c (read1): While reading a string, set force_singlebyte
-       and force_multibyte correctly.
-
-       * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
-       up of unibyte_to_multibyte_table.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (setup_coding_system): If coding has
-       post-read-conversion or pre-write-conversion, set
-       CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK
-       respectively.
-       (decode_coding_gap): Run post-read-conversion if any.
-
-       * fileio.c (Finsert_file_contents): Even if we read into a
-       unibyte buffer, check if we must decode the result or not.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (make_conversion_work_buffer): Change the work buffer
-       name to the same one as that of Emacs 21.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.h (make_conversion_work_buffer): Adjust prototype.
-       (code_conversion_restore): Don't extern it.
-
-       * coding.c (detected_mask): Delete unused variable.
-       (decode_coding_iso_2022): Pay attention to the byte sequence of
-       CTEXT extended segment, and retain those bytes as is.
-       (decode_coding_ccl): Delete unused variable `valids'.
-       (setup_coding_system): Delete unused variable `category'.
-       (consume_chars): Delete unused variable `category'.  Make it work
-       for non-multibyte case.
-       (make_conversion_work_buffer): Change argument.
-       (saved_coding): Delete unused variable.
-       (code_conversion_restore): Don't check saved_coding->destination.
-       (code_conversion_save): New function.
-       (decode_coding_gap, encode_coding_gap): Call code_conversion_save
-       instead of record_unwind_protect.
-       (decode_coding_object, encode_coding_object): Likewise.  Recover PT.
-       (detect_coding_system): Delete unused variable `mask'.
-       (Fdefine_coding_system_internal): Delete unused variable id.
-
-       * fileio.c (kill_workbuf_unwind): New function.
-       (Finsert_file_contents): On replacing, call
-       make_conversion_work_buffer with correct args, and call
-       record_unwind_protect with the first arg kill_workbuf_unwind.
-
-       * lisp.h (Fgenerate_new_buffer_name): EXFUN it.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.
-       (fontset_add): Fix for the case that TO is less than TO1.
-       (Ffontset_info): Don't use fallback fontset on checking the
-       default fontset.
-       (dump_fontset): New function for debugging.
-
-       * coding.c (Fdefine_coding_system_internal): Fix for the case that
-       coding_type is Qcharset.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.
-       (map_char_table): Don't inherit the value from the parent on
-       initializing VAL.  Adjust for the above change.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (Qsignature, Qendian): Delete these variables.
-       (syms_of_coding): Don't initialize them.
-       (CATEGORY_MASK_UTF_16_AUTO): New macro.
-       (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in
-       detect_info->found.
-       (decode_coding_utf_16): Don't detect BOM here.
-       (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)
-       is NOT utf_16_without_bom.
-       (setup_coding_system): For a coding system of type utf-16, check
-       if the attribute :endian is Qbig or not (not nil or not), and set
-       CODING_REQUIRE_DETECTION_MASK if BOM detection is required.
-       (detect_coding): If coding type is utf-16 and BOM detection is
-       required, detect it.
-       (Fdefine_coding_system_internal): For a coding system of type
-       utf-16, check if the attribute :endian is Qbig or not (not nil or not).
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (coding_set_source): Fix for the case that the current
-       buffer is different from coding->src_object.
-       (decode_coding_object): Don't use the conversion work buffer if
-       DST_OBJECT is a buffer.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * lread.c (read_emacs_mule_char) [len==2]: Index
-       emacs_mule_charset correctly.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)
-       (detect_coding_big5, decode_coding_big5, encode_coding_big5)
-       (Fdecode_big5_char, Fencode_big5_char): Delete.  (Big5 no longer
-       treated specially.)
-       (setup_coding_system, coding_category, CATEGORY_MASK_ANY)
-       (detected_mask): Remove Big5 bits.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       The following changes are to make the font rescaling facility
-       compatible with Emacs 21.
-
-       * xfaces.c (Vface_font_rescale_alist): Rename from
-       Vface_resizing_fonts.
-       (struct font_name): Rename member resizing_ratio to rescale_ratio.
-       (font_rescale_ratio): Rename from font_resizing_ratio.
-       (split_font_name): Set font->rescale_ratio.
-       (better_font_p): Pay attention to font->rescale_ratio.
-       (build_scalable_font_name): Likewise.  Change RESX, and RESY
-       fields.
-       (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)
-       (Qutf_16_le): Remove these variables.
-       (syms_of_coding): Don't DEFSYM them.
-       (decode_coding_utf_16): Fix handling of BOM.
-       (encode_coding_utf_16): Fix handling of BOM.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * fileio.c (Finsert_file_contents): On replacing, before decoding
-       the file into the work buffer, set point of the work buffer to the end.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * coding.c (Fcheck_coding_systems_region): Fix type errors.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
-       and fix C types.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xdisp.c (SKIP_GLYPHS): New macro.
-       (set_cursor_from_row): Pay attention to string display properties.
-
-       * category.c (copy_category_entry): Fix for the case that RANGE
-       is an integer.
-
-       * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
-
-       * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * charset.c (Fcharset_id_internal): New function.
-       (syms_of_charset): Defsubr it.
-
-       * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver
-       with the last arg charset_list acquired from coding.
-       (Fdefine_coding_system_internal): For ccl-based coding system, fix
-       the attribute coding_attr_ccl_valids.
-
-       * coding.h (enum define_coding_ccl_arg_index): Set the first
-       member coding_arg_ccl_decoder to coding_arg_max.
-
-       * ccl.h (ccl_driver): Adjust prototype.
-
-       * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
-       (ccl_driver): New arg CHARSET_LIST.  Use the above macros instead
-       of DECODE_CAHR, ENCODE_CHAR, CHAR_CHARSET.
-       (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
-       last arg Qnil.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
-       call encode_char.
-
-       * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * composite.c (syms_of_composite): Make composition_hash_table weak.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * dispextern.h (check_face_attributes, generate_ascii_font_name)
-       (font_name_registry): Don't extern them.
-       (split_font_name_into_vector, build_font_name_from_vector): Extern them.
-
-       * fontset.h (Qfontset): Don't extern it.
-       (new_fontset_from_font_name): Extern it.
-
-       * fontset.c: Give 8 extra slots to fontset objects.
-       (Qfontset_info): New variable.
-       (syms_of_fontset): Defsym it.
-       (FONTSET_FALLBACK): New macro.
-       (fontset_face): Try also the default fontset.
-       (make_fontset): Realize a fallback fontset from the default fontset.
-       (generate_ascii_font_name): Move from xfaces.c.  Rewritten by
-       using split_font_name_into_vector and build_font_name_from_vector.
-       (Fset_fontset_font): Access the elements of font_spec by enum
-       FONT_SPEC_INDEX.  If font_spec is a string, extract the registry
-       name by using split_font_name_into_vector.
-       (Fnew_fontset): If no ASCII font is specified in FONTLIST,
-       generate a proper font name from the fontset name.  Update
-       Vfontset_alias_alist.
-       (n_auto_fontsets): New variable.
-       (new_fontset_from_font_name): New function.
-       (Ffont_info): Store the information about fonts generated from the
-       default fontset in the first extra slot of the returned char-table.
-
-       * xfaces.c (generate_ascii_font_name): Move to fontset.c.
-       (font_name_registry): Delete function.
-       (split_font_name_into_vector): New function.
-       (build_font_name_from_vector): New function.
-       (font_list): The argument REGISTRY is now a list of registry names.
-       (choose_face_font): If we are choosing an ASCII font, and ATTRS
-       specifies an explicit font name, return the name as is.  Make a
-       list of registy names.
-
-       * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change
-       of x_new_fontset.
-       (Fx_create_frame): Don't call x_new_fontset here.  Just use
-       x_list_fonts to check the existence of fonts.
-
-       * xterm.h (x_new_fontset): Adjust prototype.
-
-       * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp
-       string.  Use new_fontset_from_font_name to create a fontset from a
-       font name.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * syntax.c (Vfind_word_boundary_function_table): New name for
-       Vnext_word_boundary_function_table.
-       (find-word-boundary-function-table): New name for
-       next-word-boundary-function-table.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * Makefile.in: Fix some dependencies.
-
-       * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but
-       set it to nil before returning.
-
-       * composite.c (update_compositions): Fix type error.
-
-       * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xterm.c (x_new_font): Optimize for the case that the font is
-       already set for the frame.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * chartab.c (char_table_ascii): Check if the char table contents
-       is sub-char-table or not.
-       (char_table_set, char_table_set_range): Fix argument to
-       char_table_ascii.
-
-       * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.
-       (detect_coding_utf_8, detect_coding_utf_16)
-       (detect_coding_emacs_mule, detect_coding_iso_2022)
-       (detect_coding_sjis, detect_coding_big5)
-       (detect_coding_ccl, detect_coding_charset): Change argument MASK
-       to DETECT_INFO.  Update DETECT_INFO and return 1 if the byte
-       sequence is valid in this coding system.  Change callers.
-       (MAX_ANNOTATION_LENGTH): New macro.
-       (ADD_ANNOTATION_DATA): New macro.
-       (ADD_COMPOSITION_DATA): Change argument.  Change callers.  Call
-       ADD_ANNOTATION_DATA.  Change the format of annotation data.
-       (ADD_CHARSET_DATA): New macro.
-       (emacs_mule_char): New argument ID.  Change callers.
-       (decode_coding_emacs_mule, decode_coding_iso_2022)
-       (decode_coding_sjis, decode_coding_big5, decode_coding_charset):
-       Produce charset annotation data in coding->charbuf.
-       (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention
-       to charset annotation data in coding->charbuf.
-       (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK
-       coding->common_flags if the coding system is iso-2022 based and
-       uses designation.
-       (produce_composition): Adjust for the new annotation data format.
-       (produce_charset): New function.
-       (produce_annotation): Handle charset annotation.
-       (handle_composition_annotation, handle_charset_annotation): New
-       functions.
-       (consume_chars): Handle charset annotation.  Utilize the above two
-       functions.
-       (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same
-       buffer, get the deleted text as a string and set
-       coding->src_object to that string.
-       (detect_coding, detect_coding_system): Use the new struct
-       coding_detection_info.
-
-       * coding.h (struct coding_detection_info): New structure.
-       (struct coding_system): Adjust prototype of the member `detector'.
-       (CODING_ANNOTATE_CHARSET_MASK): New macro.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * insdel.c (insert_from_gap): Fix argument to offset_intervals.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * keymap.c (apropos_predicate, apropos_accumulate): Declare static.
-       (Fapropos_internal): Don't gcpro apropos_accumulate.  Set result
-       to new local and nullify apropos_accumulate before returning.
-       (syms_of_keymap): Staticpro and initialize apropos_accumulate.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * charset.c (Fdefine_charset_internal): Setup charset.fast_map
-       correctly.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * fns.c (Flanginfo): Call synchronize_system_time_locale.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       The following changes are to make character composition happen
-       automatically on displaying.
-
-       * Makefile.in (lisp, shortlisp): Add composite.elc.
-
-       * composite.h (Qauto_composed, Vauto_composition_function)
-       (Qauto_composition_function): Extern them.
-
-       * composite.c (Vcomposition_function_table)
-       (Qcomposition_function_table): Delete variables.
-       (Qauto_composed, Vauto_composition_function)
-       (Qauto_composition_function): New variables.
-       (run_composition_function): Don't call
-       compose-chars-after-function.
-       (update_compositions): Clear `auto-composed' text property.
-       (compose_chars_in_text): Delete this function.
-       (syms_of_composite): Staticpro Qauto_composed and
-       Qauto_composition_function.  Declare Vauto_composition_function as
-       a Lisp variable.
-
-       * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
-
-       * xdisp.c (it_props): Add an entry for Qauto_composed.
-       (handle_auto_composed_prop): New function.
-
-       * xselect.c (selection_data_to_lisp_data): Don't call
-       compose_chars_in_text.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * keyboard.c (read_char): Modify checking around use of
-       Vkeyboard_translate_table.
-
-       * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
-       and fix C types.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)
-       (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
-       (decode_coding_charset, produce_chars): When eol_type is Qdos, handle
-       the case that the last byte is '\r' correctly.
-       (decode_coding): Flush out the unprocessed data correctly.
-       (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * xterm.c (XTread_socket): Fix changes for defined keysyms.
-       Add XK_ISO... case.
-       (xaw_scroll_callback): Revert last change.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xfaces.c (Vface_resizing_fonts): New variable.
-       (struct font_name): New member `resizing_ratio'.
-       (font_resizing_ratio): New function.
-       (split_font_name): Set font->resizing_ratio.
-       (better_font_p): Pay attention to font->resizing_ratio.
-       (build_scalable_font_name): Likewise.  Don't change POINT_SIZE,
-       RESX, and RESY fields.
-       (try_alternative_families): Try scalable fonts if
-       Vscalable_fonts_allowed is not Qt.
-       (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * xterm.c (xaw_scroll_callback): Cast correctly.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
-       (lispy_kana_keys): Comment out.
-       (make_lispy_event) [XK_kana_A]: Comment out.
-
-       * xterm.c (xaw_scroll_callback): Cast call_data.
-       (XTread_socket): Deal with ASCII keysyms.
-       (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * xterm.c (Vx_keysym_table): New.
-       (syms_of_xterm): Initialize it.
-       (XTread_socket): Use it.
-       From head: Eliminate incorrect optimization that tried to avoid
-       decoding the output of X*LookupString.
-       (x_get_font_repertory): Delete charset declaration.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (detect_coding_charset): If only ASCII bytes are found,
-       return 0.
-       (Fdefine_coding_system_internal): Setup
-       CODING_ATTR_ASCII_COMPAT (attrs) correctly.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * coding.c (Fcheck_coding_system): Doc fix.
-
-       * editfns.c (Finsert_byte): Return a proper value.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (decode_coding): Fix args to translate_chars.  Pay
-       attention to Vstandard_translation_table_for_decode.
-       (encode_coding): Fix args to translate_chars.  Pay attention to
-       Vstandard_translation_table_for_encode.
-
-       * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
-       SINGLE_BYTE_CHAR_P.
-
-       * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
-       not by SINGLE_BYTE_CHAR_P.
-
-       * fns.c (concat): Check CH by ASCII_CHAR_P, not by
-       SINGLE_BYTE_CHAR_P.
-
-       * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
-       SINGLE_BYTE_CHAR_P.
-
-       * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
-       by SINGLE_BYTE_CHAR_P.
-
-       * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
-       SINGLE_BYTE_CHAR_P.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * fns.c (Flanginfo): Fix typo.
-
-       * unexelf.c (unexec): Make last change conditional on Irix 6.5.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (detect_coding_utf_8, detect_coding_utf_16)
-       (detect_coding_emacs_mule, detect_coding_iso_2022)
-       (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check
-       incomplete byte sequence.  Don't update *mask when correctly detected.
-       (decode_coding_sjis): Fix decoding of katakana-jisx0201.
-       (detect_eol): Delete the argument CODING, and add the argument CATEGORY.
-       (detect_coding, detect_coding_system): Adjust for the changes above.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * character.c (char_string): Rename from
-       char_string_with_unification.  Pay attention to CHAR_MODIFIER_MASK.
-       (string_char): Rename from string_char.
-
-       * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string
-       if C is greater than MAX_3_BYTE_CHAR.
-       (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call
-       string_char instead of string_char_with_unification.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * keymap.c (push_key_description): Pay attention to force_multibyte.
-
-       * regex.c (re_search_2): Fix for the case of unibyte buffer.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * charset.c (define_charset_internal): Rename `supprementary'.
-
-       * Makefile.in (lisp, shortlisp): Remove latin-N.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * xfns.c (x_window, x_window): Use use_xim.
-
-       * xterm.c (use_xim): Initialize.
-       (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
-       (x_term_init): Maybe set use_xim.
-
-       * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * search.c (search_buffer): Fix case-fold-search of multibyte
-       characters.
-       (boyer_moore): Rename the last argument to char_high_bits.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xdisp.c (display_string): Fix for the case of zero width glyph.
-
-       * xfns.c (x_set_font): Change the error message of the case that
-       x_new_fontset returns Qt.
-
-       * xfaces.c (set_lface_from_font_name): Reject the default fontset.
-       (Finternal_set_lisp_face_attribute): Use signal_error for the
-       error of invalid fontset.
-
-       * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
-       fontset, return Qt.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * unexelf.c (unexec): Make .got handling not SGI-specific.
-
-       * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
-
-       * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
-
-       * keyboard.c (read_key_sequence): Fix type error.
-
-       * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
-       type error.
-
-       * fontset.c (fontset_add): Return Lisp_Object.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * charset.h (charset_ordered_list_tick): Declare extern.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       The following changes (and some of 2008-02-01 changes of mine) are
-       for handling syntax, category, and case conversion for unibyte
-       characters by converting them to multibyte on the fly.  With these
-       changes, we don't have to setup syntax and case tables for unibyte
-       characters in each language environment.
-
-       * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
-       multibyte if necessary.
-
-       * bytecode.c (Fbyte_code): Likewise.
-
-       * character.h (LEADING_CODE_LATIN_1_MIN)
-       (LEADING_CODE_LATIN_1_MAX): New macros.
-       (unibyte_to_multibyte_table): Extern it.
-       (unibyte_char_to_multibyte): New macro.
-       (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.
-       (CHAR_LEADING_CODE): New macro.
-       (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.
-
-       * character.c (unibyte_to_multibyte_table): New variable.
-       (unibyte_char_to_multibyte): Move to character.h and define as macro.
-       (multibyte_char_to_unibyte): If C is an eight-bit character,
-       convert it to the corresponding byte value.
-
-       * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is
-       not 1, signals an error.  Update the elements of
-       unibyte_to_multibyte_table.
-       (init_charset_once): Initialize unibyte_to_multibyte_table.
-       (syms_of_charset): Define the charset `iso-8859-1'.
-
-       * cmds.c (internal_self_insert): In a multibyte buffer, insert C
-       as is without converting it to unibyte.  In a unibyte buffer,
-       convert C to multibyte before checking the syntax.
-
-       * lisp.h (unibyte_char_to_multibyte): Delete extern.
-
-       * minibuf.c (Fminibuffer_complete_word): Use the macro
-       FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
-
-       * regex.h (struct re_pattern_buffer): New member target_multibyte.
-
-       * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
-       (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte.  If
-       that is zero, convert an eight-bit char to multibyte.
-       (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
-       non-emacs case.
-       (PATFETCH): Convert an eight-bit char to multibyte.
-       (HANDLE_UNIBYTE_RANGE): New macro.
-       (regex_compile): Setup the compiled pattern for multibyte chars
-       even if the given regex string is unibyte.  Use PATFETCH_RAW
-       instead of PATFETCH in many places.  To handle `charset'
-       specification of unibyte, call HANDLE_UNIBYTE_RANGE.  Use bitmap
-       only for ASCII chars.
-       (analyse_first) <exactn>: Simplify because the compiled pattern
-       is multibyte.
-       <charset_not>: Setup fastmap from bitmap only for ASCII chars.
-       <charset>: Use CHAR_LEADING_CODE to get leading codes.
-       <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.
-       (re_compile_fastmap) [emacs]: Call analyse_first with the arg
-       multibyte always 1.
-       (re_search_2): In emacs, set the locale variable multibyte to 1,
-       otherwise to 0.  New local variable target_multibyte.  Check it
-       to decide the multibyteness of STR1 and STR2.  If
-       target_multibyte is zero, convert unibyte chars to multibyte
-       before translating and checking fastmap.
-       (TARGET_CHAR_AND_LENGTH): New macro.
-       (re_match_2_internal): In emacs, set the locale variable multibyte
-       to 1, otherwise to 0.  New local variable target_multibyte.  Check
-       it to decide the multibyteness of STR1 and STR2.  Use
-       TARGET_CHAR_AND_LENGTH to fetch a character from D.
-       <charset, charset_not>: If multibyte is nonzero, check fastmap
-       only for ASCII chars.  Call bcmp_translate with
-       target_multibyte, not with multibyte.
-       <begline>: Declare the local variable C as `unsigned'.
-       (bcmp_translate): Change the last arg name to target_multibyte.
-
-       * search.c (compile_pattern_1): Don't adjust the multibyteness of
-       the regexp pattern and the matching target.  Set cp->buf.multibyte
-       to the multibyteness of the regexp pattern.  Set
-       cp->but.target_multibyte to the multibyteness of the matching target.
-       (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of
-       FETCH_STRING_CHAR_ADVANCE.
-       (Freplace_match): Convert unibyte chars to multibyte.
-
-       * syntax.c (char_quoted, back_comment, scan_words)
-       (Fforward_comment, scan_lists, Fbackward_prefix_chars)
-       (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert
-       unibyte chars to multibyte.
-       (skip_chars): Delete the arg syntaxp, and move the code for
-       handling syntaxes to skip_syntaxes.  Change callers.
-       Fix the case that the multibyteness of STRING and the current
-       buffer doesn't match.
-       (skip_syntaxes): New function.
-       (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by
-       SINGLE_BYTE_CHAR_P.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xfaces.c (QCfontset): New variable.
-       (LFACE_FONTSET): New macro.
-       (check_lface_attrs): Check also LFACE_FONTSET_INDEX.
-       (set_lface_from_font_name): Setup LFACE_FONTSET (lface).
-       (Finternal_set_lisp_face_attribute)
-       (Finternal_get_lisp_face_attribute): Handle QCfontset.
-       (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,
-       check also LFACE_FONTSET_INDEX.
-       (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not
-       attrs[LFACE_FONT_INDEX].
-       (syms_of_xfaces): Intern and staticpro QCfontset.
-
-       * dispextern.h (enum lface_attribute_index): New member
-       LFACE_FONTSET_INDEX.
-
-       * fns.c (base64_encode_1): Handle eight-bit chars correctly.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (coding_set_destination): Fix coding->destination for
-       the case converting a region.
-       (encode_coding_utf_8): Encode eight-bit chars as single byte.
-       (encode_coding_object): Fix coding->dst_pos and
-       coding->dst_pos_byte for the case converting a region.
-
-       * insdel.c (insert_from_gap): Make it work even if PT != GTP.
-
-       * character.h (BYTE8_STRING): New macro.
-
-       * fns.c (base64_decode_1): Insert eight-bit chars correctly.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
-       characters by octal form.
-
-       * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
-
-       * buffer.h (_fetch_multibyte_char_len): Delete extern.
-       (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use
-       _fetch_multibyte_char_len.
-       (FETCH_CHAR_AS_MULTIBYTE): New macro.
-
-       * casetab.c (set_canon, set_identity, shuffle): Simplify.
-
-       * casefiddle.c (casify_object): Simplify.  Handle the case that
-       the case conversion change the byte length.
-       (casify_region): Likewise.
-
-       * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
-
-       * character.c (_fetch_multibyte_char_len): Delete this variable.
-       (syms_of_character): Setup Vprintable_chars.
-
-       * editfns.c (Fchar_equal): Fix for the unibyte case.
-       (Finsert_byte): New function.
-       (syms_of_editfns): Defsubr it.
-
-       * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
-       of direct code 0x3ffff.
-
-       * search.c (Freplace_match): Fix for the unibyte case.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * lread.c (safe_to_load_p): Fix the logic.
-
-       * syntax.c (scan_words): Don't treat characters belonging to
-       different scripts as constituting a word.
-
-       * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
-
-       * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
-
-       * emacs.c (main): In the case of --unibyte, instead of aborting on
-       finding non-empty buffer, make it unibyte.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
-       to create a fontset.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * character.c (Funibyte_char_to_multibyte): Doc fix.
-
-       * xfns.c [HAVE_STDLIB_H]: Fix last change.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * fontset.c (fontset_add): Make the type `int'.
-       (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
-
-       * character.c (unibyte_char_to_multibyte)
-       (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
-       charset_unibyte, not charset_primary.
-
-       * charset.h (charset_unibyte): Extern it instead of charset_primary.
-
-       * charset.c (charset_unibyte): Rename from charset_primary.
-       (Funibyte_charset): Rename from Fprimary_charset.
-       (Fset_unibyte_charset): Rename from Fset_primary_charset.
-       (syms_of_charset): Adjust for the above changes.
-
-       * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not
-       SINGLE_BYTE_CHAR_P.  Fix the logic of handling non-ASCII char when
-       it->multibyte_p is zero.
-
-       * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
-       Delete extern.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (Fdefine_coding_system_internal): Fix category setting
-       for a coding system of type iso-2022.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * syntax.c (Vnext_word_boundary_function_table): New variable.
-       (next-word-boundary-function-table): Declare it as a Lisp variable
-       in syms_of_syntax.
-       (scan_words): Call functions in Vnext_word_boundary_function_table
-       if any.
-
-       * xterm.c (x_load_font): Initialize fontp->fontset to -1.
-
-       * fontset.c (fs_load_font): If fontp->charset is not negative,
-       return fontp without setting its members.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
-
-       * m/sparc.h (HAVE_ALLOCA): Delete.
-
-       * s/irix6-5.h: Don't include strings.h.
-       (bcopy, bzero, bcmp): Don't undef.
-
-       * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
-
-       * s/usg5-4.h (NO_SIOCTL_H): Don't define.
-       (TIOCSIGSEND): Don't test IRIX6.
-       (bcopy, bzero, bcmp): Define conditionally.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * buffer.c (Qas, Qmake, Qto): New variables.
-       (Fset_buffer_multibyte): New optional arg METHOD.  Change caller.
-       (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.
-
-       * callproc.c (Fcall_process): Don't call insert_1_both directly if
-       we are inserting a process output into a multibyte buffer.
-
-       * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
-       multibyte_char_to_unibyte.
-
-       * character.c (Funibyte_char_to_multibyte): If C can't be decoded
-       by the primary charset, make it eight-bit char.
-       (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.
-
-       * charset.c (charset_eight_bit, Qeight_bit_control): New variables.
-       (charset_8_bit__control, charset_8_bit_graphic)
-       (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.
-       (define_charset_internal): New function.
-       (syms_of_charset): Call define_charset_internal for pre-defined
-       charsets.
-
-       * charset.h (charset_8_bit): Extern it.
-
-       * coding.c (make_conversion_work_buffer): Adjust for the change
-       of Fset_buffer_multibyte.
-       (encode_coding_raw_text): Increment p0 in the loop.
-
-       * lisp.h (Fset_buffer_multibyte): Adjust prototype.
-
-       * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
-       for the change of Fset_buffer_multibyte.
-
-       * fns.c (Fstring_to_multibyte): New function.
-       (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * xfns.c (x_put_x_image): Declare args.
-
-       * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
-       (try_font_list): Declare an arg.
-
-       * xdisp.c (message2_nolog, set_message): Declare an arg.
-
-       * terminfo.c (tparam): Declare an arg.  Use P_ to declare tparm.
-
-       * syntax.c (scan_sexps_forward): Declare an arg.
-
-       * scroll.c (calculate_scrolling, calculate_direct_scrolling):
-       Declare an arg.
-
-       * lisp.h (Fnew_fontset): Declare.
-
-       * keymap.c (push_key_description): Call CHARACTERP correctly.
-
-       * fontset.c (fontset_add): Declare args.  Call make_number correctly.
-       (face_for_char): Delete unused vars.
-       (Fset_fontset_font): Doc fix.  Delete unused vars.
-
-       * doc.c (Fsubstitute_command_keys): Delete unused vars.
-
-       * composite.c (update_compositions): Declare arg.
-
-       * cm.c (calccost, cmgoto): Declare args.
-
-       * charset.c: Remove `emacs' conditional.  Doc fixes.
-       (map_char_table_for_charset): Declare.
-
-       * character.c (syms_of_character) <translation-table-vector>: Doc fix.
-
-       * ccl.c: Remove `emacs' conditional.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       The following changes are to allow specifying multiple font
-       patterns for a character range (specified by script or charset).
-
-       * Makefile.in (abbrev.o): Depend on syntax.h.
-       (xfaces.o): Depend on charset.h.
-
-       * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
-       SINGLE_BYTE_CHAR_P.
-
-       * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
-
-       * character.h (Vchar_script_table): Extern it.
-
-       * character.c (Vscript_alist): Delete.
-       (Vchar_script_table, Qchar_script_table): New variable.
-       (syms_of_character): Declare Vchar_script_table as a lisp variable
-       and initialize it.
-
-       * chartab.c (Fmake_char_table): Doc fix.  If PURPOSE doesn't
-       have property char-table-extra-slots, make no extra slot.
-
-       * dispextern.h (struct face): Delete member `charset'.
-       (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not
-       SINGLE_BYTE_CHAR_P.
-       (choose_face_font, lookup_non_ascii_face, font_name_registry):
-       Add prototypes.
-       (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.
-       (generate_ascii_font_name): Rename from generate_ascii_font.
-
-       * fontset.h (get_font_repertory_func): New prototype.
-       (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.
-       (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.
-
-       * fontset.c (Qprepend, Qappend): New variables.
-       (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.
-       (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.
-       (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.
-       (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.
-       (fontset_ref_and_range, fontset_add, reorder_font_vector)
-       (load_font_get_repertory): New functions.
-       (fontset_set): Delete.
-       (fontset_face): New arg FACE.  Return face ID, not face.
-       Complete re-write to handle new fontset structure.  Change caller.
-       (free_face_fontset): Use ASET istead of AREF (X) = Y.
-       (face_for_char): Don't call lookup_face.
-       (make_fontset_for_ascii_face): New arg FACE.
-       (fs_load_font): New arg CHARSET_ID.  Don't check
-       Vfont_encoding_alist here.
-       (find_font_encoding): New function.
-       (list_fontsets): Use STRINGP, not ! NILP.
-       (accumulate_script_ranges): New function.
-       (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely
-       re-written to handle new fontset structure.
-       (Ffontset_font): Return a copy of element.
-       (syms_of_fontset): Define symbols Qprepend and Qappend.  Fix
-       docstring of font-encoding-alist.
-
-       * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).
-       (Fset_fotset_font): Fix arguments to 5.
-
-       * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.
-
-       * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):
-       Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
-       (highlight_trailing_whitespace): Adjust for the change of
-       lookup_named_face.
-
-       * xfaces.c: Include charset.h.
-       (load_face_font): Delete argument C.  Change caller.
-       (generate_ascii_font_name): Rename from generate_ascii_font.
-       (font_name_registry): New function.
-       (cache_face): Store ascii faces before non-ascii faces in buckets.
-       (lookup_face): Delete arguments C and BASE_FACE.  Change caller.
-       Lookup only ascii faces.
-       (lookup_non_ascii_face): New function.
-       (lookup_named_face): Delete argument C.  Change caller.
-       (lookup_derived_face): Delete argument C.  Change caller.
-       (try_font_list): New arg PATTERN.  Change caller.  If PATTERN is
-       a string, just call font_list with it.
-       (choose_face_font): Delete arguments FACE and C.  New arg
-       FONT_SPEC.  Change caller.
-       (realize_face, realize_x_face): Delete arguments C and BASE_FACE.
-       Change caller.
-       (realize_non_ascii_face): New function.
-       (realize_x_face): Call load_face_font here.
-       (realize_tty_face): Delete argument C.  Change caller.
-       (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to
-       get a face ID.
-       (dump_realized_face): Don't print charset of FACE.
-
-       * xfns.c (x_set_font): Always call x_new_fontset and
-       store_frame_parameter.
-       (Fx_create_frame): Call x_new_fontset, not x_new_font.
-       (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.
-
-       * xterm.h (x_get_font_repertory): Extern it.
-
-       * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not
-       SINGLE_BYTE_CHAR_P.  Fix the logic of handling non-ASCII char when
-       it->multibyte_p is zero.
-       (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
-       (x_new_fontset): If FONTSETNAME doesn't match any existing
-       fontsets, create a new one.
-       (x_get_font_repertory): New function.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (Ffind_coding_systems_region_internal): Detect an
-       ASCII only string correctly.
-
-       * lread.c (Fload): Don't load with Qload_force_doc_strings t if
-       version is 0.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * lread.c: Include "coding.h".
-       (Qget_emacs_mule_file_char, Qload_force_doc_strings)
-       (load_each_byte, unread_char): New variables.
-       (readchar_backlog): Delete.
-       (readchar): Return a character unless load_each_byte is nonzero.
-       Handle the case that readcharfun is Qget_emacs_mule_file_char or a
-       cons.  If unread_char is not -1, simply return it.
-       (unreadchar): Handle the case that readcharfun is
-       Qget_emacs_mule_file_char or a cons.  Set unread_char if necessary.
-       (read_multibyte): Delete.
-       (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)
-       (read_emacs_mule_char): New functions.
-       (Fload): Even if the file doesn't have the extension ".elc", if
-       safe_to_load_p returns a positive version number, assume that the
-       file contains bytecompiled code.  If the version is less than 22,
-       load the file while decoding multibyte sequences by emacs-mule.
-       (readevalloop): Don't use readchar_backlog.
-       (Fread): Likewise.  Pay attention to the case that STREAM is a cons.
-       (Fread_from_string): Pay attention to the case that STREAM is a cons.
-       (read_escape): Delete the arg BYTEREP.
-       (read1): Set load_each_byte to 1 temporarily while handling
-       #@NUMBER.  Don't call read_multibyte.
-       (read_vector): Call Fread with a cons.  If readcharfun is
-       Qget_emacs_mule_file_char, decode the read string by emacs-mule.
-       (read_list): If doc_reference is 2, make the cdr part string as unibyte.
-       (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char
-       and Qload_force_doc_strings.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xdisp.c (face_before_or_after_it_pos): Call
-       FETCH_MULTIBYTE_CHAR with byte postion, not char position.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * character.h (TRAILING_CODE_P): New macro.
-       (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.
-       (string_char_with_unification): Fix prototype.
-       (Vscript_alist): Extern it.
-
-       * character.c (Vscript_alist): New variable.
-       (string_char_with_unification, str_as_unibyte)
-       (string_escape_byte8): Add `const' to local variables.
-       (syms_of_character): Declare script-alist as a Lisp variable.
-
-       * charset.h (Vcharset_ordered_list): Extern it.
-       (charset_ordered_list_tick): Extern it.
-       (EMACS_MULE_LEADING_CODE_PRIVATE_11)
-       (EMACS_MULE_LEADING_CODE_PRIVATE_12)
-       (EMACS_MULE_LEADING_CODE_PRIVATE_21)
-       (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.
-       (Funify_charset): Adjust for the change of Funify_charset.
-
-       * charset.c (charset_ordered_list_tick): New variable.
-       (Fdefine_charset_internal): Increment charset_ordered_list_tick.
-       (Funify_charset): New optional arg DEUNIFY.  If it is non-nil,
-       deunify intead of unify a charset.
-       (string_xstring_p): Add `const' to local variables.
-       (find_charsets_in_text): Add `const' to arguments and local variables.
-       (encode_char): Adjust for the change of Funify_charset.  Fix
-       detecting of invalid code.
-       (Fset_charset_priority): Increment charset_ordered_list_tick.
-       (Fmap_charset_chars): Fix handling of default value for FROM_CODE
-       and TO_CODE.
-
-       * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)
-       (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.
-       Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.
-       (decode_coding_ccl, consume_chars)
-       (Ffind_coding_systems_region_internal)
-       (Fcheck_coding_systems_region): Add `const' to local variables.
-
-       * print.c (print_object): Use octal form for printing the
-       contents of a bool vector.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.
-       <version == 20>: Refuse to load.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * fns.c: Move coding.h.
-       (Qcodeset, Qdays, Qmonths): New.
-       (concat): Use CHARACTERP instead of INTEGERP.
-       (Flocale_codeset): Delete.
-       (Flanginfo): New function.
-       (syms_of_fns): Change accordingly.
-
-       * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * casetab.c (init_casetab_once, init_casetab_once): Fix
-       CHAR_TABLE_SET call.
-
-       * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.
-
-       * character.c (syms_of_character): Fix CHAR_TABLE_SET call.
-
-       * charset.c (Fmap_charset_chars): Check args.  Convert Lisp types.
-       (load_charset_map, Fdeclare_equiv_charset, Fencode_char)
-       (Fset_charset_priority, syms_of_charset): Convert Lisp types.
-
-       * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.
-
-       * coding.c (ENCODE_DESIGNATION, decode_eol)
-       (make_conversion_work_buffer, code_conversion_restore)
-       (Fdefine_coding_system_internal): Convert Lisp types.
-       (code_conversion_restore): Use EQ, not ==.
-       (Fencode_coding_string): Fix code_convert_string call.
-
-       * coding.h (code_convert_region): Fix prototype.
-
-       * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.
-
-       * fontset.c (fontset_ref, fontset_set, fs_load_font)
-       (Ffontset_info): Convert Lisp types.
-
-       * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.
-
-       * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.
-
-       * xdisp.c (display_mode_element): Fix call of Fset_text_properties.
-
-       * chartab.c: Include "...h", not <...h> in some cases.
-
-       * callproc.c (Fcall_process): Remove unused variables.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * coding.c (Fset_coding_system_priority): Allow null arg list.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * minibuf.c (Fminibuffer_complete_word): Remove unused var.
-       (Fself_insert_and_exit): Use CHARACTERP.
-
-       * callproc.c (Fcall_process): Remove unused vars.
-
-       * xterm.c (XTread_socket): Add extra dead keysyms.
-
-       * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.
-
-       * dispextern.h: Remove prototypes for redraw_frame,
-       redraw_garbaged_frames.
-
-       * cmds.c (Fself_insert_command): Use CHARACTERP.
-
-       * chartab.c (make_sub_char_table): Remove unused var.
-       (Fset_char_table_default, Fmap_char_table): Doc fix.
-
-       * keymap.c (access_keymap): Remove generic char code.
-       (push_key_description): Use CHARACTERP.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * charset.c: Doc fixes.
-       (Funify_charset): Extra checking.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * lread.c: Remove some unused variables.
-       (safe_to_load_p): If safe, return the magic number version byte.
-       (Fload): Maybe use load-with-code-conversion.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * category.c (Fmodify_category_entry): Don't modify the contents
-       of category_set for characters out of the range.  Avoid
-       unnecessary modification.
-
-       * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of
-       Vchar_unify_table.  The default value of the table is now nil.
-
-       * character.c (syms_of_character): Setup Vchar_width_table for
-       eight-bit-control and raw-byte chars.
-
-       * charset.h (enum define_charset_arg_index): Delete
-       charset_arg_parents and add charset_arg_subset and
-       charset_arg_superset.
-       (enum charset_attr_index): Delete charset_parents and add
-       charset_subset and charset_superset.
-       (enum charset_method): Delete CHARSET_METHOD_INHERIT and add
-       CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.
-       (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.
-       (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)
-       (CHARSET_SUPERSET): New macros.
-       (charset_work): Extern it.
-       (ENCODE_CHAR): Use charset_work.
-       (CHAR_CHARSET_P): Adjust for the change of encoder format.
-       (map_charset_chars): Extern it.
-
-       * charset.c (load_charset_map): Set the default value of encoder
-       and deunifier char-tables to nil.
-       (map_charset_chars): Change argument.  Change callers.  Use
-       map_char_table_for_charset instead of map_char_table.
-       (Fmap_charset_chars): New optional args from_code and to_code.
-       (Fdefine_charset_internal): Adjust for the change of
-       `define-charset' (:parents -> :subset or :superset).
-       (charset_work): New variable.
-       (encode_char, syms_of_charset): Adjust for the change of
-       Fdefine_charset_internal.
-       (Ffind_charset_string): Setup the vector `charsets' correctly.
-
-       * chartab.c (sub_char_table_ref_and_range): New arg default.  Fix
-       the previous change.
-       (char_table_ref_and_range): Adjust for the above change.
-       (map_sub_char_table_for_charset): New function.
-       (map_char_table_for_charset): New function.
-
-       * keymap.c (describe_vector): Handle a char-table directly here.
-       (describe_char_table): Delete.
-
-       * lisp.h (map_charset_chars): Delete.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * fns.c (count_combining): Comment out (unused).
-       (Flocale_codeset): New.
-       (syms_of_fns): Defsubr it.
-
-       * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.
-       (size_t): Remove.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * Makefile.in (chartab.o): Depend on charset.h.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * character.c (syms_of_character): Set the default value of
-       Vprintable_chars to Qnil.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * charset.c (load_charset_map): Handle the case that from < to
-       correctly.
-
-       * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)
-       (encode_coding_sjis, encode_coding_big5, encode_coding_charset):
-       Pay attention to raw-8-bit chars.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.
-       It is not bytecompiled now.
-
-       * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)
-       (charset_jisx0208): New variables.
-       (Fdefine_charset_internal): Setup them if appropriate.
-       (init_charset_once): Initialize them to -1.
-
-       * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)
-       (charset_jisx0208): Extern them.
-
-       * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.
-       (CODING_ISO_FLAG_USE_OLDJIS): New macro.
-       (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.
-       (setup_iso_safe_charsets): Fix arguments to Fassq.
-       (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)
-       (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to
-       CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.
-       (encode_coding_iso_2022): Change the 1st arg to
-       ENCODE_ISO_CHARACTER to a variable.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * charset.h (enum define_charset_arg_index): New enums
-       charset_arg_min_code and charset_arg_max_code.
-       (struct charset): New member char_index_offset.
-
-       * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):
-       Take charset->char_index_offset into account.
-       (Fdefine_charset_internal): Handle args[charset_arg_min_code] and
-       args[charset_arg_max_code].  Setup charset.char_index_offset.
-       (syms_of_charset): Fix args to Fdefine_charset_internal.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * coding.c (decode_coding_utf_8): Reject overlong sequences.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * coding.c: Doc fixes.
-       (Fcoding_system_aliases): Fix return value.
-       (Qmac): Remove (duplicated) definition.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * charset.c (Fcharset_priority_list, Fset_charset_priority): New
-       functions.
-
-       * character.c (Fstring): Doc fix.
-
-       * charset.c (Fdefine_charset_alias): Update Vcharset_list.
-
-       * fontset.c (Ffontset_info): Doc fix.  Return charset names, not
-       ids.
-       (font-encoding-alist): Doc fix.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * term.c (costs_set): Declare static, non-initialized for pcc.
-       (encode_terminal_code): Remove unused var.
-
-       * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl
-       for K&R.
-
-       * xterm.c (xlwmenu_window_p): Fix prototype for K&R.
-
-       * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.
-       (suffixes): Move out of make_subsidiaries for K&R.
-
-       * charset.c (map_charset_chars): Fix c_function declaration for K&R.
-
-       * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * data.c (Fchar_or_string_p): Doc fix.  Use CHARACTERP.
-
-       * category.c (Fmodify_category_entry): Doc fix.  Remove unused vars.
-
-2008-02-01  Yong Lu  <lyongu@asia-infonet.com>
-
-       * charset.c (Fdefine_charset_internal): Fix argument to bzero.
-
-       * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,
-       vietnamese.elc to vietnamese.el.  They are not bytecompiled now.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (decode_coding_charset): Adjust for the change of
-       Fdefine_coding_system_internal.
-       (Fdefine_coding_system_internal): For a coding system of
-       `charset' type, store a list of charset IDs in
-       `charset_attr_charset_valids' element of coding attributes.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
-       (emacs_mule_char): New arg src.  Delete arg `composition'.  Change
-       caller.  Handle 2-byte and 3-byte charsets correctly.
-       (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from
-       DECODE_EMACS_MULE_COMPOSITION_RULE.  Change caller.
-       (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.
-       (DECODE_EMACS_MULE_21_COMPOSITION): Call
-       DECODE_EMACS_MULE_COMPOSITION_RULE_21.  Produce correct annotation
-       sequence.
-       (decode_coding_emacs_mule): Handle composition correctly.  Rewind
-       `src' and `consumed_chars' correctly before calling emacs_mule_char.
-       (DECODE_COMPOSITION_START): Correctly handle the case of altchar
-       and alt&rule composition.
-       (decode_coding_iso_2022): Handle composition correctly.
-       (init_coding_once): Setup emacs_mule_bytes for private charsets.
-
-       * charset.c (Fdefine_charset_internal): Fix bug for the case of
-       re-defining a charset.  If the charset has :emacs-mule-id, setup
-       emacs_mule_bytes.
-       (Fmake_char): If CODE1 is nil, use the minimum code of the charset.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (encode_coding_iso_2022, encode_coding_sjis)
-       (encode_coding_big5, encode_coding_charset): If coding requires safe
-       encoding, produce a character specified by
-       CODING_INHIBIT_CHARACTER_SUBSTITUTION.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * xterm.c (XSetIMValues): Declare.
-
-       * process.c: Conditionally include sys/wait.h, pty.h.
-
-       * print.c (print_object): Fix print format for 64-bit systems.
-
-       * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.
-
-       * buffer.c (emacs_strerror): Declare.
-
-       * fontset.c (Fclear_face_cache): Declare.
-       (accumulate_font_info): Comment-out (unused).
-       (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused
-       variables.
-
-       * character.h (string_escape_byte8): Declare.
-
-       * charset.c (load_charset_map, load_charset_map_from_file): Remove
-       unused vars.
-       (Fdefine_charset_internal, Fsplit_char, syms_of_charset)
-       (Fmap_charset_chars): Doc fix.
-
-       * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.
-       (Fset_coding_system_priority, Fset_coding_system_priority)
-       (Fdefine_coding_system_internal): Doc fix.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * character.c (string_escape_byte8): Make multibyte string with
-       correct size.
-
-       * charset.c (Fmake_char): Delete unnecessary code.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * xfns.c (x_encode_text): Allocate coding.destination here, and
-       call encode_coding_object with dst_object Qnil.
-
-       * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to
-       multibyte form correctly.
-
-       * fontset.c (fs_load_font): Check fontp->full_name (not fontname)
-       against Vfont_encoding_alist.
-
-       * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF).  Fix the
-       handling of charset list.
-       (encode_coding_iso_2022): Setup coding->safe_charsets in advance.
-       (decode_coding_object): Move point to coding->dst_pos before
-       calling post-read-conversion function.
-       (encode_coding_object): Give correct arguments to
-       pre-write-conversion.  Ignore the return value of
-       pre-write-conversion function.  Pay attention to the case that
-       pre-write-conversion changes the current buffer.  If dst_object is
-       Qt, even if coding->src_bytes is zero, allocate at least one byte
-       to coding->destination.
-
-       * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).
-
-       * charset.c (Fmake_char): Make it more backward compatible.
-       (Fmap_charset_chars): Fix docstring.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * coding.c: Doc fixes.
-       (Fdefine_coding_system_alias): Use names, not symbols, in
-       coding-system-alist.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead
-       of calling free_realized_face.
-
-2008-02-01  Yong Lu  <lyongu@asia-infonet.com>
-
-       * charset.c (read_hex): Don't treat SPC as a comment starter.
-       (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.
-       (Fdecode_char): Fix typo.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * charset.h (struct charset): New member `code_space_mask'.
-
-       * coding.c (coding_set_source): Delete the local variable beg_byte.
-       (encode_coding_charset, Fdefine_coding_system_internal):
-       Delete the local variable charset.
-       (Fdefine_coding_system_internal): Setup
-       attrs[coding_attr_charset_valids] correctly.
-
-       * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'
-       member to check if CODE is valid or not.
-       (Fdefine_charset_internal): Initialize `code_space_mask' member.
-       (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE
-       is within the range of charset->min_code and carset->max_code.
-
-2008-02-01  Dave Love  <fx@gnu.org>
-
-       * syntax.h (syntax_temp) [!__GNUC__]: Declare.
-
-       * dispextern.h (generate_ascii_font): Fix return type.
-
-       * xfaces.c (generate_ascii_font): Fix arg declaration.
-
-       * coding.c (coding_inherit_eol_type)
-       (Fset_terminal_coding_system_internal)
-       (Fset_safe_terminal_coding_system_internal): Fix arg declarations.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (decode_coding_charset, encode_coding_charset): Handle
-       multiple charsets correctly.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * search.c (boyer_moore): Fix handling of multibyte character
-       translation.
-
-       * xdisp.c (display_mode_element): When the variable `elt' is
-       changed, update `this' and `lisp_string'.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.
-
-       * callproc.c (Fcall_process): Be sure to give the current buffer
-       to decode_coding_c_string.  Update PT and PT_BYTE after the insertion.
-
-       * charset.c (struct charset_map_entries): New struct.
-       (load_charset_map): Rename from parse_charset_map.  New args
-       entries and n_entries.  Change caller.
-       (load_charset_map_from_file): Rename from load_charset_map.
-       Change caller.  New arg control_flag.  Call load_charset_map at
-       the tail.
-       (load_charset_map_from_vector): New function.
-       (Fdefine_charset_internal): Setup charset.compact_codes_p.
-       (encode_char): If the charset is compact, change a character index
-       to a code point.
-
-       * coding.c (coding_alloc_by_making_gap): Check the case that the
-       source and destination are the same correctly.
-       (decode_coding_raw_text): Set coding->consumed_char and
-       coding->consumed to 0.
-       (produce_chars): If coding->chars_at_source is nonzero, update
-       coding->consumed_char and coding->consumed before calling
-       alloc_destination.
-       (Fdefine_coding_system_alias): Register ALIAS in
-       Vcoding_system_alist.
-       (syms_of_coding): Define `no-conversion' coding system at the tail.
-
-       * fileio.c (Finsert_file_contents): Set coding_system instead of
-       val.  If the current buffer is multibyte, always call
-       decode_coding_gap.
-
-       * xfaces.c (try_font_list): Give higher priority to fontset's
-       family than face's family.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * callproc.c (Fcall_process): Be sure to give the current buffer
-       to decode_coding_c_string.
-
-       * xfaces.c (try_font_list): Give a family specified in a fontset
-       higher priority than a family specified in a face.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.
-       Fix arguments to insert_from_buffer.
-
-       * xdisp.c (display_mode_element): Fix calculation of `bytepos'.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (produce_chars): Set the variable `multibytep' correctly.
-       (decode_coding_gap): Set coding->dst_multibyte correctly.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.
-       (decode_coding_utf_16): Fix converting high and low bytes to code-point.
-       (encode_coding_utf_16): Substitute coding->default_char for
-       non-Unicode characters.
-       (decode_coding): Don't call record_insert here.
-       (setup_coding_system): Initialize `surrogate' of
-       coding->spec.utf_16 to 0.
-       (EMIT_ONE_BYTE): Fix for multibyte case.
-
-       * insdel.c (insert_from_gap): Call record_insert.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       * casefiddle.c (casify_region): Fix multibyte case.
-
-       * character.c (c_string_width): Add return type `int'.
-       (char_string_with_unification): Delete arg ADVANCED.
-
-       * character.h (CHAR_VALID_P): Don't call CHARACTERP.
-       (CHAR_STRING): Adjust for the change of char_string_with_unification.
-       (CHAR_STRING_ADVANCE): Make it do-while statement.
-
-       * chartab.c (sub_char_table_set_range): Optimize for the case
-       DEPTH == 3.  Add workaround code for a GCC optimization bug.
-
-       * charset.c (parse_charset_map): Remove an unused variable.
-
-       * coding.c: Delete unused variables.
-
-       * fileio.c (Finsert_file_contents): Set coding_system to Qnil
-       earlier.  If inserted is zero and the coding system doesn't
-       require flushing, don't call decode_coding_gap.
-
-       * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.
-
-2008-02-01  Kenichi Handa  <handa@m17n.org>
-
-       The following changes are for using Unicode as an internal
-       character model, and use UTF-8 format for buffer/string
-       representation.
-
-       * .gdbinit (xchartable): Adjust for the change of char table structure.
-       (xsubchartable, xcoding, xcharset, xcurbuf): New commands.
-
-       * Makefile.in (obj): Add character.o and chartab.o.
-       (lisp, shortlisp): Remove utf-8.elc.
-       (*.o): For many files, change dependency on charset.h to
-       character.h, and add dependency on character.h.
-       (character.o, chartab.o): New targets.
-
-       * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:
-       * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:
-       * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead
-       of "charset.h".
-
-       * dired.c, filelock.c: Include "character.h".
-
-       * alloc.c: Include "character.h" instead of "charset.h".
-       (Fmake_char_table, make_sub_char_table): Move to chartab.c.
-       (syms_of_alloc): Remove defsubr for Smake_char_table.
-
-       * buffer.c: Include "character.h" instead of "charset.h", don't
-       include "coding.h".
-       (Fset_buffer_multibyte): Adjust for UTF-8.
-
-       * buffer.h: EXFUN Fbuffer_live_p.
-
-       * callproc.c: Include "character.h" instead of "charset.h".
-       (Fcall_process): Big change for the new code-conversion APIs.
-
-       * casetab.c: Include "character.h" instead of "charset.h".
-       (set_canon, set_identity, shuffle): Adjust for the new
-       map_char_table spec.
-       (init_casetab_once): Call CHAR_TABLE_SET instead of directly
-       accessing the char table structure.
-
-       * chartab.c: New file that implements char table.
-
-       * category.c: Include "character.h".
-       (copy_category_entry): New function.
-       (copy_category_table): Call map_char_table and copy_category_entry.
-       (Fmake_category_table): Initialize all top-level slots.
-       (char_category_set): New function.
-       (modify_lower_category_set): Delete.
-       (Fmodify_category_entry): Call char_table_ref_and_range.
-
-       * category.h (CATEGORY_SET): Just call char_category_set.
-
-       * ccl.c: Include "character.h".
-       (Qccl, Qcclp): New variables.
-       (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if
-       it's less than 256.
-       (CCL_WRITE_MULTIBYTE_CHAR): Delete.
-       (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC
-       and DST type.
-       (ccl_driver): Change types of argument, adjust code accordingly.
-       (Fccl_execute, Fccl_execute_on_string): Adjust for the change of
-       ccl_driver.
-       (syms_of_ccl): Intern and staticpro Qccl and Qcclp.
-
-       * ccl.h (struct ccl_program): Delete members eol_type and multibyte.
-       New members src_multibyte, dst_multibyte, consumed, and produced.
-       (struct ccl_spec): Delete members decoder and encoder.  New member ccl.
-       (CODING_SPEC_CCL_PROGRAM): New macro.
-       (ccl_driver): Update prototype.
-       (Qccl, Qcclp, Fccl_program_p): Extern them.
-       (CHECK_CCL_PROGRAM): New macro.
-
-       * character.c, character.h, chartab.c: New files.
-
-       * charset.c: Mostly re-written.  Move character and multibyte sequence
-       handling codes to character.c.
-
-       * charset.h: Mostly re-written.  Move character and multibyte sequence
-       handling codes to character.h.
-
-       * coding.c, coding.h: Mostly re-written.
-
-       * composite.c: Include "character.h" instead of "charset.h".
-       (CHAR_WIDTH): Move to character.h.
-       (HASH_KEY, HASH_VALUE): Delete.
-
-       * composite.h (enum composition_method): Change order of enumeration
-       symbols.
-
-       * data.c: Include "character.h" instead of "charset.h".
-       (Faref): Call CHAR_TABLE_REF for a char table.
-       (Faset): Call CHAR_TABLE_SET for a char table.
-
-       * dispextern.h (free_realized_face, check_face_attribytes)
-       (generate_ascii_font): Extern them.
-       (free_realized_multibyte_face): Delete extern.
-
-       * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char
-       table structure.
-
-       * editfns.c: Include "character.h" instead of "charset.h".
-       (Fchar_to_string): Always call CHAR_STRING.
-
-       * emacs.c (main): Call init_charset_once, init_charset,
-       syms_of_chartab, and syms_of_character.
-
-       * fileio.c: Include "character.h" instead of "charset.h".
-       (Finsert_file_contents): Big change for the new code-conversion API.
-       (choose_write_coding_system, Fwrite_region): Likewise.
-       (build_annotations_2): Delete.
-       (e_write): Big change for the new code-conversion API.
-
-       * fns.c: Include "character.h" instead of "charset.h".
-       (copy_sub_char_table): Move to chartab.c.
-       (Fcopy_sequence): Call copy_char_table for a char table.
-       (concat): Delete codes calling count_multibyte.
-       (string_char_to_byte, string_byte_to_char): Adjust for the new
-       multibyte form.
-       (internal_equal): Adjust for the change of char table structure.
-       (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)
-       (Fchar_table_extra_slot, Fset_char_table_extra_slot)
-       (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)
-       (char_table_translate, optimize_sub_char_table)
-       (Foptimize_char_table, map_char_table, Fmap_char_table): Move to
-       chartab.c.
-       (char_table_ref_and_index): Delete.
-       (HASH_KEY, HASH_VALUE): Move to lisp.h.
-       (Fmd5): Call preferred_coding_system instead of accessing
-       Vcoding_category_list.  Adjust for the new code-conversion API.
-       (syms_of_fns): Move defsubr for char table related functions to
-       chartab.c.
-
-       * fontset.c: Mostly re-written.
-
-       * fontset.h (struct font_info): Change type of the member encoding_type.
-       (enum FONT_SPEC_INDEX): New enum.
-       (fontset_font_pattern, fs_load_font): Update prototype.
-       (FS_LOAD_FONT): Adjust for the change of fs_load_font.
-
-       * indent.c: Include "character.h" instead of "charset.h".
-       (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.
-
-       * insdel.c: Include "character.h" instead of "charset.h".
-       (copy_text): Don't refer to Vnonascii_translation_table.
-       (insert_from_gap): New function.
-
-       * keyboard.c: Include "character.h" instead of "charset.h".
-       (command_loop_1): Never call direct_output_forward_char before
-       a non-ASCII character.
-       (read_char): If Vkeyboard_translate_table is a char table, always
-       translate a character.
-
-       * keymap.c: Include "character.h".
-       (store_in_keymap): Handle the case that IDX is a cons.
-       (Fdefine_key): Handle the case that KEY is a cons and the car part
-       is also a cons (range).
-       (push_key_description): Adjust for the new character code.
-       (describe_vector): Call describe_char_table for a char table.
-       (describe_char_table): New function.
-
-       * keymap.h (describe_char_table): Extern it.
-
-       * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.
-       (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.
-       (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)
-       (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):
-       Delete.
-       (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table
-       structure.
-       (CHAR_TABLE_TRANSLATE): Just call char_table_translate.
-       (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)
-       (CHARTAB_SIZE_BITS_3): New macros.
-       (chartab_size): Extern it.
-       (struct Lisp_Char_Table): Re-design.
-       (struct Lisp_Sub_Char_Table): New structure.
-       (HASH_KEY, HASH_VALUE): Move from fns.c.
-       (CHARACTERBITS): Define as 22.
-       (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.
-       (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.
-       (GC_SUB_CHAR_TABLE_P): New macro.
-       (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.
-       (code_convert_string_norecord): Deleted extern.
-       (init_character_once, syms_of_character, init_charset)
-       (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.
-
-       * lread.c: Include "character.h".
-       (read_multibyte): New arg NBYTES.
-       (read_escape): Change the meaning of returned *BYTEREP.
-       (to_multibyte): Delete.
-       (read1): Adjust the handling of char table and string.
-
-       * print.c: Include "character.h" instead of "charset.h".
-       (print_string): Convert 8-bit raw bytes to octal form by
-       string_escape_byte8.
-       (print_object): Adjust for the new multibyte form.  Print 8-bit
-       raw bytes always in octal form.  Handle sub char table correctly.
-
-       * process.c: Include "character.h" instead of "charset.h".
-       (read_process_output, send_process): Adjust for the new
-       code-conversion API.
-
-       * puresize.h (BASE_PURESIZE): Increase.
-
-       * regex.c: Include "character.h" instead of "charset.h".
-       (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.
-       (regex_compile): Accept a range whose starting and ending
-       character have different leading bytes.
-       (analyse_first): Adjust for the above change.
-
-       * search.c: Include "character.h" instead of "charset.h".
-       (search_buffer, boyer_moore): Adjust for the new multibyte form.
-       (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.
-
-       * syntax.c: Include "character.h" instead of "charset.h".
-       (syntax_parent_lookup): Delete.
-       (Fmodify_syntax_entry): Accept a cons as CHAR.
-       (skip_chars): Adjust for the new multibyte form.
-       (init_syntax_once): Call char_table_set_range instead of directly
-       accessing the structure of a char table.
-
-       * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.
-       (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.
-       (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.
-       (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.
-
-       * term.c: Include "buffer.h" and "character.h".
-       (encode_terminal_code, write_glyphs): Adjust for the new
-       code-conversion API.
-       (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.
-
-       * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.
-
-       * xdisp.c: Include "character.h".
-       (get_next_display_element): Adjust for the new multibyte form.
-       (disp_char_vector): Adjust for the new char table structure.
-       (decode_mode_spec_coding): Adjust for the new structure of
-       coding system.
-       (decode_mode_spec): Adjust for the new code-conversion API.
-
-       * xfaces.c: Include "character.h" instead of "charset.h".
-       (load_face_font): Adjust for the change of choose_face_font and
-       FS_LOAD_FONT.
-       (generate_ascii_font): New function.
-       (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.
-       (set_font_frame_param): Adjust for the change of choose_face_font.
-       (free_realized_face): Make it public.
-       (free_realized_faces_for_fontset): Rename from
-       free_realized_multibyte_face.  Free also faces realized for ASCII.
-       (choose_face_font): Change arguments.  Adjust for the change of
-       fontset_font_pattern and FS_LOAD_FONT.
-
-       * xfns.c: Include "character.h".
-       (x_encode_text): Adjust for the new code-conversion API.
-
-       * xselect.c: Don't include "charset.h".
-       (selection_data_to_lisp_data): Adjust for the new code conversion API.
-
-       * xterm.c: Include "character.h".
-       (x_encode_char): New argument CHARSET.  Change caller.
-       (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):
-       Call ENCODE_CHAR instead of SPLIT_CHAR.
-       (x_produce_glyphs): Don't check Vnonascii_translation_table Call
-       CHAR_WIDTH instead of CHARSET_WIDTH.
-       (XTread_socket): Adjust for the new code-conversion API.
-       (x_new_font): Adjust for the change of FS_LOAD_FONT.
-       (x_load_font): Adjust for the change of struct font.
-
-2008-02-01  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * xfaces.c (face_at_buffer_position): Remove unused vars.
-
-2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):
-       Fix overflow checking.
-
-2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):
-       Cancel previous change.
-
-2008-01-31  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when
-       ccl->eight_bit_control.  Fix check for buffer overflow.
-       (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.
-       (ccl_driver): Initialize extra_bytes to 0.
-
-2008-01-31  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * keyboard.c (make_ctrl_char): If C is a multibyte character, just
-       return it ORed with ctrl_modifier.
-
-2008-01-29  Miles Bader  <miles@gnu.org>
-
-       * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.
-
-2008-01-28  Jason Rumney  <jasonr@gnu.org>
-
-       * w32.c (stat): Don't double check for networked drive.
-
-2008-01-28  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * window.c (run_window_configuration_change_hook): New function.
-       Code extracted from set_window_buffer.  Set the selected frame.
-       (set_window_buffer): Use it.
-       * window.h (run_window_configuration_change_hook): Declare.
-       * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.
-
-       * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).
-
-2008-01-27  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * Makefile.in: Remove references to unused macros.
-
-2008-01-26  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32.c (g_b_init_get_sid_sub_authority)
-       (g_b_init_get_sid_sub_authority_count): New static variables.
-       (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.
-       (get_sid_sub_authority, get_sid_sub_authority_count): New functions.
-       (init_user_info): Use them to retrieve uid and gid.
-       Use 500/513, the Windows defaults, as Administrator's uid/gid.
-       (fstat): Use pw_uid and pw_gid from the_passwd structure for
-       st_uid and st_gid of the file.
-
-2008-01-26  Jason Rumney  <jasonr@gnu.org>
-
-       * w32.c (logon_network_drive): New function.
-       (stat): Use it.
-
-2008-01-26  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xdisp.c (pos_visible_p): Handle the case where charpos falls on
-       invisible text covered with an ellipsis.
-
-2008-01-25  Richard Stallman  <rms@gnu.org>
-
-       * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and
-       jump back to beginning.  Move some other initializations after that.
-       (Qwindow_text_change_functions, Vwindow_text_change_functions):
-       New variables.
-       (syms_of_xdisp): Init them.
-
-       * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
-
-       * buffer.c (reset_buffer_local_variables):
-       Implement `permanent-local-hook'.
-       (Qpermanent_local_hook): New variable.
-       (syms_of_buffer): Init and staticpro it.
-
-2008-01-25  Michael Albinus  <michael.albinus@gmx.de>
-
-       * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
-
-2008-01-25  Thien-Thi Nguyen  <ttn@gnuvola.org>
-
-       * fns.c (Fclrhash): Return TABLE.
-
-2008-01-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.
-       (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p
-       is set even without positional changes.
-       (x_scroll_bar_clear): Set bar->redraw_needed_p.
-
-       * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
-
-2008-01-23  Jason Rumney  <jasonr@gnu.org>
-
-       * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
-
-       * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside
-       the unicode range available in MULE by locale-coding-system.
-       Improve dbcs lead byte detection.  Set event timestamp and modifiers
-       earlier.
-
-2008-01-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.
-       [MAC_OSX] (init_mac_osx_environment): Initialize it.
-       [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0
-       when used on child processes.
-
-2008-01-21  Michael Albinus  <michael.albinus@gmx.de>
-
-       * dbusbind.c (Fdbus_method_return_internal): Rename from
-       Fdbus_method_return.
-       (Fdbus_unregister_object): Move to dbus.el.
-       (Fdbus_call_method, Fdbus_method_return_internal)
-       (Fdbus_send_signal): Improve debug messages.
-
-2008-01-20  Martin Rudalics  <rudalics@gmx.at>
-
-       * undo.c (undo_inhibit_record_point): New variable.
-       (syms_of_undo): Initialize it.
-       (record_point): Don't record point when undo_inhibit_record_point
-       is set.
-
-2008-01-19  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
-
-       * xdisp.c (Qauto_hscroll_mode): New var.
-       (syms_of_xdisp): Initialize it.
-       (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each
-       window's buffer.
-       (hscroll_windows): Don't check automatic_hscrolling_p here.
-
-       * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
-       vscroll if we're setting window-buffer to the value it already has.
-
-2008-01-18  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * m/intel386.h: Remove references to XENIX.
-
-2008-01-17  Andreas Schwab  <schwab@suse.de>
-
-       * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR
-       instead of HAVE_X86_64_LIB64_DIR.
-       * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.
-
-2008-01-17  Glenn Morris  <rgm@gnu.org>
-
-       * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
-       to HAVE_X86_64_LIB64_DIR.
-
-2008-01-16  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * s/irix3-3.h:
-       * s/irix4-0.h:
-       * s/386-ix.h:
-       * s/domain.h:
-       * s/hpux9-x11r4.h:
-       * s/hpux9shxr4.h: Remove files for systems no longer supported.
-
-       * sysdep.c: Remove code containing references to symbols defined
-       by unsupported systems.
-
-2008-01-16  Glenn Morris  <rgm@gnu.org>
-
-       * coding.c (select-safe-coding-system-function): Doc fix.
-
-2008-01-15  Glenn Morris  <rgm@gnu.org>
-
-       * config.in: Revert 2008-01-13 change: this is a generated file.
-
-2008-01-13  Tom Tromey  <tromey@redhat.com>
-
-       * lisp.h: Fix typo.
-
-2008-01-13  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * m/sequent-ptx.h:
-       * m/sequent.h:
-       * s/ptx.h:
-       * s/ptx4-2.h:
-       * s/ptx4.h: Remove files for systems no longer supported.
-
-       * callproc.c (Fcall_process): Fix previous change.
-
-2008-01-13  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * unexsunos4.c: Remove file, system not supported anymore.
-
-       * m/mips.h:
-       * m/intel386.h:
-       * callproc.c:
-       * config.in:
-       * ecrt0.c:
-       * emacs.c:
-       * fileio.c:
-       * frame.c:
-       * getpagesize.h:
-       * keyboard.c:
-       * lread.c:
-       * process.c:
-       * puresize.h:
-       * sysdep.c:
-       * systty.h:
-       * syswait.h:
-       * unexec.c:
-       * xdisp.c:
-       * alloc.c: Remove code containing references to symbols defined by
-       unsupported systems.
-
-2008-01-11  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * coding.c (detect_coding_mask): Fix previous change.
-
-2008-01-09  Kenichi Handa  <handa@ni.aist.go.jp>
-
-       * coding.c (detect_coding_iso2022): New arg
-       latin_extra_code_state.  Allow Latin extra codes only
-       when *latin_extra_code_state is nonzero.
-       (detect_coding_mask): If there is a NULL byte, detect the encoding
-       as UTF-16 or binary.  If Latin extra codes exist, detect the
-       encoding as ISO-2022 only when there's no other proper encoding is
-       found.
-
-2008-01-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of
-       #ifdef MAC_OS.
-
-2008-01-08  Richard Stallman  <rms@gnu.org>
-
-       * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.
-
-2008-01-06  Nick Roberts  <nickrob@snap.net.nz>
-
-       * keyboard.c (parse_menu_item): Don't enclose key bindings on
-       menu bar in parentheses.
-
-2008-01-06  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * m/7300.h:
-       * m/acorn.h:
-       * m/alliant-2800.h:
-       * m/alliant.h:
-       * m/alliant1.h:
-       * m/alliant4.h:
-       * m/altos.h:
-       * m/amdahl.h:
-       * m/apollo.h:
-       * m/att3b.h:
-       * m/aviion-intel.h:
-       * m/aviion.h:
-       * m/celerity.h:
-       * m/clipper.h:
-       * m/cnvrgnt.h:
-       * m/convex.h:
-       * m/cydra5.h:
-       * m/delta88k.h:
-       * m/dpx2.h:
-       * m/dual.h:
-       * m/elxsi.h:
-       * m/f301.h:
-       * m/gould-np1.h:
-       * m/gould.h:
-       * m/i860.h:
-       * m/ibmps2-aix.h:
-       * m/ibmrt-aix.h:
-       * m/ibmrt.h:
-       * m/irist.h:
-       * m/is386.h:
-       * m/isi-ov.h:
-       * m/mega68.h:
-       * m/mg1.h:
-       * m/news-r6.h:
-       * m/news-risc.h:
-       * m/news.h:
-       * m/nh3000.h:
-       * m/nh4000.h:
-       * m/ns16000.h:
-       * m/ns32000.h:
-       * m/nu.h:
-       * m/orion.h:
-       * m/orion105.h:
-       * m/paragon.h:
-       * m/pfa50.h:
-       * m/plexus.h:
-       * m/pyramid.h:
-       * m/pyrmips.h:
-       * m/sh3el.h:
-       * m/sps7.h:
-       * m/sr2k.h:
-       * m/stride.h:
-       * m/sun1.h:
-       * m/sun2.h:
-       * m/sun3-68881.h:
-       * m/sun3-fpa.h:
-       * m/sun3-soft.h:
-       * m/sun3.h:
-       * m/sun386.h:
-       * m/symmetry.h:
-       * m/tad68k.h:
-       * m/tahoe.h:
-       * m/targon31.h:
-       * m/tek4300.h:
-       * m/tekxd88.h:
-       * m/tower32.h:
-       * m/tower32v3.h:
-       * m/ustation.h:
-       * m/wicat.h:
-       * m/xps100.h:
-       * s/cxux.h:
-       * s/cxux7.h:
-       * s/dgux.h:
-       * s/dgux4.h:
-       * s/dgux5-4-3.h:
-       * s/dgux5-4r2.h:
-       * s/esix.h:
-       * s/esix5r4.h:
-       * s/hiuxmpp.h:
-       * s/hiuxwe2.h:
-       * s/iris3-5.h:
-       * s/iris3-6.h:
-       * s/isc2-2.h:
-       * s/isc3-0.h:
-       * s/isc4-0.h:
-       * s/isc4-1.h:
-       * s/newsos5.h:
-       * s/newsos6.h:
-       * s/osf1.h:
-       * s/osf5-0.h:
-       * s/riscix1-1.h:
-       * s/riscix12.h:
-       * s/sco4.h:
-       * s/sco5.h:
-       * s/sunos4-0.h:
-       * s/sunos4-1.h:
-       * s/sunos413.h:
-       * s/sunos4shr.h:
-       * s/umax.h:
-       * s/unipl5-2.h:
-       * s/xenix.h:
-       * cxux-crt0.s:
-       * unexapollo.c:
-       * unexconvex.c:
-       * unexenix.c:
-       * unexsni.c: Remove files for systems no longer supported.
-
-       * m/intel386.h: Remove references to unsupported systems.
-
-       * w32.c (get_emacs_configuration): Remove reference to i860.
-
-       * sysdep.c: Remove dead code.
-
-2008-01-05  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * s/rtu.h:
-       * m/masscomp.h: Remove files.  Platform is obsolete.
-
-2008-01-04  Michael Albinus  <michael.albinus@gmx.de>
-
-       * dbusbind.c (Fdbus_method_return): New function.
-       (xd_read_message): Add the serial number to the event.
-       (Fdbus_register_method): Activate the function.
-
-2008-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * keyboard.c (read_key_sequence): Fix typo.
-
-2008-01-03  Michael Albinus  <michael.albinus@gmx.de>
-
-       * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.
-       (xd_signature, xd_append_arg): Handle element type detection for
-       empty arrays.
-       (Fdbus_call_method, Fdbus_send_signal): Undo type casting for
-       SDATA () calls; this must be solved more general.
-       (Fdbus_register_signal): Use SBYTES instead of strlen.
-
-2008-01-03  Magnus Henoch  <magnus@zemdatav>
-
-       * dbusbind.c (xd_append_arg): Use unsigned char instead of
-       unsigned int for byte values (necessary for big-endian platform).
-       (Fdbus_call_method): Handle the case of no returned arguments.
-
-2007-12-31  Tom Tromey  <tromey@redhat.com>  (tiny change)
-
-       * dbusbind.c (xd_read_message): Use non-static input_event struct.
-
-2007-12-31  Magnus Henoch  <mange@freemail.hu>
-
-       * dbusbind.c (xd_signature): Signature of variant is just "v".
-
-2007-12-30  Michael Albinus  <michael.albinus@gmx.de>
-
-       * dbusbind.c: Fix several errors and compiler warnings.
-       Reported by Tom Tromey <tromey@redhat.com>.
-       (XD_ERROR, XD_DEBUG_MESSAGE)
-       (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".
-       (xd_append_arg): Part for basic D-Bus types rewritten.
-       (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and
-       DBUS_TYPE_(U)INT16.  Don't call XD_DEBUG_MESSAGE with "%f" if not
-       appropriate.
-       (xd_read_message): Return Qnil.  Don't signal an error; it is not
-       useful during event reading.
-       (Fdbus_register_signal): Signal an error if the check for
-       FUNCTIONP fails.
-       (Fdbus_register_method): New function.  The implementation is not
-       complete, the call of the function signals an error therefore.
-       (Fdbus_unregister_object): New function, renamed from
-       Fdbus_unregister_signal.  The initial check signals an error, if
-       the object is not well formed.
-
-2007-12-30  Richard Stallman  <rms@gnu.org>
-
-       * textprop.c (get_char_property_and_overlay):
-       Signal error if POSITION is out of range in a buffer.
-
-2007-12-29  Martin Rudalics  <rudalics@gmx.at>
-
-       * w32fns.c (Fx_create_frame): Make copy of frame parameters
-       because the original parameters are in pure storage now.
-
-2007-12-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
-
-2007-12-22  Eli Zaretskii  <eliz@gnu.org>
-
-       * callint.c (syms_of_callint) <command-history>: Add reference to
-       history-length in the doc string.
-
-2007-12-17  Jason Rumney  <jasonr@gnu.org>
-
-       * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
-       before passing as wParam.
-
-2007-12-22  Michael Albinus  <michael.albinus@gmx.de>
-
-       * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,
-       DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,
-       DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.
-       Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit
-       as number.
-       (Fdbus_call_method): Fix docstring.
-
-2007-12-21  Michael Albinus  <michael.albinus@gmx.de>
-
-       * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):
-       New macros.
-       (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.
-       (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.
-       Simplify.
-       (xd_signature): New function.
-       (xd_append_arg): Compute also signatures.  Major rewrite.
-       (xd_retrieve_arg): Make debug messages friendly.
-       (Fdbus_call_method, Fdbus_send_signal): Extend docstring.
-       Check for signatures of arguments.
-
-2007-12-19  Michael Albinus  <michael.albinus@gmx.de>
-
-       * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)
-       (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)
-       (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)
-       (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)
-       (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)
-       (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.
-       (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.
-       (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.
-       (xd_retrieve_value): Remove.  Functionality included in ...
-       (xd_append_arg): New function.
-       (Fdbus_call_method, Fdbus_send_signal): Apply it.
-
-2007-12-16  Michael Albinus  <michael.albinus@gmx.de>
-
-       * dbusbind.c (top): Include <stdio.h>.
-       (Fdbus_call_method, Fdbus_send_signal): Apply type cast in
-       dbus_message_new_method_call and dbus_message_new_signal.
-       (Fdbus_register_signal): Rename unique_name to uname.
-       Check handler for FUNCTIONP instead of CHECK_SYMBOL.  Handle case of
-       non-existing unique name.  Fix typos in matching rule.  Return an
-       object which is useful in Fdbus_unregister_signal.
-       (Fdbus_unregister_signal): Reimplementation, in order to remove
-       only the corresponding entry.
-       (Vdbus_registered_functions_table): Change the order of entries.
-       Apply these changes in xd_read_message and Fdbus_register_signal.
-
-2007-12-16  Andreas Schwab  <schwab@suse.de>
-
-       * fileio.c (Finsert_file_contents): Fix overflow check to not
-       depend on undefined integer overflow.
-
-2007-12-14  Jason Rumney  <jasonr@gnu.org>
-
-       * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
-       for characters above 127.
-
-2007-12-13  Jason Rumney  <jasonr@gnu.org>
-
-       * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
-       before dereferencing array.
-       (lookup_vk_code): Remove zero comparison.
-
-2007-12-14  Michael Albinus  <michael.albinus@gmx.de>
-
-       * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)
-       (Fdbus_call_method, Fdbus_send_signal, xd_read_message):
-       Use `unsigned int' instead of `uint'.
-       (xd_read_message, Fdbus_register_signal): Split expressions into
-       multiple lines before operators "&&" and "||", according to the
-       GNU Coding Standards.
-
-2007-12-14  Eli Zaretskii  <eliz@gnu.org>
-
-       * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
-
-2007-12-12  Juri Linkov  <juri@jurta.org>
-
-       * buffer.c (Frename_buffer): In interactive spec replace
-       `read-buffer' with `read-string' that uses `buffer-name-history'
-       as history, and the current buffer's name as default.
-
-2007-12-10  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of
-       manipulating the backtrace manually.
-       (make_lispy_event): Merge the ASCII and MULTIBYTE cases.
-       (struct backtrace, backtrace_list): Remove.
-       (command_loop_1): Remove dead var `no_direct'.
-
-       * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also
-       preserve non-built-in buffer-local variables.
-       (Fkill_all_local_variables): Don't re-create&re-set permanent
-       buffer-local variables.
-
-2007-12-09  Juri Linkov  <juri@jurta.org>
-
-       * buffer.c (Frename_buffer): Change interactive spec from "s" to
-       Lisp code that uses `read-buffer' with current buffer as default.
-
-2007-12-08  Michael Albinus  <michael.albinus@gmx.de>
-
-       * dbusbind.c (xd_read_message): Generate an event for every
-       registered handler.  There might be several handlers registered
-       for the same signal.
-       (Fdbus_register_signal): Don't overwrite a registration for the
-       same signal.  Add a new registration if handlers are different.
-       (Vdbus_registered_functions_table): Rework doc string.
-
-2007-12-07  Michael Albinus  <michael.albinus@gmx.de>
-
-       * dbusbind.c (Fdbus_get_unique_name, xd_read_message)
-       (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and
-       DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.
-       (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):
-       Unify argument lists.
-       (xd_read_message, Fdbus_register_signal): Reorder and extend event
-       arguments and hash table keys.  Use unique name for service.
-       (Fdbus_unregister_signal): Remove checks.
-       (Vdbus_registered_functions_table): Fix doc string.
-
-2007-12-05  Magnus Henoch  <mange@freemail.hu>
-
-       * process.c (make_process): Initialize pty_flag to 0.
-
-2007-12-05  Jason Rumney  <jasonr@gnu.org>
-
-       * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
-       specified XBMs.
-
-2007-12-05  Richard Stallman  <rms@gnu.org>
-
-       * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
-
-2007-12-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:
-       New variable.
-       (mac_try_close_socket) [MAC_OSX]: New function.
-       [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:
-       Update cfsockets_for_select.  Replace invalid CFRunLoop source.
-
-       * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
-       Use mac_try_close_socket.
-
-2007-12-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * unexmacosx.c (unrelocate): New argument BASE.  Use it instead of
-       reloc_base.
-       (copy_dysymtab): Compute relocation base here.
-       (rebase_reloc_address) [__ppc64__]: New function.
-       (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be
-       changed.
-
-2007-12-05  Jason Rumney  <jasonr@gnu.org>
-
-       * w32proc.c (sys_spawnve): Quote args with wildcards.
-
-2007-12-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
-       __objc_* sections.
-       (unrelocate) [_LP64]: Set relocation base to address of data segment.
-
-2007-12-05  Michael Albinus  <michael.albinus@gmx.de>
-
-       * dbusbind.c (xd_read_message): Return value is a Lisp_Object.
-       Move check for Vdbus_registered_functions_table to
-       xd_read_queued_messages.
-       (xd_read_queued_messages): Protect xd_read_message calls by
-       internal_condition_case_1.
-
-2007-12-04  Michael Albinus  <michael.albinus@gmx.de>
-
-       * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from
-       Qdbus_system_bus and Qdbus_session_bus, respectively.
-       (Vdbus_intern_symbols): Remove.
-       (Vdbus_registered_functions_table): New hash table.
-       (XD_SYMBOL_INTERN_SYMBOL): Remove.
-       (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):
-       Rewrite in order to manage registered functions by hash table
-       Vdbus_registered_functions_table.
-
-2007-12-03  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * xterm.c: Update URL to Window Manager Specification in comment.
-
-2007-12-02  Michael Albinus  <michael.albinus@gmx.de>
-
-       * config.in (HAVE_DBUS): Add.
-
-       * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.
-       (ALL_CFLAGS): Add ${DBUS_CFLAGS}.
-       (obj): Add $(DBUS_OBJ).
-       (LIBES): Add $(DBUS_LIBS).
-       (dbusbind.o): New target.
-
-       * dbusbind.c: New file.
-
-       * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
-
-       * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".
-       (Qdbus_event): New Lisp symbol.
-       (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.
-       (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.
-       (keys_of_keyboard ): Define dbus-event.
-
-       * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
-
-2007-12-01  Richard Stallman  <rms@gnu.org>
-
-       * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
-
-2007-11-30  Jason Rumney  <jasonr@gnu.org>
-
-       * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.
-       (w32con_reset_terminal_modes): Clear screen buffer.
-       (w32_face_attributes): Don't use color indexes that are out of range.
-       Only reverse the default colors.
-
-       * xfaces.c (map_tty_color, tty_color_name): Remove special case for
-       WINDOWSNT.
-
-       * w32console.c, w32term.h (vga_stdcolor_name): Remove.
-
-2007-11-29  Jason Rumney  <jasonr@gnu.org>
-
-       * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.
-       (w32_face_attributes): Use Vtty_defined_color_alist to determine
-       if the terminal colors are initialized.
-       (unspecified_fg, unspecified_bg): Remove unused declarations.
-
-2007-11-29  Andreas Schwab  <schwab@suse.de>
-
-       * keyboard.c (apply_modifiers): Fix typo.
-
-2007-11-29  Richard Stallman  <rms@gnu.org>
-
-       * keymap.c (Fcurrent_local_map): Doc fix.
-
-2007-11-28  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
-
-       * s/gnu-kfreebsd.h: New file.
-
-2007-11-28  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
-       Don't cast redundantly.
-
-       * keyboard.c (KEY_TO_CHAR): New macro.
-       (parse_modifiers, apply_modifiers): Accept integer arguments.
-       (read_key_sequence): Use them to unify the "shift->unshift" mapping
-       for chars and symbol keys.
-       After doing such remapping, apply function-key-map again.
-
-2007-11-27  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
-       compiled anymore.
-
-2007-11-26  Andreas Schwab  <schwab@suse.de>
-
-       * process.c (list_processes_1): Fix indentation level of the
-       command column.
-
-2007-11-23  Andreas Schwab  <schwab@suse.de>
-
-       * editfns.c (Fformat): Handle %c specially since it requires the
-       argument to be of type int.
-
-2007-11-23  Markus Triska  <markus.triska@gmx.at>
-
-       * emacs.c (main): Call init_editfns before init_process, since
-       init_process sets Vprocess_connection_type depending on OS release.
-
-2007-11-22  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
-       (find_symbol_value): Use do_symval_forwarding.
-
-       * data.c (set_internal): Set the value in the `cons-cell' (for
-       Buffer_Local_values) not only for frame-local variables.
-
-2007-11-22  Andreas Schwab  <schwab@suse.de>
-
-       * data.c (Fnumber_to_string): Add cast when passing EMACS_INT
-       values to sprintf.
-       * keymap.c (Fsingle_key_description): Likewise.
-       * print.c (print_object): Likewise.
-
-2007-11-22  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
-       file for image is nil.
-
-2007-11-22  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * term.c: Include stdarg.h.
-       (fatal): Implement using varargs.
-       * lisp.h (fatal): Add argument types.  (Restore 2005-09-30 change).
-
-2007-11-21  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.
-       * data.c (store_symval_forwarding): Get type from buffer_objfwd.
-       Update call to buffer_slot_type_mismatch.
-       * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.
-       (buffer_slot_type_mismatch): Update.
-       * buffer.c (buffer_local_types): Remove.
-       (buffer_slot_type_mismatch): Get the symbol and type as arguments.
-       (defvar_per_buffer): Set the type in the buffer_objfwd.
-
-2007-11-21  Jason Rumney  <jasonr@gnu.org>
-
-       * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
-       CreateFileMapping returns NULL on failure.
-
-2007-11-21  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * search.c (Fset_match_data): Remove the `evaporate' feature.
-       (unwind_set_match_data): Don't use the `evaporate' feature.
-
-2007-11-21  Jason Rumney  <jasonr@gnu.org>
-
-       * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
-
-       * w32console.c (w32con_write_glyphs): Remove unused variables.
-
-2007-11-20  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
-
-       * s/darwin.h (MULTI_KBOARD): Remove.
-
-       * macfns.c (x_create_tip_frame, Fx_create_frame)
-       (x_create_tip_frame): Don't deal with MULTI_KBOARD.
-
-2007-11-19  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * buffer.c (Fbuffer_local_value): Remove redundant test.
-       (swap_out_buffer_local_variables): Swap out binding in `buffer' rather
-       than in `current-buffer' to match the comment.
-       Do the swap using swap_in_global_binding.
-
-       * data.c (store_symval_forwarding, set_internal):
-       * eval.c (specbind): Remove dead code.
-
-       * coding.c (detect_coding, Fupdate_coding_systems_internal):
-       * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
-       Since we do not want to see internal Lisp_*fwd objects here.
-
-2007-11-18  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * sysdep.c (init_system_name): Use getaddrinfo if available.
-
-       * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)
-       (x_scroll_bar_note_movement): start, end, with, height in struct
-       scroll_bar are integers and not Lisp_Object, so remove XINT for them.
-
-2007-11-17  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * puresize.h (BASE_PURESIZE): Increase to 1190000.
-
-2007-11-16  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * buffer.h (struct buffer): Move `undo_list' back to before `name'.
-       This undoes Richard's change of 14-Oct-2002.
-
-       * alloc.c (allocate_other_vector):
-       * lisp.h (allocate_other_vector): Remove.
-
-       * window.c (struct save_window_data): Move non-lisp data to the end
-       and make it `int' rather than Lisp_Object.
-       (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.
-       Done wrap/unwrap integer values.
-       (Fset_window_configuration, compare_window_configurations):
-       Update use of fields to their new types.
-
-       * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.
-       Turn integer fields into `int'.  Merge x_window_low and x_window_high.
-       (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)
-       (SET_SCROLL_BAR_X_WINDOW): Remove.
-       (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
-       Access the new x_window field directly.
-       * xterm.c (x_scroll_bar_create): Use a pseudovector.
-       Don't wrap/unwrap integers into Lisp_Objects.
-       (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)
-       (x_scroll_bar_report_motion):
-       Don't wrap/unwrap integers into Lisp_Objects.
-       (x_term_init): Use SDATA.
-       (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)
-       (x_scroll_bar_set_handle, x_scroll_bar_remove)
-       (XTset_vertical_scroll_bar, x_scroll_bar_expose)
-       (x_scroll_bar_report_motion, x_scroll_bar_clear):
-       * xfns.c (x_set_background_color):
-       * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):
-       Access the new x_window field directly.
-
-       * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.
-       (allocate_pseudovector): Make non-static.
-
-       * lisp.h (enum pvec_type): New tag PVEC_OTHER.
-       (allocate_pseudovector): Declare.
-       (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.
-
-2007-11-15  Andreas Schwab  <schwab@suse.de>
-
-       * editfns.c (Fformat): Correctly format EMACS_INT values.
-       Also take precision into account when formatting an integer.
-
-       * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.
-
-2007-11-15  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * keyboard.c (Fevent_symbol_parse_modifiers): New function.
-       (syms_of_keyboard): Defsubr it.
-
-       * data.c (swap_in_global_binding): Fix longstanding bug where
-       store_symval_forwarding was not called with the right second argument,
-       thus causing objfwd-ing from being dropped.
-
-2007-11-14  Juanma Barranquero  <lekktu@gmail.com>
-
-       * macfns.c (Fx_create_frame, Fx_display_pixel_width)
-       (Fx_display_pixel_height, Fx_display_planes)
-       (Fx_display_color_cells, Fx_server_max_request_size)
-       (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
-       (Fx_display_visual_class, Fx_display_save_under):
-       * w32fns.c (Fx_create_frame, Fx_display_pixel_width)
-       (Fx_display_pixel_height, Fx_display_planes)
-       (Fx_display_color_cells, Fx_server_max_request_size)
-       (Fx_server_vendor, Fx_server_version, Fx_display_screens)
-       (Fx_display_mm_height, Fx_display_mm_width)
-       (Fx_display_backing_store, Fx_display_visual_class)
-       (Fw32_select_font, Fx_display_save_under):
-       * xfns.c (Fx_create_frame, Fx_display_pixel_width)
-       (Fx_display_pixel_height, Fx_display_planes)
-       (Fx_display_color_cells, Fx_server_max_request_size)
-       (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)
-       (Fx_display_save_under): Fix typos in docstrings.
-
-2007-11-14  Juanma Barranquero  <lekktu@gmail.com>
-
-       * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values
-       corresponding to deleted entries; they are an implementation detail.
-       (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):
-       Remove variables.
-       (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)
-       (w32_pass_multimedia_buttons_to_system, w32_strict_painting)
-       (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)
-       (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)
-       (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.
-       (Fw32_define_rgb_color, Fw32_load_color_file)
-       (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:
-       Fix typos in docstrings.
-       (Fx_server_version): Reflow docstring.
-       (Fw32_shell_execute): Doc fixes.
-
-2007-11-13  Juanma Barranquero  <lekktu@gmail.com>
-
-       * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
-       if w32_parse_hot_key returned nil.
-
-2007-11-10  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * xdisp.c (load_overlay_strings): Fix copy&paste typo.
-
-2007-11-09  Jason Rumney  <jasonr@gnu.org>
-
-       * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
-
-       * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
-
-       * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
-       Remove W32_SCROLL_BAR_CLICK_EVENT.
-
-       * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
-       Add MULTIMEDIA_KEY_EVENT.
-
-       * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.
-       (lispy_multimedia_keys) [WINDOWSNT]: New array.
-       (make_lispy_event) [WINDOWSNT]: Use it to translate
-       MULTIMEDIA_KEY_EVENT.
-
-       * w32term.h (WM_APPCOMMAND): Define if not already.
-       (GET_APPCOMMAND_LPARAM): Likewise.
-
-       * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
-       WM_APPCOMMAND.
-
-       * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.
-       (syms_of_w32fns): Export and initialize it.
-       (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.
-
-2007-11-09  Chong Yidong  <cyd@stupidchicken.com>
-
-       * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
-       twice.
-
-       * xdisp.c (handle_face_prop): Fix last change.
-
-2007-11-09  Richard Stallman  <rms@gnu.org>
-
-       * xdisp.c (handle_face_prop): Test for strings that came from overlays,
-       not just for after-strings and before-strings.
-       Call face_for_overlay_string and pass the overlay to it.
-       (handle_display_prop): Determine whether property came from an overlay.
-       Pass OVERLAY arg to handle_single_display_spec.
-       (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.
-       (load_overlay_strings): Fill in it->string_overlays.
-       (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.
-
-       * xfaces.c (face_for_overlay_string): Function renamed from
-       face_at_buffer_position_no_overlays, and add arg OVERLAY.
-
-       * dispextern.h (struct it): New elt string_overlays.
-       New elt from_overlay, also in stack.
-       Rearrange a few elements.
-       (face_for_overlay_string): Decl renamed from
-       face_at_buffer_position_no_overlays, and add argument.
-
-2007-11-09  Richard Stallman  <rms@gnu.org>
-
-       * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
-       to get the base face for an overlay string.
-
-       * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
-
-       * xfaces.c (face_at_buffer_position_no_overlays): New function.
-
-       * xdisp.c (handle_stop): Move some code out of loop.
-
-2007-11-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
-       Fix conversion from Lisp object to ATSUFontID.
-
-2007-11-09  Jason Rumney  <jasonr@gnu.org>
-
-       * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
-
-2007-11-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):
-       Don't assume regions are aligned to page boundary.
-       (print_load_command_name): Add LC_UUID if defined.
-
-2007-11-09  Richard Stallman  <rms@gnu.org>
-
-       * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
-
-2007-11-07  Jason Rumney  <jasonr@gnu.org>
-
-       * s/windows95.h: Remove.
-
-2007-11-06  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
-       abort with a message on unhandled store_type values.
-
-2007-11-01  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
-       Remove HAVE_X11R5 and HAVE_X11R4.
-
-2007-11-01  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * Makefile.in: Remove references to sunfns.c and sunfns.o.
-
-2007-11-01  Johan Bockgård  <bojohan@gnu.org>
-
-       * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):
-       Don't set s->stippled_p here, since it has already been set by
-       x_set_glyph_string_gc from x_draw_glyph_string.
-
-2007-11-01  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * sunfns.c: Remove file.
-
-       * m/sun386.h:
-       * m/sun2.h:
-       * m/sparc.h: Remove Sun windows code.
-
-2007-10-31  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.
-       (init_keyboard): Set current_kboard's window-system to nil.
-       (tty_read_avail_input): Typo.
-       * frame.c (make_initial_frame): Don't initialize the initial_kboard.
-
-2007-10-31  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * s/usg5-4.h:
-       * s/usg5-3.h:
-       * s/ptx.h:
-       * m/is386.h:
-       * m/ibmps2-aix.h:
-       * Makefile.in: Remove all mentions of X10.
-
-       * dispnew.c (syms_of_display): Don't mention version 10.
-
-2007-10-28  Juanma Barranquero  <lekktu@gmail.com>
-
-       * makefile.w32-in (OBJ1): Remove abbrev.$(O).
-       ($(BLD)/abbrev.$(O)): Remove.
-
-2007-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       Rewrite abbrev.c in Elisp.
-       * image.c (Qcount): Don't declare as extern.
-       (syms_of_image): Initialize and staticpro `Qcount'.
-       * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.
-       * emacs.c (main): Don't call syms_of_abbrev.
-       * Makefile.in (obj): Remove abbrev.o.
-       (abbrev.o): Remove.
-       * abbrev.c: Remove.
-
-2007-10-26  Martin Rudalics  <rudalics@gmx.at>
-
-       * window.c (window_min_size_2): Don't count header-line.
-
-2007-10-26  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * frame.h (struct frame): Move all bit fields after the first bit
-       field to take advantage of the available space.  Group all the
-       chars together to reduce wasted space due to padding.
-
-2007-10-26  Juanma Barranquero  <lekktu@gmail.com>
-
-       * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
-
-       * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)
-       (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)
-       (n_interval_blocks, init_strings, check_string_bytes, check_sblock)
-       (init_float, free_float, n_cons_blocks, init_cons, all_vectors)
-       (n_vectors, symbol_block, symbol_block_index, symbol_free_list)
-       (n_symbol_blocks, init_symbol, marker_block, marker_free_list)
-       (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)
-       (last_marked, mark_object_loop_halt): Make static.
-
-       * frame.c (syms_of_frame) <delete-frame-functions>:
-       Fix typo in docstring.
-
-2007-10-25  Juanma Barranquero  <lekktu@gmail.com>
-
-       * w32.c (init_environment): Fix tiny memory leak.
-       (w32_get_resource): Remove unused variable `ok'.
-
-2007-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       Make `window-system' into a keyboard-local variable (rather than
-       frame-local as done originally by multi-tty).
-
-       * keyboard.h (struct kboard): Add Vwindow_system.
-       * keyboard.c (init_kboard): Set a default for Vwindow_system.
-       (mark_kboards): Mark Vwindow_system.
-
-       * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
-       (init_display): Don't set the obsolete `window-system' frame-param.
-
-       * xterm.c (x_term_init):
-       * w32term.c (w32_create_terminal):
-       * term.c (init_tty): Set Vwindow_system.
-       * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the
-       multi-tty merge maybe?), copied from w32term.c.  Set Vwindow_system.
-
-       * xfns.c (Fx_create_frame, x_create_tip_frame):
-       * w32fns.c (Fx_create_frame, x_create_tip_frame):
-       * macfns.c (Fx_create_frame):
-       Don't set the obsolete `window-system' frame-param.
-
-       * frame.h (Qwindow_system): Remove.
-       * frame.c (Qwindow_system): Remove.  In `syms_of_frame' as well.
-       (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.
-
-2007-10-24  Richard Stallman  <rms@gnu.org>
-
-       * frame.c (x_figure_window_size): For fullscreen case,
-       set USPosition | PPosition without clobbering rest of window_prompting.
-
-       * keyboard.c (Fcurrent_idle_time): Doc fix.
-
-       * print.c (Fwith_output_to_temp_buffer): Doc fix.
-
-2007-10-23  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * process.c (unwind_request_sigio): Only define if __ultrix__.
-
-       * callproc.c (child_setup): Remove spurious *.
-
-       * lisp.h (Fget_text_property): Declare.
-       (have_menus_p): Declare it here rather than in sys-dep header files.
-       * macterm.h (have_menus_p):
-       * msdos.h (have_menus_p):
-       * xterm.h (have_menus_p): Remove.
-
-       * data.c (Fmake_variable_buffer_local, Fmake_local_variable)
-       (Fmake_variable_frame_local): Just check the variable's const-ness
-       rather than checking nil or t.
-
-2007-10-22  Jason Rumney  <jasonr@gnu.org>
-
-       * w32fns.c: Include math.h.
-       (w32_abort): Declaration moved to nt/config.nt.
-
-       * s/ms-w32.h (HAVE_STDLIB_H): Define.
-       (abort): Redefinition moved to nt/config.nt.
-
-       * m/windowsnt.h: Remove.
-
-2007-10-22  Juanma Barranquero  <lekktu@gmail.com>
-
-       * emacs.c (Fdump_emacs): Fix typo in message.
-       (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
-       <installation-directory>: Reflow docstring.
-
-2007-10-22  Juri Linkov  <juri@jurta.org>
-
-       * minibuf.c: Allow minibuffer default to be a list of default values.
-       With empty input use the first element of this list as returned default.
-       (string_to_object)
-       (read_minibuf_noninteractive): If defalt is cons, set val to its car.
-       (read_minibuf): If defalt is cons, set histstring to its car.
-       (Fread_string): If default_value is cons, set val to its car.
-       (Fread_buffer): If def is cons, use its car.
-       (Fcompleting_read): If defalt is cons, set val to its car.
-
-2007-10-21  Michael Albinus  <michael.albinus@gmx.de>
-
-       * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
-
-2007-10-20  Juanma Barranquero  <lekktu@gmail.com>
-
-       * doc.c (Fdocumentation): Check for advice in all cases.
-
-2007-10-19  Chong Yidong  <cyd@stupidchicken.com>
-
-       * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
-
-2007-10-19  Richard Stallman  <rms@gnu.org>
-
-       * doc.c (Fdocumentation): Check for and handle an advised function.
-
-2007-10-19  Juanma Barranquero  <lekktu@gmail.com>
-
-       * process.c (Fset_process_filter): Doc fix.
-
-2007-10-18  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
-       which caused key-translation-map to applied repeatedly (thus breaking
-       double-mode).
-
-2007-10-17  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * xselect.c (x_own_selection, x_handle_selection_clear)
-       (x_clear_frame_selections):
-       * w32menu.c (list_of_panes, list_of_items):
-       * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):
-       * textprop.c (validate_plist, interval_has_all_properties)
-       (interval_has_some_properties, interval_has_some_properties_list)
-       (add_properties, text_property_list):
-       * process.c (Fget_buffer_process, list_processes_1, status_notify):
-       * minibuf.c (Fassoc_string):
-       * macselect.c (x_own_selection, x_clear_frame_selections)
-       (Fx_disown_selection_internal):
-       * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):
-       Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.
-
-2007-10-17  Chong Yidong  <cyd@stupidchicken.com>
-
-       * process.c: Link to libs for calling res_init() if available.
-       (Fmake_network_process): Call res_init() before getaddrinfo or
-       gethostbyname, if possible.
-
-2007-10-17  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * lread.c (read1): Set pvectype for char_tables.
-
-       * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)
-       (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):
-       Add type checks.
-       (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.
-
-       * alloc.c (free_misc): Use XMISCTYPE.
-       (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
-
-2007-10-17  Glenn Morris  <rgm@gnu.org>
-
-       * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.
-       (syms_of_minibuf): Add Qcompletion_ignore_case.
-       * dired.c (Qcompletion_ignore_case): Change to external.
-       (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.
-       * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.
-       (Fread_file_name): Use it rather than intern'ing.
-
-       * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
-       (Fread_coding_system): Ignore case of user input.
-
-2007-10-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * xdisp.c (handle_display_prop): Ignore display specs after
-       replacing one when string text is being replaced.
-       (handle_single_display_spec): Pretend as if characters with display
-       property haven't been consumed only when buffer text is being replaced.
-
-2007-10-16  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * xfns.c (Fx_create_frame, Fx_display_list):
-       * window.c (window_fixed_size_p, enlarge_window)
-       (shrink_window_lowest_first):
-       * macterm.c (init_font_name_table):
-       * macfns.c (Fx_create_frame, Fx_display_list):
-       * lread.c (close_load_descs):
-       * keyboard.c (read_char_x_menu_prompt):
-       * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):
-       * coding.c (code_convert_region_unwind): Test the type of an object
-       rather than just !NILP before extracting data from it.
-
-       * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
-
-       * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
-       (XMISCANY): New macro.
-       (XMISCTYPE): Use it.
-       (struct Lisp_Misc_Any): New type.
-       (union Lisp_Misc): Use it.
-       (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
-       * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
-       (find_symbol_value, set_internal, default_value, Fset_default)
-       (Fmake_variable_buffer_local, Fmake_local_variable)
-       (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
-       (Flocal_variable_if_set_p, Fvariable_binding_locus):
-       The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
-       * alloc.c (allocate_buffer): Set the size and tag.
-       (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
-       Use XMISCANY.
-       (die): Follow the GNU convention for error messages.
-       * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
-       * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
-       tag any more.
-       (set_buffer_internal_1):
-       * frame.c (store_frame_param):
-       * eval.c (specbind):
-       * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
-
-       * doc.c (Fsnarf_documentation): Simplify.
-
-2007-10-14  Juanma Barranquero  <lekktu@gmail.com>
-
-       * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
-       (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
-
-2007-10-14  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
-
-2007-10-14  Juanma Barranquero  <lekktu@gmail.com>
-
-       * eval.c (do_autoload): Don't save autoloads.
-
-       * data.c (Ffset): Save autoload of the function being set.
-
-2007-10-07  John Paul Wallington  <jpw@pobox.com>
-
-       * xfns.c (x_create_tip_frame): Set the `display-type' frame
-       parameter before setting up faces.
-
-2007-10-13  Eli Zaretskii  <eliz@gnu.org>
-
-       * ccl.c (Fregister_code_conversion_map):
-       * keyboard.c (append_tool_bar_item): Reformat last change.
-
-       * lisp.h (eabs): Rename from `abs'.  All callers changed.
-
-2007-10-05  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * buffer.c (add_overlay_mod_hooklist):
-       * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):
-       * fontset.c (make_fontset):
-       * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)
-       (append_tool_bar_item):
-       * macmenu.c (grow_menu_items):
-       * w32menu.c (grow_menu_items):
-       * xmenu.c (grow_menu_items): Use larger_vector.
-
-2007-10-13  Eli Zaretskii  <eliz@gnu.org>
-
-       * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
-       selected frame'' on MSDOS).
-
-2007-10-12  Martin Rudalics  <rudalics@gmx.at>
-
-       * frame.c (Qexplicit_name): New variable.
-       (x_report_frame_params): Report it in parameter alist.
-       (syms_of_frame): Intern and staticpro it.
-
-2007-10-10  Patrick Mahan  <mahan@mahan.org>  (tiny change)
-
-       * macfns.c (x_create_tip_frame): Set terminal for frame.
-
-2007-10-10  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * frame.c (Qenvironment): Remove.
-       (syms_of_frame) <Qenvironment>: Don't initialize.
-       (Fdelete_frame): Don't treat the `environment' param specially.
-       * frame.h (Qenvironment): Don't declare.
-       * callproc.c (set_initial_environment): Don't set unused frame param.
-
-       * frame.c (Fframe_with_environment): Remove.
-       (syms_of_frame) <Sframe_with_environment>: Don't declare.
-
-       * lisp.h (Fframe_with_environment): Don't declare.
-
-2007-10-10  Juanma Barranquero  <lekktu@gmail.com>
-
-       * indent.c (indent_tabs_mode, last_known_column)
-       (last_known_column_modified): Make static.
-       (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.
-
-2007-10-10  Katsumi Yamaoka  <yamaoka@jpl.org>
-
-       * puresize.h (BASE_PURESIZE): Increase to 1170000.
-
-2007-10-09  Jason Rumney  <jasonr@gnu.org>
-
-       * w32term.c (x_set_window_size): Disable code that attempts to tell
-       Lisp code about a size change before it actually happens.
-
-2007-10-09  Richard Stallman  <rms@gnu.org>
-
-       * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
-       return HANDLED_RETURN.
-
-2007-10-08  Martin Rudalics  <rudalics@gmx.at>
-
-       * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
-       when there's an unread command event.
-
-       * frame.c (focus_follows_mouse): Move here from frame.el to allow
-       window autoselection act appropriately when leaving selected frame.
-       (syms_of_frame): Initialize focus_follows_mouse.
-       * frame.h (focus_follows_mouse): Extern it.
-       * macterm.c (XTread_socket): When focus_follows_mouse is nil
-       make SELECT_WINDOW_EVENT only if we don't leave the selected frame.
-       * msdos.c (dos_rawgetc): Likewise.
-       * w32term.c (w32_read_socket): Likewise.
-       * xterm.c (handle_one_xevent): Likewise.
-       * xdisp.c (syms_of_xdisp): In doc-string of
-       mouse-autoselect-window mention focus-follows-mouse.
-
-2007-10-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * macterm.c (mac_load_query_font): Fix missing return value.
-       [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
-       Add BLOCK_INPUT.
-
-2007-10-08  Richard Stallman  <rms@gnu.org>
-
-       * xdisp.c (get_window_cursor_type): Implement documented behavior
-       for cursor-in-non-selected-windows = t.
-
-2007-10-08  Jason Rumney  <jasonr@gnu.org>
-
-       * w32.c (w32_get_resource): Always close registry keys.
-
-2007-10-08  Jason Rumney  <jasonr@gnu.org>
-
-       * makefile.w32-in (LIBS): Add COMCTL32.
-
-       * w32fns.c (globals_of_w32fns): Init common controls.
-
-2007-10-08  Richard Stallman  <rms@gnu.org>
-
-       * image.c (our_memory_buffer): Rename from omfib_buffer.
-
-2007-10-08  Richard Stallman  <rms@gnu.org>
-
-       * buffer.c (Foverlays_at): Doc fix.
-
-2007-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * fns.c (Fplist_put): Preserve uneven tail data.
-
-2007-10-08  Peter O'Gorman  <bug-gnu-emacs@mlists.thewrittenword.com>  (tiny change)
-
-       * termhooks.h (enum event_kind): Remove trailing comma.
-
-       * frame.h (enum): Remove trailing comma.
-
-2007-10-08  Dhruva Krishnamurthy  <dhruvakm@gmail.com>  (tiny change)
-
-       * w32proc.c (delete_child): Don't terminate threads of zombies.
-
-2007-10-08  Martin Rudalics  <rudalics@gmx.at>
-
-       * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
-
-       * keyboard.c (syms_of_keyboard): Set up new Lisp variable
-       last-repeatable-command.
-       (init_kboard): Initialize Vlast_repeatable_command.
-       (command_loop_1): Set it to real_this_command unless that was
-       bound to an input event.
-       (mark_kboards): Mark it.
-
-2007-10-08  Richard Stallman  <rms@gnu.org>
-
-       * eval.c (condition-case): Doc fix.
-
-2007-10-08  Masatake YAMATO  <jet@gyve.org>
-
-       * xfaces.c (tty_supports_face_attributes_p): Fix code
-       for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
-       was copied and not edited.
-
-2007-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       Add new `input-decode-map' keymap and use it for terminal
-       escape sequences.
-       * keyboard.h (struct kboard): Add Vinput_decode_map.
-       Remove Vlocal_key_translation_map.
-       * keyboard.c (read_key_sequence): Add support for input-decode-map.
-       (init_kboard): Init input-decode-map.
-       Replace local-key-translation-map back with key-translation-map.
-       (syms_of_keyboard): Declare input-decode-map.
-       Remove local-key-translation-map.  Update docstrings.
-       (mark_kboards): Mark Vinput_decode_map.
-       Don't mark Vlocal_key_translation_map.
-       * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.
-       Replace local-key-translation-map back with key-translation-map.
-       * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):
-       Bind in input-decode-map rather than function-key-map.
-
-       * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
-       This was made redundant by the previous introduction of XSETPVECTYPE.
-
-2007-10-09  Richard Stallman  <rms@gnu.org>
-
-       * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
-
-2007-09-29  Richard Stallman  <rms@gnu.org>
-
-       * eval.c (internal_condition_case_2, internal_condition_case_1)
-       (internal_condition_case): Reenable abort if x_catching_errors ()
-       to see if that really happens and why.
-
-2007-10-06  Andreas Schwab  <schwab@suse.de>
-
-       * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
-
-2007-10-04  Juanma Barranquero  <lekktu@gmail.com>
-
-       * image.c (syms_of_image) <image-types>: Fix typo in docstring.
-
-2007-10-03  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
-
-2007-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * window.h (struct window):
-       * window.c (struct save_window_data, struct saved_window):
-       * termhooks.h (struct terminal):
-       * process.h (struct Lisp_Process):
-       * frame.h (struct frame):
-       * buffer.h (struct buffer):
-       * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)
-       (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):
-       The size field of (pseudo)vectors is now unsigned.
-       (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.
-
-       * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
-       Turn `count' into an integer.
-
-       * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)
-       (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):
-       * print.c (print_object) <HASH_TABLE_P>: `count' is an int.
-       * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.
-       (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.
-
-       * alloc.c (allocate_pseudovector): New fun.
-       (ALLOCATE_PSEUDOVECTOR): New macro.
-       (allocate_window, allocate_terminal, allocate_frame)
-       (allocate_process): Use it.
-       (mark_vectorlike): New function.
-       (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.
-       (mark_terminals): Use it.
-       (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)
-       (Fmake_byte_code): Use XSETPVECTYPE.
-
-       * frame.c (Fframe_parameters): Minor simplification.
-
-       * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
-
-       * marker.c (Fmarker_buffer): Make test for odd case into a failure.
-
-       * buffer.c (Fget_buffer_create, init_buffer_once):
-       * lread.c (defsubr):
-       * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
-
-       * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be
-       defined differently in the m/*.h files.
-       (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.
-       (XSETPVECTYPE): New macro.
-       (XSETPSEUDOVECTOR): Use it.
-
-       * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.
-       (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.
-
-       * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):
-       * lread.c (defvar_per_buffer):
-       * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.
-
-       * window.c (candidate_window_p): Only consider as visible frames that
-       are on the same terminal.
-
-       * m/ibms390x.h (MARKBIT): Remove unused macro.
-
-2007-10-01  Juanma Barranquero  <lekktu@gmail.com>
-
-       * lread.c (Fload): Fix typo in docstring.
-
-2007-10-01  Michaël Cadilhac  <michael@cadilhac.name>
-
-       * floatfns.c (Fexpt): Manually check for overflows, so that a power
-       of a non-zero value can't yield zero.
-
-2007-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * term.c (term_clear_mouse_face, term_mouse_highlight)
-       (tty_write_glyphs_with_face): Only define is HAVE_GPM.
-
-       * print.c (safe_debug_print): Use XHASH.
-
-       * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of
-       Lisp elements such as tags.
-       (XHASH): New macro.
-       (EQ): Use it.
-       (SREF, SSET, STRING_COPYIN): Use SDATA.
-       (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.
-
-       * alloc.c (mark_terminal): Remove left-over declaration.
-       (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.
-       (allocate_vectorlike): Remove type argument.  Adjust callers.
-       (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):
-       Only handle the one remaining MEM_TYPE_VECTORLIKE.
-
-       * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros
-       to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.
-       (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)
-       (lisp_align_free, make_interval, allocate_string, allocate_string_data)
-       (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):
-       Use them.
-
-       * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):
-       Don't let signal handlers run when a GC is freed but not yet NULL'ed.
-       (x_free_gc): Remove BLOCK_INPUT since it's now redundant.
-
-2007-09-28  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
-       loaded by default.
-
-2007-09-28  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * term.c (Fgpm_mouse_start): Don't signal an error if already activated
-       on this tty.
-       (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.
-
-       * term.c (mouse_face_window): Rename from Qmouse_face_window.
-       Update all users.
-       (handle_one_term_event): Use Gpm_DrawPointer.
-       (Fgpm_mouse_start): Rename from Fterm_open_connection.
-       Signal errors instead of returning nil.  Always return nil.
-       (Fgpm_mouse_stop): Rename from Fterm_close_connection.
-       Make it a noop if gpm-mouse was not activated.
-       (syms_of_term): Update names.
-
-2007-09-27  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
-       (init_sys_modes): Check that gpm_tty is the current tty.
-
-       * alloc.c (allocate_terminal): Set the vector size to only count the
-       lisp fields.  Initialize those to nil.
-       (mark_object): Don't treat terminals specially.
-       (mark_terminal): Remove.
-       (mark_terminals): Use mark_object instead.
-
-       * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
-       the GC to the beginning.
-
-       * indent.h:
-       * indent.c: Use EMACS_INT for ints coming from Elisp data.
-
-       * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
-
-2007-09-25  Jason Rumney  <jasonr@gnu.org>
-
-       * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
-
-       * w32console.c (create_w32cons_output): Remove.
-
-       * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
-
-       * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
-       (reset_sys_modes): Use reset_terminal_modes_hook.
-
-2007-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * eval.c (do_autoload): Don't output any message.
-
-2007-09-24  Juri Linkov  <juri@jurta.org>
-
-       * emacs.c (standard_args): Change priority of "--no-splash"
-       from 40 to 3.  Add "--no-desktop" with the same priority.
-
-2007-09-23  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * alloc.c (gc_sweep): Check cons cell mark bits word by word
-       and optimize the case where they are all 1.
-
-2007-09-23  Johannes Weiner  <hannes@saeurebad.de>
-
-       * lisp.h (abs): Define if not defined.
-       * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:
-       Don't define `abs', since it's defined in lisp.h.
-
-2007-09-22  Eli Zaretskii  <eliz@gnu.org>
-
-       * term.c (DEV_TTY): New macro.  Provide a definition for MS-Windows.
-       (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.
-       (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)
-       (init_tty): Use DEV_TTY instead of "/dev/tty".
-       [WINDOWSNT]: No need to protect from NAME arg being null.
-
-2007-09-21  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
-       up the tty state.
-
-2007-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * termhooks.h (term_gpm): Delete.  Use gpm_tty's NULLness instead.
-       (gpm_tty): Change its type.
-       * term.c (term_gpm): Delete.  Use gpm_tty's NULLness instead.
-       (gpm_tty): Change its type and initialize it.
-       (Fterm_open_connection): Check the frame is indeed a tty.
-       Use the new gpm_tty.
-       (Fterm_close_connection): Use the new gpm_tty.
-       * keyboard.c (tty_read_avail_input): Use the new gpm_tty.
-       * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.
-
-2007-09-21  Juanma Barranquero  <lekktu@gmail.com>
-
-       * w32term.c (x_draw_glyph_string): Use strike_through_color, not
-       underline_color, to draw strike-through.
-
-2007-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * lisp.h (allocate_terminal): Declare.
-
-       * window.c (candidate_window_p): Consider frames that are being placed
-       by the user as somewhere between visible and iconified.
-       (window_loop): Prefer windows on the current frame.
-       (Fselect_window): Move the use of select-frame to the beginning so we
-       can just delegate all the work (it'll call us back anyway).
-
-       * frame.c (Qdisplay_environment_variable):
-       * frame.h (Qdisplay_environment_variable): Delete.
-
-       * .gdbinit (xbacktrace): Print the arg's address rather than the value
-       of the first arg, since that value may be a union.
-
-       * callproc.c (child_setup, getenv_internal): Use the frame's `display'
-       parameter rather than Qdisplay_environment_variable.  If all else
-       fails, look for DISPLAY in initial-environment.
-
-2007-09-21  Glenn Morris  <rgm@gnu.org>
-
-       * Makefile.in (emacstool): Remove target.
-       (lisp, shortlisp): Remove termdev.elc.
-
-2007-09-21  Markus Triska  <markus.triska@gmx.at>
-
-       * xterm.c (x_delete_display): Compile session management conditionally.
-
-2007-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * callproc.c (getenv_internal_1): New function.
-       (getenv_internal): Use it.
-       (Fgetenv_internal): Use it.  Accept an env-list as optional arg.
-
-       * terminal.c (get_terminal): Don't accept ints to represent terminals.
-       (Fterminal_name, Fterminal_parameters, Fterminal_parameter)
-       (Fset_terminal_parameter): Work with dead terminals as well.
-       (Fmodify_terminal_parameters): Remove.
-
-       * terminal.c (get_terminal): Handle terminals.
-       Make sure the terminal returned is live.
-       (create_terminal): Use allocate_terminal.
-       (mark_terminals): Move to alloc.c.
-       (delete_terminal): Use terminal->name as liveness status.
-       NULL out fields after freeing their contents.
-       Don't deallocate the object.
-       (Fframe_terminal): Use FRAME_TERMINAL.  Return the terminal object
-       rather than an int.
-       (Fterminal_live_p): Accept non-integer arguments.
-       (Fterminal_list): Return terminal objects rather than an ints.
-
-       * alloc.c (enum mem_type): New member for `terminal' objects.
-       (allocate_terminal): New function.
-       (mark_maybe_pointer, valid_lisp_object_p, mark_object):
-       Handle terminals.
-       (mark_terminal): New fun.
-       (mark_terminals): Move from terminal.c.
-
-       * term.c (get_tty_terminal): Don't treat output_initial specially.
-       (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.
-       (delete_tty): Use terminal->name as liveness status.
-
-       * termhooks.h (struct terminal): Make it into a pseudovector.
-       Remove `deleted' replaced by checking `name's nullness.
-
-       * print.c (print_object): Handle terminals.
-
-       * lisp.h (enum pvec_type): New `terminal' pseudovector.
-       (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
-
-       * frame.c (make_terminal_frame):
-       * keyboard.c (tty_read_avail_input):
-       * w32term.c (x_delete_terminal):
-       * xfns.c (Fx_create_frame, x_create_tip_frame):
-       * xterm.c (x_delete_terminal): Use terminal->name as liveness status.
-
-2007-09-20  Glenn Morris  <rgm@gnu.org>
-
-       * process.c (Fmake_network_process): Doc fix.
-
-2007-09-19  Jason Rumney  <jasonr@gnu.org>
-
-       * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
-
-2007-09-19  Michaël Cadilhac  <michael@cadilhac.name>
-
-       * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
-       Fix a C warning regarding variable constness.
-
-       * xterm.c (handle_one_xevent): Fix a C warning.
-
-2007-09-18  Jason Rumney  <jasonr@gnu.org>
-
-       * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
-
-2007-09-17  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * gtkutil.c (gdpy_def): New variable.
-       (xg_initialize): Initialize gdpy_def.
-       (xg_display_close): If no other display exists, set gdpy_def to a
-       new connection.
-
-2007-09-16  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf
-       when we have no file name for the icon.
-       (xg_tool_bar_expose_callback): Remove.
-       (xg_create_tool_bar): Don't connect expose signal to
-       xg_tool_bar_expose_callback.
-       (xg_get_file_with_chooser): Move GCPRO1 after declarations.
-
-2007-09-16  Andreas Schwab  <schwab@suse.de>
-
-       * alloc.c (reset_malloc_hooks): Set the hooks to the previous
-       values instead of zapping them.
-
-2007-09-14  Glenn Morris  <rgm@gnu.org>
-
-       * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.
-       * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.
-       * image.c (our_memory_fill_input_buffer) <buffer>: Move to file
-       scope and rename to omfib_buffer for clarity.
-       (gif_load) <interlace_start, interlace_increment>: Move to file scope.
-
-2007-09-14  Kenichi Handa  <handa@m17n.org>
-
-       * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
-
-2007-09-13  Jason Rumney  <jasonr@gnu.org>
-
-       * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
-
-       * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
-
-       * macterm.c (mac_initialize): Don't call mac_init_fringe here.
-       (mac_term_init): Call here instead, passing rif.
-
-2007-09-13  Glenn Morris  <rgm@gnu.org>
-
-       * s/hpux.h: No longer define `static' as nothing.
-
-2007-09-13  Johan Bockgård  <bojohan@gnu.org>
-
-       * callint.c (Fcall_interactively): Remove unused var `fun'.
-
-2007-09-12  Romain Francoise  <romain@orebokech.com>
-
-       * window.c (prefer_window_split_horizontally, display_buffer):
-       Revert 2007-09-08 change.
-
-2007-09-12  Glenn Morris  <rgm@gnu.org>
-
-       * alloca.c: Remove file.
-       * Makefile.in (alloca): Do not undef.
-       (allocaobj, alloca.o): Remove.
-       (otherobj): Remove allocaobj.
-       * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.
-       * regex.c (C_ALLOCA): Remove all references and code that was only
-       used when this was defined.
-       * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.
-       * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.
-       * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.
-
-       * Makefile.in (SOURCES, unlock, relock): Delete.
-
-       * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
-       (menu_grab_callback): All uses changed.
-
-       * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
-       (x_reply_selection_request): All uses changed.
-
-2007-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * lread.c (load_warn_old_style_backquotes): Change message to look
-       better when it appears in the middle of byte-compiler messages.
-
-2007-09-10  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
-
-       * xterm.c (x_create_terminal): Add comment.
-
-       * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
-
-2007-09-10  Richard Stallman  <rms@gnu.org>
-
-       * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
-
-2007-09-10  Michaël Cadilhac  <michael@cadilhac.name>
-
-       * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
-       (DEFUN): Document `intspec', use it instead of `prompt'.
-
-       * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
-
-       * data.c (Finteractive_form): If the interactive specification starts
-       with a `(', use it as a Lisp form.
-
-       * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
-       name and file modes.
-
-       * callint.c (Fcall_interactively): Comment fixes.
-
-2007-09-10  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
-       and compiled functions.
-
-2007-09-08  Fredrik Axelsson  <f.axelsson@gmail.com>
-
-       * window.c (prefer_window_split_horizontally): New variable.
-       (display_buffer): Consider splitting window horizontally depending
-       on prefer_window_split_horizontally.
-
-2007-09-08  Eli Zaretskii  <eliz@gnu.org>
-
-       * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
-
-2007-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
-
-       * frame.c (x_set_frame_parameters): Check number is positive before
-       using XFASTINT.
-
-       * window.c (freeze_window_start): Don't presume selected_window holds
-       a window object.
-       (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.
-
-2007-09-07  Angelo Graziosi  <Angelo.Graziosi@roma1.infn.it>  (tiny change)
-
-       * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
-
-2007-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * window.c (Vsplit_window_preferred_function): New var.
-       (Fdisplay_buffer): Use it.
-       (syms_of_window): Export, and initialize it.
-
-2007-09-06  Pixel  <pixel@mandriva.com>  (tiny change)
-
-       * image.c (gif_load): Fix bug: Handle nonexistent colormap.
-
-2007-09-06  Glenn Morris  <rgm@gnu.org>
-
-       * gtkutil.c (menu_grab_callback) <cnt>:
-       * xselect.c (x_reply_selection_request) <cnt>: Move static
-       variable to file scope.
-
-2007-09-06  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * xdisp.c (redisplay_internal): Make sure Elisp code always sees
-       consistent values of selected_frame and selected_window.
-
-2007-09-04  Jason Rumney  <jasonr@gnu.org>
-
-       * w32console.c (initialize_w32_display): Zero unused hooks.
-
-2007-09-04  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
-       (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
-
-2007-09-04  Jason Rumney  <jasonr@gnu.org>
-
-       * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible
-       in w32console.c.  Set up input.  Remove XXX comments that have been
-       confirmed as correct.
-
-       * s/ms-w32.h (MULTI_KBOARD): Define.
-
-       * w32console.c (one_and_only_w32cons): Remove.
-       (initialize_w32_display): Take terminal argument.
-
-       * term.c (init_tty) [WINDOWSNT]: Pass terminal to
-       initialize_w32_display.
-       (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
-
-       * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
-
-       * keyboard.c (discard_mouse_events): Discard it.
-       (make_lispy_event): Translate it to a lisp event.
-       (lispy_wheel_names): Add wheel-left and right events.
-       (syms_of_keyboard): Enlarge wheel_syms.
-
-       * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
-       <WM_MOUSEHWHEEL>: Pass new system message to lisp.
-
-       * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
-
-       * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
-       from WM_MOUSEHWHEEL.
-       (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
-
-       * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
-       terminal.
-
-       * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
-       keyboard for the terminal.
-
-2007-09-04  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.
-       (Vresume_tty_hook): Rename from Vresume_tty_functions.
-       (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook
-       and resume-tty-function to resume-tty-hook.
-       (Fsuspend_tty, Fresume_tty): Use new names.
-
-2007-09-02  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon
-       if it starts with "n:".
-
-2007-08-31  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
-
-2007-08-31  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * frame.h:
-       * frame.c (Qterm_environment_variable): Remove.
-       (syms_of_frame): Don't init and staticpro it.
-
-       * callproc.c (getenv_internal): Remove special case for $TERM.
-
-       * callproc.c (Vinitial_environment): New variable.
-       (set_initial_environment): Initialize it.
-       (syms_of_callproc): Declare it.
-       (child_setup): Don't mess with TERM via Qterm_environment_variable; the
-       TERM under which a process runs is never related to the TERM in which
-       Emacs is running.
-
-2007-08-29  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
-       * s/darwin.h: ... do it here.
-
-2007-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * lisp.h (set_initial_environment): Rename from set_global_environment.
-
-       * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
-       removed by mistake on the multi-tty branch.
-
-       * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
-       (Fmodify_frame_parameters): Return a value.
-
-       * image.c (png_load): Comment-out var only used in commented-out code.
-
-       * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
-       before passing it to mark_object.
-
-       * xfaces.c (internal_resolve_face_name): Return a value.
-       (internal_resolve_face_name, resolve_face_name_error): Comment out.
-
-       * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
-       (x_icon): Comment-out var only used in commented-out code.
-
-2007-08-29  Romain Francoise  <romain@orebokech.com>
-
-       * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
-       QUIT hasn't been provided.
-
-2007-08-29  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * callproc.c (child_setup, getenv_internal): Use the
-       display-environment-variable and term-environment-variable frame params.
-       (set_initial_environment): Initialise Vprocess_environment.
-
-       * config.in: Disable multi-keyboard support on a mac.
-
-       * frame.c (Qterm_environment_variable)
-       (Qdisplay_environment_variable): New variables.
-       (syms_of_frame): Intern and staticpro them.
-       (Fmake_terminal_frame): Disable output method test.
-
-       * frame.h: Declare them here.
-
-       * macfns.c (x_set_mouse_color): Get rif from the frame.
-       (x_set_tool_bar_lines): Don't use updating_frame.
-       (mac_window): Add 2 new parameters for consistency with other systems.
-       (Fx_create_frame): Fix doc string.  Rename the parameter.  Set the
-       frame parameters following what is done in X11 and w32.  Don't use
-       FRAME_MAC_DISPLAY_INFO.
-       (Fx_open_connection, start_hourglass): Remove window-system check.
-       (x_create_tip_frame): Get the keyboard from the terminal.
-
-       * macmenu.c: Reorder includes.
-       (Fx_popup_menu): Use terminal specific mouse_position_hook.
-
-       * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
-       terminal parameter.
-       (x_clear_frame): Add a frame parameter.
-       (note_mouse_movement): Get rif from the frame.
-       (mac_term_init): Initialize the terminal.
-       (mac_initialize): Make static and move terminal initialization ...
-       (mac_create_terminal): ... to this new function.
-
-       * macterm.h (struct mac_display_info): Add terminal.
-       (mac_initialize): Delete declaration.
-
-       * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
-
-       * sysdep.c: Comment out text after #endif.
-
-       * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
-       is defined.  Better initialize ttys in windows.  Use terminal
-       specific mouse_position_hook.
-
-       * termhooks.h (union display_info): Add mac_display_info.
-
-       * w32fns.c (Fx_create_frame): Use kboard from the terminal.
-       Set the default minibuffer frame, window_system and the rest of the
-       frame parameters following what is done in X11.
-
-       * w32term.c (w32_initialize): Make static.
-
-       * xselect.c (x_handle_selection_clear): Only access
-       terminal->kboard when MULTI_KBOARD is defined.
-
-       * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
-       (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
-
-2007-08-29  Jason Rumney  <jasonr@gnu.org>
-
-       * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
-       (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
-
-       * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
-       (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
-
-       * keyboard.c (restore_kboard_configuration): Only define when
-       MULTI_KBOARD defined.
-
-       * makefile.w32-in: Update dependancies from Makefile.in.
-       (OBJ1): Add terminal.$(O)
-
-       * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
-       Don't define function body.
-       (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
-
-       * termhooks.h (display_info) [WINDOWSNT]: Add w32.
-
-       * w32.c (request_sigio, unrequest_sigio): Remove.
-
-       * w32console.c (w32con_move_cursor, w32con_clear_to_end)
-       (w32con_clear_frame, w32con_clear_end_of_line)
-       (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
-       (w32con_delete_glyphs, w32con_set_terminal_window)
-       (scroll_line, w32_sys_ring_bell): Add frame arg.
-       (w32con_set_terminal_modes, w32con_reset_terminal_modes):
-       Add terminal arg.
-       (PICK_FRAME): Remove.
-       (w32con_write_glyphs): Use frame specific terminal coding.
-       (one_and_only_w32cons): New global variable.
-       (initialize_w32_display): Use it for storing hooks.
-       (create_w32cons_output): New function.
-
-       * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
-       arg a frame.
-
-       * w32fns.c (x_create_tip_frame): Set terminal and ref count.
-       Set window_system.
-       (x_set_tool_bar_lines): Don't use updating_frame.
-       (Fx_create_frame): Set terminal and ref count.
-       (Fx_open_connection): Remove window-system check.
-
-       * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
-
-       * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
-       (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
-       (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
-       Add frame arg.
-       (x_delete_terminal, w32_create_terminal): New functions.
-       (w32_term_init): Create a terminal.
-       (w32_initialize): Move terminal specific initialization to
-       w32_create_terminal.
-
-       * w32term.h (x_output): Remove foreground_pixel and background_pixel.
-       (w32_clear_rect, w32_clear_area): Use background from frame.
-       (w32_display_info): Add terminal.
-       (w32_sys_ring_bell, x_delete_display): Declare here.
-
-       * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
-
-       * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
-
-2007-08-29  Kalle Olavi Niemitalo  <kon@iki.fi>  (tiny change)
-
-       * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
-       Fix get_named_tty calls for the controlling tty.
-
-2007-08-29  ARISAWA Akihiro  <ari@mbf.ocn.ne.jp>  (tiny change)
-
-       * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
-
-2007-08-29  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>  (tiny change)
-
-       * term.c (tty_insert_glyphs): Add missing first parameter.
-
-2007-08-29  Károly Lőrentey  <karoly@lorentey.hu>
-
-       * buffer.c (Fbuffer_list, Fbury_buffer):
-       Take frame->buried_buffer_list into account.
-
-       * cm.c (current_tty): New variable, for cmputc().
-       (cmputc): Use it.
-       (cmcheckmagic): Add tty parameter, look up terminal streams there.
-       (calccost): Add tty parameter.  Use emacs_tputs() instead of tputs().
-       (cmgoto): Add tty parameter.  Pass it on to calccost().
-       Use emacs_tputs() instead of tputs().
-
-       * cm.h (emacs_tputs): New macro to set current_tty, and then call
-       tputs().
-       (current_tty): New variable, for cmputc().
-       (cmcheckmagic, cmputc, cmgoto): Add prototypes.
-
-       * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
-       (internal_condition_case, internal_condition_case_1)
-       (internal_condition_case_2): Don't abort when x_catching_errors.
-
-       * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
-       (Fy_or_n_p): Likewise.  Use temporarily_switch_to_single_kboard to
-       prevent crashes caused by bogus longjmps in read_char.
-
-       * keymap.h (Fset_keymap_parent): Add EXFUN.
-
-       * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
-       * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
-       Remove redundant definition.
-
-       * macfns.c (x_set_mouse_color, x_make_gc):
-       Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
-
-       * w32term.c (x_free_frame_resources):
-       Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
-       (w32_initialize): Use the accessor macros for terminal characteristics.
-
-       * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
-       Use the accessor macros for terminal characteristics.
-       * msdos.c (internal_terminal_init): Use the accessor macros for
-       terminal characteristics.
-       (ScreenVisualBell, internal_terminal_init):
-       Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
-
-       * termopts.h (no_redraw_on_reenter): Declare.
-
-       * alloc.c (emacs_blocked_malloc): Disable mallopt call.
-       (mark_terminals, mark_ttys): Declare.
-       (Fgarbage_collect): Call them.
-       (mark_object): Mark buried_buffer_list.
-
-       * prefix-args.c: Include stdlib.h for exit.
-
-       * syssignal.h: Add comment.
-
-       * indent.c: Include stdio.h.
-
-       * window.h (Vinitial_window_system): Declare.
-       (Vwindow_system): Delete declaration.
-
-       * fontset.c (Finternal_char_font): Use FRAME_RIF.
-
-       * image.c (lookup_image): Don't initialize `c' until the xasserts
-       have been run.
-
-       * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
-       FRAME_FOREGROUND_PIXEL.
-
-       * print.c (print_preprocess): Don't lose print_depth levels while
-       iterating.
-
-       * widget.c (update_from_various_frame_slots):
-       Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
-
-       * window.c (set_window_buffer): Don't call clear_mouse_face on tty
-       frames.
-       (window_internal_height): Remove bogus make_number call.
-       (init_window_once): Call make_terminal_frame with two zero parameters.
-
-       * fileio.c (Fread_file_name): Update comment.
-
-       * callint.c (Fcall_interactively):
-       Use temporarily_switch_to_single_kboard instead of single_kboard_state.
-       Make sure it is correctly unwound.
-
-       * xsmfns.c (x_session_close): New function.
-
-       * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):
-       Delete declarations.
-
-       * xterm.h: Remove declaration for x_fully_uncatch_errors.
-       (x_output): Remove background_pixel and foreground_pixel fields.
-       (x_display_info): Add new field TERMINAL.  Remove KBOARD field.
-       (x_delete_device, x_session_close): Declare.
-
-       * lread.c: Include setjmp.h.  Update declaration of `read_char'.
-       (read_filtered_event): Call `read_char' with a local
-       `wrong_kboard_jmpbuf'.
-
-       * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.
-       Don't call single_kboard_state.  Use FRAME_RIF.
-
-       * process.c (Fmake_network_process): Don't unrequest_sigio on modern
-       systems.
-
-       * lisp.h (set_process_environment): Rename to `set_global_environment'.
-       (Fframe_with_environment, Fset_input_meta_mode)
-       (Fset_quit_char): EXFUN.
-       (x_create_device, tty_output, terminal, tty_display_info): Declare.
-       (init_sys_modes, reset_sys_modes): Update prototypes.
-       (init_all_sys_modes, reset_all_sys_modes): New prototypes.
-
-       * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,
-       Vlocal_key_translation_map, and Vkeyboard_translate_table.
-       (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):
-       Delete declarations.
-       (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)
-       (temporarily_switch_to_single_kboard, tty_read_avail_input):
-       New declarations.
-
-       * emacs.c (main): Don't call init_sys_modes(), the new term_init()
-       already does that during init_display().  Call syms_of_keymap
-       before syms_of_keyboard.  Call `syms_of_terminal'.
-       Call set_initial_environment, not set_process_environment.
-       (shut_down_emacs): Call reset_all_sys_modes() instead of
-       reset_sys_modes().
-
-       * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
-       (internal_resolve_face_name, resolve_face_name_error): New functions.
-       (resolve_face_name): Protect against loops and errors thrown by Fget.
-       (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.
-       (Ftty_supports_face_attributes_p): Update tty_capable_p call.
-
-       * scroll.c: Replace CURTTY() with local variables throughout the
-       file (where applicable).
-       (calculate_scrolling, calculate_direct_scrolling)
-       (scrolling_1, scroll_cost): Use the accessor macros for terminal
-       characteristics.
-
-       * keymap.c (Vfunction_key_map): Remove.
-       (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
-       (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
-       (Vkey_translation_map): Remove.
-       (syms_of_keymap): Remove DEFVAR for key-translation-map.
-       (Fdescribe_buffer_bindings)
-       (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
-       Update for terminal-local key-translation-map.
-
-       * Makefile.in (callproc.o): Update dependencies.
-       (lisp, shortlisp): Add termdev.elc.
-       (obj): Add terminal.o.
-       (terminal.o): Add dependencies.
-       [HAVE_CARBON]: Make terminal.o depend on macgui.h.
-       (data.o, fns.o): Add termhooks.h dependency.
-       (SOME_MACHINE_LISP): Add dnd.elc.
-       (minibuf.o): Fix typo.
-       Update dependencies.
-
-       * data.c (do_symval_forwarding, store_symval_forwarding)
-       (find_symbol_value): Use the selected frame's keyboard, not
-       current_kboard.
-
-       * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
-       Vwindow_system.
-
-       * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
-       Fmenu_bar_open.
-       (syms_of_xmenu): Update defsubr.
-       (mouse_position_for_popup, Fx_popup_menu)
-       (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
-       (set_frame_menubar, free_frame_menubar)
-       (create_and_show_popup_menu, xmenu_show, )
-       (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
-       an X frame.
-
-       * xselect.c (x_own_selection): Abort if not an X frame.
-       (some_frame_on_display): Check if it is an X frame.
-       (x_handle_selection_clear): Deal with MULTI_KBOARD.
-
-       * coding.c: Include frame.h and termhooks.h.
-       (terminal_coding, keyboard_coding): Delete.
-       (Fset_terminal_coding_system_internal)
-       (Fset_keyboard_coding_system_internal)
-       (Fkeyboard_coding_system)
-       (Fterminal_coding_system): Add a terminal parameter.
-       Get terminal_coding from the terminal.
-       (init_coding_once): Don't call setup_coding_system here.
-
-       * dispextern.h (set_scroll_region, turn_off_insert)
-       (turn_off_highlight, background_highlight, clear_end_of_line_raw)
-       (tty_clear_end_of_line, tty_setup_colors)
-       (delete_tty, updating_frame)
-       (produce_special_glyphs, produce_glyphs, write_glyphs)
-       (insert_glyphs): Remove.
-       (raw_cursor_to, clear_to_end, tty_turn_off_insert)
-       (tty_turn_off_highlight, get_tty_size): Add declaration.
-       (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.
-
-       * frame.h (enum output_method): Add output_initial.
-       (struct x_output): Delete.
-       (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
-       Access foreground_pixel and background_pixel directly from the frame.
-       (tty_display): Delete.
-       (struct frame): Add buried_buffer_list, foreground_pixel,
-       background_pixel and terminal.  Delete kboard.
-       (union output_data): Add tty.
-       (FRAME_KBOARD): Get the kboard from the terminal.
-       (FRAME_INITIAL_P): New macro.
-       (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
-       (Qterm_environment_variable, Qdisplay_environment_variable)
-       (make_terminal_frame, Qburied_buffer_list, Qwindow_system):
-       New declarations.
-
-       * termchar.h (tty_output, tty_display_info): New structures.
-       (tty_list): Declare.
-       (FRAME_TTY, CURTTY): New macros.
-       (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
-       (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
-       (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
-       (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
-
-       * callproc.c: Include frame.h and termhooks.h, for terminal
-       parameters.
-       (add_env): New function.
-       (child_setup): Use it.
-       (child_setup, getenv_internal): Handle the new Vprocess_environment.
-       (getenv_internal): Fix get_terminal_param call.
-       (Fgetenv_internal, egetenv): Update doc.
-       (syms_of_callproc): Initialize Vprocess_environment to nil.
-       Register and initialize them.  Remove obsolete defvars.  Update doc
-       strings.
-       (child_setup): Handle Vlocal_environment_variables.
-       (getenv_internal): Add terminal parameter.
-       Handle Vlocal_environment_variables.
-       (Fgetenv_internal): Add terminal parameter.
-       (child_setup, getenv_internal, Fgetenv_internal): Store the local
-       environment in a frame (not terminal) parameter.  Update doc strings.
-       (set_initial_environment): Rename from set_global_environment.
-       Store Emacs environment in initial frame parameter.
-
-       * xdisp.c (redisplay_internal): Update references to
-       `previous_terminal_frame'.
-       (display_mode_line, Fformat_mode_line): Replace calls to
-       `push_frame_kboard' with `push_kboard'.
-       (get_glyph_string_clip_rects): Add extra parentheses and
-       braces to prevent compiler warnings.
-       (calc_pixel_width_or_height): Add xassert to check that the
-       frame is alive.  Don't call `lookup_image' on a termcap frame.
-       (message2_nolog, message3_nolog, redisplay_internal)
-       (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
-       (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
-       (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
-       (Fx_display_pixel_width, Fx_display_pixel_height)
-       (Fx_display_planes, Fx_display_color_cells)
-       (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
-       (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
-       (Fx_display_backing_store, Fx_display_visual_class)
-       (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
-       Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
-
-       * xfns.c (x_set_foreground_color x_set_background_color)
-       (x_set_mouse_color, x_set_cursor_color, x_make_gc):
-       Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
-       (Fx_create_frame, x_create_tip_frame, build_string, x_window)
-       (Fx_create_frame, x_create_tip_frame): Don't create frames on a
-       terminal that is being deleted.
-       (Fx_create_frame): Use `store_frame_param' to set `window-system'
-       frame parameter, and make sure it overrides any user-supplied setting.
-       (Fx_close_connection, Fx_synchronize): Unify argument names with
-       the rest of the DEFUNs.
-
-       * dispnew.c (Fsend_string_to_terminal): Update call to
-       `get_tty_terminal'.
-       (Fredraw_frame, Fsend_string_to_terminal)
-       (Fsend_string_to_terminal, init_display): Use FRAME_RIF,
-       FRAME_TERMCAP_P and FRAME_TTY.
-       (window_change_signal): Don't believe width/height values that are
-       impossibly small.
-       (Vinitial_window_system): Rename from Vwindow_system.
-       (termscript, Wcm, rif): Delete.
-
-       * termhooks.h (struct terminal): New struct containing the
-       previously global text display hooks and new members NAME,
-       DELETED and PARAM_ALIST.
-       (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
-       (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
-       (FRAME_RIF): New macros.
-       (get_terminal_param, get_device): New declarations.
-       (termscript): Delete declaration.
-
-       * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
-       (XTflash, x_free_frame_resources, x_scroll_bar_create)
-       (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
-       FRAME_FOREGROUND_PIXEL.
-       (x_fully_uncatch_errors): Disable definition.
-       (x_scroll_bar_expose): Fix reference to foreground pixel.
-       (XTread_socket): Disable loop on all X displays.
-       (x_delete_terminal): Don't set terminal->deleted and let
-       delete_terminal delete the frames on the terminal.
-       (x_delete_display): Doc update to reflect changes in
-       delete_terminal.
-       (x_display_info) <terminal>: Move member earlier in the struct.
-       (deleting_tty): Remove old variable.
-       (Fsuspend_tty): Call clear_tty_hooks.
-       (Fresume_tty, init_tty): Call set_tty_hooks.
-       (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
-       errors on X frames.
-       (x_catch_errors_unwind): Abort if x_error_message is NULL.
-       (handle_one_xevent): Initialize `f' to NULL.
-       (x_delete_terminal, x_create_terminal): New functions.
-       (XTset_terminal_modes, XTreset_terminal_modes)
-       (XTread_socket, x_connection_closed, x_term_init)
-       (x_term_init, x_delete_display): Add terminal parameter.
-       (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
-       X connections.
-
-       * frame.c: Include termchar.h.
-       (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)
-       (Qwindow_system, Qenvironment, Qterm_environment_variable)
-       (Qdisplay_environment_variable): New vars.
-       (Fframep): Deal with output_initial.
-       (Fframe-live-p): Doc fix.
-       (Fwindow-system): New function.
-       (x_set_screen_gamma, store_frame_param): Fix compilation errors.
-       (make_terminal_frame): Don't create frames on a terminal that is
-       being deleted.  Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
-       (store_frame_param): Check for found_for_frame before calling XFRAME.
-       (Fmake_terminal_frame): Handle NULL tty names correctly.
-       (syms_of_frame): Enhance doc string of `default-frame-alist'.
-       (Fdelete_frame): Remove unused variable `count'.  Don't allow other
-       frames to refer to a deleted frame in their 'environment parameter.
-       (Fframe_with_environment): New function.
-       (syms_of_frame): Defsubr it.  Initialize and staticpro Qenvironment.
-       (get_future_frame_param): New function.
-       (Fmake_terminal_frame): Use it.
-       (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.
-
-       * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
-       * sysdep.c (reset_sys_modes): Update for renames.
-
-       * keyboard.c (tty_read_avail_input): New function.
-       (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.
-       (syms_of_keyboard): Defsubr them.
-       (Fset_input_meta_mode, Fset_quit_char): New functions.
-       (Fset_input_mode): Split to above functions.
-       (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
-       parameter.  Use it in call to `read_char'.
-       (read_char): Declare.  Update call to `read_char_minibuf_menu_prompt'.
-       Set wrong_kboard_jmpbuf correctly in recursive calls.
-       Use current_kboard to access Vkeyboard_translate_table.
-       Enhance comment before extra longjmp to wrong_kboard_jmpbuf.
-       Add wrong_kboard_jmpbuf parameter to allow for recursive calls.
-       Update longjmp invocations.  Remember the original current_kboard,
-       and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel
-       changes it.  Comment out unnecessary calls to
-       `record_single_kboard_state' and `any_kboard_state'.
-       Update recursive calls.
-       (wrong_kboard_jmpbuf): Remove global variable.
-       (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
-       Handle deleted interrupted_kboards correctly; that is a legal
-       case.  Add `wrong_kboard_jmpbuf' local variable.  Update setjmp
-       and read_char calls.  Abort if interrupted_kboard died in read_char.
-       (any_kboard_state, single_kboard_state)
-       (push_frame_kboard): Remove function.
-       (pop_kboard): Switch out of single_kboard mode if the kboard has
-       been deleted.  Remove unused variable.  Help debugging by not
-       changing current_kboard unnecessarily.  Set current_kboard to the
-       kboard of the selected frame when the stored kboard object has
-       been deleted before pop_kboard.
-       (temporarily_switch_to_single_kboard): Change first parameter to a
-       frame pointer.  Throw an error when caller wants to change kboards
-       while in single_kboard mode.  Don't push_kboard if we weren't in
-       single kboard state.  Don't pop_kboard if we popped into any
-       kboard state.
-       (restore_kboard_configuration): Abort if pop_kboard changed the
-       kboard in single_kboard mode.  Call pop_kboard only after setting
-       up single_kboard mode.
-       (Frecursive_edit): Switch to single_kboard mode only in nested
-       command loops.
-       (cmd_error, command_loop, command_loop_1, timer_check):
-       Comment out unnecessary call to `any_kboard_state' and
-       `record_single_kboard_state'.
-       (delete_kboard): Exit single_kboard mode if we have just deleted
-       that kboard.  Use FRAME_KBOARD.
-       (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
-       `fatal_error_signal'.
-       (record_single_kboard_state): Don't push_kboard if we weren't in
-       single kboard state.  Don't pop_kboard if we popped into any
-       kboard state.
-       (push_frame_kboard): Rename to push_kboard.
-       (kbd_buffer_get_event): Use FRAME_TERMINAL.
-       (read_avail_input): Read input from all terminals.
-       (mark_kboards): Also mark Vkeyboard_translate_table.
-       (kbd_buffer_store_event_hold): Simplify condition.
-       (read_key_sequence): Reinitialize fkey and keytran at each replay.
-       (Vkeyboard_translate_table): Move to struct kboard.
-       (init_kboard): Initialize Vkeyboard_translate_table.
-       (syms_of_keyboard): Use DEFVAR_KBOARD to define
-       Vkeyboard_translate_table.  Update doc strings.  Update docs of
-       local-function-key-map and function-key-map.
-
-       * terminal.c: New file.
-
-       * term.c: Include errno.h.
-       (Vring_bell_function, device_list, initial_device)
-       (next_device_id, ring_bell, update_begin, update_end)
-       (set_terminal_window, cursor_to, raw_cursor_to)
-       (clear_to_end, clear_frame, clear_end_of_line)
-       (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
-       (Fdisplay_name, create_device, delete_device): Move to terminal.c.
-       (syms_of_term): Move their initialization to terminal.c.
-       (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
-       (Ftty_display_color_cells)
-       (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
-       (clear_tty_hooks, set_tty_hooks)
-       (init_tty, maybe_fatal): New functions.
-       (Ftty_type): Return nil if terminal is not on a tty instead of
-       throwing an error.  Doc update.
-       (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
-       Doc update.  Initialize new subrs and variables.
-       (delete_tty): Use terminal->deleted.
-       (tty_set_terminal_modes): Rename from set_terminal_modes.
-       (tty_reset_terminal_modes): Rename from reset_terminal_modes.
-       (set_scroll_region): Rename to `tty_set_scroll_region'.
-       (turn_on_insert): Rename to `tty_turn_on_insert'.
-       (turn_off_insert): Rename to `tty_turn_off_insert'.
-       (turn_off_highlight): Rename to `tty_turn_off_highlight'.
-       (turn_on_highlight): Rename to `tty_turn_on_highlight'.
-       (toggle_highligh): Rename to `tty_toggle_highlight'.
-       (background_highlight): Rename to `tty_background_highlight'.
-       (highlight_if_desired): Rename to `tty_highlight_if_desired'.
-       (tty_ring_bell, tty_update_end, tty_set_terminal_window)
-       (tty_set_scroll_region, tty_background_highlight)
-       (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
-       (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
-       (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
-       (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
-       Add static modifier.
-       (tty_reset_terminal_modes, tty_set_terminal_window)
-       (tty_set_scroll_region, tty_background_highlight)
-       (tty_highlight_if_desired, tty_cursor_to)
-       (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
-       (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
-       (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
-       renames.
-
-2007-08-28  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * keyboard.c: Qrtl is new.
-       (parse_tool_bar_item): Handle :rtl keyword.
-       (syms_of_keyboard): Intern :rtl keyword.
-
-       * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.
-
-       * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED
-       so no Lisp code is executed.
-       (file_for_image, find_rtl_image): New functions.
-       (xg_get_image_for_pixmap): Use file_for_image.
-       (update_frame_tool_bar): If direction is RTL, use RTL image if
-       defined.  Use Gtk stock images if defined.
-
-2007-08-27  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle
-       for nonexistent or zero-width glyph in composition glyph.
-
-2007-08-25  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.
-
-       * xdisp.c (Finvisible_p): New function.
-       (syms_of_xdisp): defsubr it.
-
-2007-08-24  Juanma Barranquero  <lekktu@gmail.com>
-
-       * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:
-       Doc fixes.
-
-2007-08-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.
-
-2007-08-24  Martin Rudalics  <rudalics@gmx.at>
-
-       * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell
-       whether decoding has modified buffer contents.
-
-2007-08-24  Jason Rumney  <jasonr@gnu.org>
-
-       * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.
-       (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.
-       (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.
-       (init_svg_functions) [HAVE_NTGUI]: New function.
-       (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.
-       (svg_load_image): Use them.
-       (svg_load_image) [HAVE_NTGUI]: Implement background.
-
-2007-08-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.
-       (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.
-       (LIBX): Remove @RSVG_LIBS@.
-       (LIBES): Add $(RSVG_LIBS).
-
-       * image.c (svg_load_image): Blend with specified background if exists.
-       Use IMAGE_BACKGROUND.  Add Mac OS Support.
-
-       * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.
-       (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:
-       Remove macros.
-       [MAC_OSX] (socket_callback): Do nothing.
-       [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of
-       ReceiveNextEvent.
-       [MAC_OSX] (sys_select): Likewise.  Don't set context as argument to
-       socket_callback.
-       (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.
-
-2007-08-22  Glenn Morris  <rgm@gnu.org>
-
-       * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
-
-2007-08-22  Paul Pogonyshev  <pogonyshev@gmx.net>
-
-       * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
-
-       * image.c: Add support for SVG images.  Some additional comments
-       by Joakim Verona <joakim@verona.se>.  When HAVE_RSVG is defined:
-       (svg_image_p): New function to test for SVG image.
-       (svg_load): New function to load SVG image.
-       (svg_load_image): New function, helper for svg_load.
-       (Qsvg): New Lisp_object.
-       (svg_keyword_index): New enum.
-       (svg_format): New static `image_keyword' struct.
-       (svg_type): New static `image_type' struct.
-       (librsvg/rsvg.h): Include it.
-
-2007-08-23  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
-
-2007-08-22  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * lread.c (Qold_style_backquotes): New var.
-       (syms_of_lread): Init and staticpro it.
-       (load_warn_old_style_backquotes): New fun.
-       (Fload): Use them to warn about old style backquotes.
-       (end_of_file_error, Fload): Remove unused vars.
-
-       * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
-
-       * lread.c (Vold_style_backquotes): New var.
-       (syms_of_lread): Init and export it to Elisp.
-       (read1): Set it when we find an old-style (back)quote.
-
-2007-08-22  Jason Rumney  <jasonr@gnu.org>
-
-       * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
-
-2007-08-22  Katsumi Yamaoka  <yamaoka@jpl.org>
-
-       * puresize.h (BASE_PURESIZE): Increase to 1140000.
-
-2007-08-19  Richard Stallman  <rms@gnu.org>
-
-       * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
-
-2007-08-19  Andreas Schwab  <schwab@suse.de>
-
-       * alloc.c (pure): Round PURESIZE up.
-
-2007-08-17  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * xterm.c (handle_one_xevent): Remove check that mouse click is in
-       active frame.
-
-2007-08-16  Richard Stallman  <rms@gnu.org>
-
-       * eval.c (Fcommandp): Add parens to clarify.
-
-       * minibuf.c (Fall_completions): Use enum for type of table.
-
-       * emacs.c (USAGE2): Improve text.
-
-2007-08-15  Philippe Waroquiers  <philippe.waroquiers@eurocontrol.int>
-
-       * term.c (tty_default_color_capabilities): Declare static
-       variables in file scope, to avoid HPUX compiler problem.
-
-2007-08-13  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * gtkutil.c (update_frame_tool_bar): Use -1 as index
-       to gtk_toolbar_insert.
-
-2007-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
-
-       * insdel.c (reset_var_on_error): New fun.
-       (signal_before_change, signal_after_change):
-       Use it to reset (after|before)-change-functions to nil in case of error.
-       Bind inhibit-modification-hooks to t.
-       Don't bind (after|before)-change-functions to nil while they run.
-
-2007-08-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
-       filling pixmap with stippled background.
-
-2007-08-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
-       Don't use invisible frame as parent window for repositioning.
-
-2007-08-10  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * print.c (new_backquote_output): Rename from old_backquote_output.
-       (print): Inverse its logic (according to its name) so as to match the
-       behavior of new_backquote_flag in lread.c.
-
-2007-08-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * gmalloc.c (posix_memalign): New function.
-
-       * macterm.c (frame_highlight, frame_unhighlight): Don't call
-       ActivateControl/DeactivateControl here.
-       [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when
-       frame-notice-user-settings is non-nil.
-       [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter
-       for kEventParamFMFontStyle.
-       [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check
-       mac_pass_command_to_system and mac_pass_control_to_system here.
-       (XTread_socket): Call ActivateControl/DeactivateControl here.
-       (XTread_socket) [TARGET_API_MAC_CARBON]:
-       Check mac_pass_command_to_system and mac_pass_control_to_system here.
-       (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround
-       for window repositioning.
-
-2007-08-08  Glenn Morris  <rgm@gnu.org>
-
-       * Replace `iff' in doc-strings and comments.
-
-2007-08-07  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xdisp.c (move_it_by_lines): Remove incorrect optimization.
-
-2007-08-07  Martin Rudalics  <rudalics@gmx.at>
-
-       * fileio.c (Finsert_file_contents): Run format-decode and
-       after_insert_file_functions on entire buffer when REPLACE is
-       non-nil and inhibit modification_hooks and point_motion_hooks.
-       For consistency, run after_insert_file_functions iff something
-       got inserted.  Move signal_after_change and update_compositions
-       after code running after_insert_file_functions.  Make sure that
-       undo_list doesn't record intermediate steps of the decoding process.
-
-2007-08-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * emacs.c (main)
-       [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
-       Call malloc_enable_thread on interactive startup.
-
-       * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.
-       (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)
-       [USE_PTHREAD]: Conditionalize with it.
-       (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
-       (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
-       New functions.
-
-2007-08-06  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xdisp.c (redisplay_window): When restoring original buffer
-       position, make sure it is still valid.
-
-       * image.c (png_load): Ignore png-supplied background color.
-
-2007-08-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
-       Use kCFAbsoluteTimeIntervalSince1970.
-
-       * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:
-       New variable.
-       [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
-       event loop should be quit.
-       [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
-       Quit dialog event loop if quit_dialog_event_loop is set.
-
-       * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.
-       (Selection): New typedef.  Use instead of ScrapRef.
-       (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
-       (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
-       (mac_clear_selection): Rename from clear_scrap.
-       (get_flavor_type_from_symbol): New argument SEL and subsume function of
-       scrap_has_target_type.  All uses changed.
-       (mac_get_selection_ownership_info, mac_valid_selection_value_p)
-       (mac_selection_has_target_p): New functions.
-       (mac_put_selection_value): Rename from put_scrap_string.
-       (mac_get_selection_value): Rename from get_scrap_string.
-       (mac_get_selection_target_list): Rename from get_scrap_target_type_list.
-       (put_scrap_private_timestamp, scrap_has_target_type)
-       (get_scrap_private_timestamp): Remove functions.
-       (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
-       (x_own_selection, x_get_local_selection):
-       Use mac_valid_selection_value_p.
-       (x_own_selection): Don't use put_scrap_private_timestamp.
-       Record OWNERSHIP-INFO into Vselection_alist instead.
-       (x_get_local_selection): Don't check type if request is local.
-       (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
-       Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
-
-2007-08-04  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
-       add comment explaining why.
-
-2007-08-03  Richard Stallman  <rms@gnu.org>
-
-       * fileio.c (Fvisited_file_modtime): Use make_time.
-
-2007-08-01  Ryo Yoshitake  <ryo@shiftmode.net>  (tiny change)
-
-       * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
-       build.
-
-2007-07-31  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
-
-2007-07-30  Katsumi Yamaoka  <yamaoka@jpl.org>
-
-       * puresize.h (BASE_PURESIZE): Increase to 1130000.
-
-2007-07-30  Richard Stallman  <rms@gnu.org>
-
-       * lread.c (readevalloop, read1): Treat NBSP as whitespace.
-
-2007-07-29  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * gmalloc.c (__malloc_initialize): Remove pthread_once.  Not needed.
-
-2007-07-28  Nick Roberts  <nickrob@snap.net.nz>
-
-       * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
-       remote default-directory.
-
-       * buffer.c (mode-line-format): Update doc string.
-
-2007-07-27  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to
-       scroll bar gap.
-       (x_scroll_bar_create): Set bar->fringe_extended_p.
-       (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars
-       on frame edge.  Check fringe background extension.  Don't clear
-       extended fringe background area.
-
-       * w32term.h (struct scroll_bar): New member fringe_extended_p.
-       (w32_fill_area): Enclose multiple statements with do ... while (0).
-
-       * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
-       Extend fringe background to scroll bar gap.
-       (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:
-       Set bar->fringe_extended_p.
-       (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
-       Put leftmost/rightmost scroll bars on frame edge.  Check fringe
-       background extension.  Don't clear extended fringe background area.
-
-       * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
-       New member fringe_extended_p.
-
-2007-07-25  Glenn Morris  <rgm@gnu.org>
-
-       * Relicense all FSF files to GPLv3 or later.
-
-       * COPYING: Switch to GPLv3.
-
-2007-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
-
-       * data.c (Finteractive_form): Check for the presence of an
-       `interactive-form' symbol property more thoroughly.
-
-       * data.c (Finteractive_form): Use an `interactive-form' property if
-       present, analogous to the function-documentation property.
-
-2007-07-24  Jason Rumney  <jasonr@gnu.org>
-
-       * w32fns.c (x_real_positions): Get real position from OS instead of
-       calculating it.
-
-2007-07-23  Jason Rumney  <jasonr@gnu.org>
-
-       * filelock.c (current_lock_owner): Allow for @ sign in username.
-
-2007-07-22  Nick Roberts  <nickrob@snap.net.nz>
-
-       * xdisp.c (decode_mode_spec): Add case 'R' for to test for
-       remote default-directory.
-
-       * buffer.c (mode-line-format): Describe above case in doc string.
-
-2007-07-20  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
-       Define if not defined.
-
-2007-07-18  Jason Rumney  <jasonr@gnu.org>
-
-       * w32proc.c (w32_executable_type): Handle 64 bit executables.
-
-2007-07-18  Richard Stallman  <rms@gnu.org>
-
-       * data.c (Fsetq_default): Doc fix.
-
-       * eval.c (Fsetq): Doc fix.
-
-2007-07-18  Juanma Barranquero  <lekktu@gmail.com>
-
-       * coding.c (Ffind_operation_coding_system):
-       * eval.c (For, Fand): Doc fixes.
-       Reported by Johan Bockgård.
-
-2007-07-18  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
-
-       * xterm.h: Declare x_ewmh_activate_frame.
-
-       * xterm.c (x_ewmh_activate_frame): New function.
-       (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
-
-2007-07-17  Martin Rudalics  <rudalics@gmx.at>
-
-       * window.c (Fdisplay_buffer): If largest or LRU window is the
-       only window, split it even if it is not eligible for splitting.
-       This restores the original behavior broken by the 2007-07-15
-       change.
-
-2007-07-17  Glenn Morris  <rgm@gnu.org>
-
-       * abbrev.c (abbrev_check_chars): New function.
-       (Fdefine_global_abbrev, Fdefine_mode_abbrev):
-       Call abbrev_check_chars to check abbrev characters are word
-       constituents.  Doc fix.
-
-2007-07-17  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * process.c (Fstart_process, Fmake_network_process)
-       (read_process_output): Fix up last changes.
-
-2007-07-16  Eli Zaretskii  <eliz@gnu.org>
-
-       * makefile.w32-in (clean): Don't delete *~.
-
-2007-07-16  Andreas Schwab  <schwab@suse.de>
-
-       * window.c (Fdisplay_buffer): Use NILP.
-       (Fset_window_scroll_bars): Likewise.
-
-2007-07-15  Martin Rudalics  <rudalics@gmx.at>
-
-       * window.c (window_min_size_2): New function.
-       (window_min_size_1, size_window, Fdisplay_buffer)
-       (Fsplit_window, adjust_window_trailing_edge): Use it to avoid
-       windows without mode- or header-lines when window-min-height is
-       too small.
-       (size_window): Reset nodelete_p after testing it, following an
-       earlier note by Kim F. Storm.
-       (display_buffer): Do not set split_height_threshold to twice the
-       value of window_min_height to avoid changing the value of a
-       customizable variable.  Rather explicitly check whether the
-       height of the window that shall be splitted is at least as large
-       as split_height_threshold.
-       (Fwindow_full_width_p): New defun.
-       (syms_of_window): Defsubr it.
-
-       * window.h: Add EXFUN for Fwindow_full_width_p.
-
-2007-07-14  Jason Rumney  <jasonr@gnu.org>
-
-       * process.c [WINDOWSNT]: Don't undefine AF_INET6.
-
-2007-07-14  Richard Stallman  <rms@gnu.org>
-
-       * eval.c (maybe_call_debugger): New function.
-       (find_handler_clause): Use maybe_call_debugger.
-       Call it when the handler says `debug'.
-       Eliminate DEBUGGER_VALUE_PTR.
-       (Fsignal): Eliminate debugger_value.
-       (Qdebug): New variable.
-       (syms_of_eval): Initialize it.
-
-2007-07-14  Juanma Barranquero  <lekktu@gmail.com>
-
-       * eval.c (Fprogn):
-       * keyboard.c (Ftrack_mouse):
-       * print.c (Fwith_output_to_temp_buffer):
-       * window.c (Fsave_window_excursion): Doc fix.
-
-2007-07-13  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
-
-2007-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * process.h (struct Lisp_Process): Turn slots infd, outfd,
-       kill_without_query, pty_flag, tick, update_tick, decoding_carryover,
-       inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,
-       read_output_delay, and read_output_skip from Lisp_Objects to ints.
-       Remove unused encoding_carryover.
-       * process.c: Adjust all functions accordingly.
-
-2007-07-12  Richard Stallman  <rms@gnu.org>
-
-       * term.c: Include unistd.h only if HAVE_UNISTD_H.
-
-2007-07-11  Jason Rumney  <jasonr@gnu.org>
-
-       * makefile.w32-in (LIBS): Include OLE32.
-
-       * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
-       (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
-
-2007-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.
-       * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned
-       from a Lisp_Object into a bare pointer.
-       (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):
-       Adjust the code correspondingly.
-
-       * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
-
-       * term.c: Include unistd.h for ttyname, used in handle_one_term_event.
-       (term_show_mouse_face): Remove unused var `j'.
-       (handle_one_term_event): Remove unused vars `i' and `j'.
-       Don't cast return value of ttyname since it's not necessary.
-
-2007-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
-       USE_LSB_TAG.  Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
-
-       * fns.c (map_char_table): Use an array of int for `indices' rather than
-       an array of Lisp_Objects (which are only ever integers anyway).
-       (Fmap_char_table): Update caller.
-       * lisp.h: Update prototype.
-       * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):
-       * fontset.c (Ffontset_info):
-       * casetab.c (set_case_table): Update callers.
-
-       * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
-
-       * keymap.c (struct accessible_keymaps_data)
-       (struct where_is_internal_data): New structures.
-       (accessible_keymaps_1, where_is_internal_1): Use them to change
-       interface to adhere to the one used by map_keymap.
-       (Faccessible_keymaps, where_is_internal): Use map_keymap.
-       (accessible_keymaps_char_table, where_is_internal_2): Remove.
-
-       * keymap.h (map_keymap_function_t): More informative prototype.
-
-2007-07-10  Guanpeng Xu  <herberteuler@hotmail.com>
-
-       * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.
-       (looking_at_1): Don't change search_regs and last_thing_searched
-       if `inhibit-changing-match-data' is non-nil.
-       (string_match_1, search_buffer, set_search_regs): Likewise.
-       (syms_of_search): Add Lisp level definition for
-       `inhibit-changing-match-data' and set it to nil.
-       (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute
-       start and end of the match, instead of using values in search_regs.
-
-2007-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * minibuf.c (Fcompleting_read): New value `confirm-only'
-       for `require-match'.
-
-2007-06-28  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
-       part of the 2007-06-27 change to syms_of_fileio.
-
-2007-06-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
-       Check WINDOWP before using XWINDOW.  Consolidate return statements.
-
-2007-06-27  Richard Stallman  <rms@gnu.org>
-
-       * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
-
-2007-06-27  Juanma Barranquero  <lekktu@gmail.com>
-
-       * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
-
-2007-06-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.
-       (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.
-       (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.
-       (_free_internal, memalign): Use them.
-       (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:
-       Initialize to PTHREAD_MUTEX_INITIALIZER.
-       (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.
-       (morecore_nolock): Rename from morecore.  All uses changed.
-       Use only nolock versions of internal allocation functions.
-       (_malloc_internal_nolock, _realloc_internal_nolock)
-       (_free_internal_nolock): New functions created from
-       _malloc_internal, _realloc_internal, and _free_internal.
-       (_malloc_internal, _realloc_internal, _free_internal): Use them.
-       Copy hook value to automatic variable before its use.
-       (memalign): Copy hook value to automatic variable before its use.
-
-2007-06-26  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (Ffind_operation_coding_system): Docstring improved.
-       (syms_of_coding): Docstring of `file-coding-system-alist' improved.
-
-2007-06-25  David Kastrup  <dak@gnu.org>
-
-       * keymap.c (Fcurrent_active_maps): Add `position' argument.
-       (Fwhere_is_internal): Adjust call to `current-active-maps' to
-       cater for additional parameter.
-
-       * keymap.h: Adjust number of parameters to `current-active-maps'.
-
-       * doc.c (Fsubstitute_command_keys): Adjust call of
-       `current-active-maps'.
-
-2007-06-25  David Kastrup  <dak@gnu.org>
-
-       * callint.c (Fcall_interactively): Make the parsing of interactive
-       specs somewhat more readable.
-
-2007-06-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background
-       to scroll bar gap also when bitmap fills fringe.  Draw only foreground
-       if extended background has already been filled.
-
-2007-06-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
-       (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
-
-       * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:
-       Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p
-       in #if 0 as it is not compatible with y-or-n-p-with-timeout.
-       (timer_check) [TARGET_API_MAC_CARBON]: Add extern.
-       [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop
-       instead of QuitAppModalLoopForWindow.  Consolidate QuitEventLoop calls.
-       (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.
-       [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.
-       Run timers during dialog popup.
-       (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.
-
-2007-06-21  Jason Rumney  <jasonr@gnu.org>
-
-       * image.c (convert_mono_to_color_image): Swap fore and background.
-
-2007-06-20  Jason Rumney  <jasonr@gnu.org>
-
-       * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
-       (w32_free_bdf_font): Unmap memory not handle.
-
-2007-06-20  Sam Steingold  <sds@gnu.org>
-
-       * gmalloc.c (__morecore): Fix the declaration to comply with the
-       definition.
-
-2007-06-20  Juanma Barranquero  <lekktu@gmail.com>
-
-       * w32term.c (w32_delete_display): Remove leftover declaration.
-       (w32_define_cursor, w32_initialize): Make static.
-
-       * w32.c (_wsa_errlist): Fix typo in error message.
-       (init_environment): Ignore any environment variable from the
-       registry having a null value.
-
-2007-06-20  Glenn Morris  <rgm@gnu.org>
-
-       * Makefile.in (LIBGIF): Default to -lgif.
-
-2007-06-17  Jason Rumney  <jasonr@gnu.org>
-
-       * w32menu.c (add_menu_item): Don't use multibyte string functions on
-       unicode strings.
-
-2007-06-16  Juanma Barranquero  <lekktu@gmail.com>
-
-       * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
-       Fix typo in docstring.
-
-2007-06-16  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32menu.c (add_menu_item): Escape `&' characters in menu items
-       and their keybindings.
-
-2007-06-15  Chong Yidong  <cyd@stupidchicken.com>
-
-       * composite.c (update_compositions): Fix last fix.
-
-2007-06-14  Jason Rumney  <jasonr@gnu.org>
-
-       * w32.c (get_process_times_fn): New function pointer.
-       (globals_of_w32): Intialize it if present in kernel32.dll.
-       (w32_get_internal_run_time): New function.
-
-       * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
-
-2007-06-14  Kenichi Handa  <handa@etlken.m17n.org>
-
-       * composite.c (update_compositions): Check the validness of
-       compositions.
-
-2007-06-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
-       (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
-
-       * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
-       (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
-
-       * macgui.h (USE_MAC_TOOLBAR): New define.
-
-       * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
-       Return immediately unless popup is activated.
-
-       * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe
-       background to scroll bar gap.
-       (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.
-       (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost
-       scroll bars on frame edge.  Check fringe background extension.
-       Don't clear extended fringe background area.
-       (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)
-       (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)
-       (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):
-       [USE_MAC_TOOLBAR]: New macros.
-       (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)
-       (mac_handle_toolbar_event, mac_image_spec_to_cg_image)
-       (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)
-       (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)
-       [USE_MAC_TOOLBAR]: New functions.
-       (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window
-       manually if previous repositioning has failed.
-       (mac_handle_keyboard_event): Use precomputed event kind.
-       (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region
-       as tool bar item click.  Handle mouse movement over tool bar items.
-
-       * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member
-       toolbar_win_gravity.
-       (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.
-       (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:
-       Add externs.
-
-       * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
-       [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
-
-2007-06-14  Chong Yidong  <cyd@stupidchicken.com>
-
-       * image.c (search_image_cache): Remove unused variable.
-
-2007-06-13  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xfns.c, xmenu.c: Link to xaw3d if available.
-
-2007-06-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
-       frame_foreground and frame_background.
-
-       * image.c (lookup_image): Save frame foreground and background colors.
-       (search_image_cache): Check if saved and current frame colors match.
-
-2007-06-12  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * regex.c (regex_compile): Remove the `regnum' counter.
-       Use bufp->re_nsub instead.  Add support for \(?N:RE\).
-
-2007-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * term.c: Include intervals.h to declare Fget_text_property.
-
-2007-06-10  Jason Rumney  <jasonr@gnu.org>
-
-       * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
-
-2007-06-08  Juanma Barranquero  <lekktu@gmail.com>
-
-       * callint.c (Fcall_interactively):
-       * editfns.c (Fdelete_and_extract_region):
-       * fileio.c (Fread_file_name):
-       * fns.c (Fmapconcat):
-       * keyboard.c (cmd_error_internal):
-       * keymap.c (Fkey_description):
-       * lread.c (openp):
-       * minibuf.c (read_minibuf):
-       * search.c (wordify):
-       * sunfns.c (sel_read):
-       * xdisp.c (Fformat_mode_line, syms_of_xdisp):
-       * xfns.c (x_default_scroll_bar_color_parameter):
-       * xmenu.c (menu_help_callback):
-       * xselect.c (Fx_get_atom_name):
-       * xterm.c (x_term_init): Use empty_unibyte_string.
-
-2007-06-08  Dmitry Antipov  <dmantipov@yandex.ru>  (tiny change)
-
-       * alloc.c (init_strings): Initialize canonical empty strings.
-       (make_uninit_string, make_uninit_multibyte_string): Return appropriate
-       canonical empty string when the requested size is 0.
-
-       * emacs.c (empty_unibyte_string): Rename from empty_string.
-       (empty_multibyte_string): New canonical empty string.
-       (syms_of_emacs): Don't initialize empty_string.
-
-       * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte
-       string, if appropriate.
-       (empty_unibyte_string, empty_multibyte_string): New externs.
-       (empty_string): Remove extern.
-
-       * lread.c (syms_of_lread): Use empty_unibyte_string.
-
-2007-06-07  Jason Rumney  <jasonr@gnu.org>
-
-       * s/ms-w32.h: Don't define HAVE_TZNAME.
-
-       * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.
-
-2007-06-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.
-
-       * macfns.c (mac_get_window_bounds): Move extern to macterm.h.
-       (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.
-
-       * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
-       Don't call next handler.
-       [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):
-       Remove argument.  Install handler to application.
-       (set_frame_menubar): Don't change deep_p.
-       (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and
-       FRAME_OUTER_TO_INNER_DIFF_Y.
-       (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)
-       (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)
-       [HAVE_DIALOGS]: New macros.
-       [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):
-       Use them.
-       (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.
-
-       * macselect.c [MAC_OSX] (install_service_handler): Rename from
-       init_service_handler.  All callers changed.  Return OSStatus value.
-
-       * macterm.c (mac_begin_cg_clip): New arg F.  Call SetPortWindowPort.
-       All callers changed so as not to call SetPortWindowPort.
-       (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.
-       (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from
-       mac_draw_string_common.
-       (mac_draw_image_string_qd): Likewise.
-       (mac_draw_string_common): Use them.  Add INLINE.
-       (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:
-       Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and
-       GetGlobalMouse.
-       (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X
-       and FRAME_OUTER_TO_INNER_DIFF_Y.
-       [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.
-       [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.
-       (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for
-       repositioning window to mac_handle_window_event.
-       (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for
-       saving window location to mac_handle_window_event
-       [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.
-       (install_menu_target_item_handler): Remove argument in extern.
-       [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):
-       Also accept command events.
-       (do_keystroke): New function created from XTread_socket.
-       (init_command_handler): Remove functions.
-       [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window
-       and save window location by kEventWindowShowing and kEventWindowHiding
-       handlers here.  Don't call next handler for window state change and
-       focus events.
-       (mac_handle_application_event, mac_handle_keyboard_event)
-       [TARGET_API_MAC_CARBON]: New functions.
-       (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for
-       kEventWindowShowing and kEventWindowHiding events.  Move installation
-       of mouse, font, text input and menu target item handlers to
-       install_application_handler.
-       (install_application_handler) [TARGET_API_MAC_CARBON]: New function.
-       (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
-       New function.
-       (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:
-       Register it.
-       (XTread_socket) [TARGET_API_MAC_CARBON]:
-       Consolidate SendEventToEventTarget calls.
-       Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.
-       Move application activation handler to mac_handle_application_event.
-       Move keyboard handler to mac_handle_keyboard_event.
-       (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.
-       (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call
-       init_command_handler.  Call install_application_handler.
-
-       * macterm.h (mac_get_window_bounds): Move extern from macfns.c.
-       (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.
-
-2007-06-07  Glenn Morris  <rgm@gnu.org>
-
-       * emacs.c (main): Use `emacs-copyright' in --version output.
-
-2007-06-06  Chong Yidong  <cyd@stupidchicken.com>
-
-       * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.
-
-2007-06-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * macfns.c (mac_window): Replace WindowPtr with WindowRef.
-
-       * macgui.h: Replace WindowPtr with WindowRef.
-
-       * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and
-       GetMenuRef, respectively.  Replace WindowPtr with WindowRef.
-       Replace ControlHandle with ControlRef.
-       (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.
-
-       * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and
-       GetMenuRef, respectively.  Replace WindowPtr with WindowRef.
-       Replace ControlHandle with ControlRef.
-       (USE_CARBON_EVENTS): Remove.  Use TARGET_API_MAC_CARBON instead.
-       [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.
-
-       * macterm.h (struct scroll_bar): Rename member control_handle_low
-       and control_handle_high to control_ref_low and control_ref_high.
-       All uses changed.
-       (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from
-       SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,
-       respectively.  All uses changed.
-       (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)
-       (install_window_handler, remove_window_handler): Replace WindowPtr
-       with WindowRef in externs.
-
-2007-06-05  Juanma Barranquero  <lekktu@gmail.com>
-
-       * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
-
-2007-06-03  Nick Roberts  <nickrob@snap.net.nz>
-
-       * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
-
-       * frame.c (Fmouse_position, Fmouse_pixel_position):
-       Condition on HAVE_GPM too.
-
-       * term.c (term_mouse_highlight): Remove unused variables.
-       (Fterm_open_connection): Set gpm_zerobased to 1.
-       (term_mouse_movement, term_mouse_click, handle_one_term_event):
-       Use zero based co-ordinates.
-       (handle_one_term_event): Report a drag as mouse movement too.
-
-       * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
-
-2007-06-03  Chong Yidong  <cyd@stupidchicken.com>
-
-       * image.c (search_image_cache): New function.  Require background
-       color match if background color is unspecified in the image spec.
-       (uncache_image, lookup_image): Use it.
-
-2007-06-01  Juanma Barranquero  <lekktu@gmail.com>
-
-       * window.c (Fshrink_window): Reflow docstring.
-
-2007-06-02  Chong Yidong  <cyd@stupidchicken.com>
-
-       * Version 22.1 released.
-
-2007-06-01  Richard Stallman  <rms@gnu.org>
-
-       * xfns.c (x_encode_text): Add GCPRO.
-
-2007-06-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * xfns.c (x_set_name_internal): Save encoded name before
-       x_encode_text in case string data is relocated.
-
-2007-05-31  Richard Stallman  <rms@gnu.org>
-
-       * buffer.c (syms_of_buffer): Doc fix.
-
-2007-05-30  Nick Roberts  <nickrob@snap.net.nz>
-
-       * sysdep.c (init_sys_modes): Add rather than replace with
-       O_NONBLOCK.
-
-       * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
-       term_mouse_moveto.
-
-       * termhooks.h (term_mouse_moveto): New extern.
-
-       * term.c (mouse_face_window): Rename...
-       (Qmouse_face_window): ...to this.
-       (term_show_mouse_face, term_clear_mouse_face)
-       (term_mouse_highlight): Use Qmouse_face_window.
-       (term_mouse_moveto): New function.
-       (term_mouse_position): Make it work.
-       (syms_of_term): Uncomment assignment to mouse_position_hook.
-       Staticpro Qmouse_face_window.
-
-2007-05-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
-       around current_column call.
-
-2007-05-26  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * xfaces.c (syms_of_xfaces): Delete stray semicolon.
-       * xdisp.c (next_element_from_buffer):
-       * window.c (delete_window):
-       * term.c (term_mouse_highlight):
-       * msdos.c (getdefdir):
-       * macterm.c (mac_create_bitmap_from_bitmap_data)
-       (init_font_name_table):
-       * fns.c (Fsxhash):
-       * data.c (Fmake_local_variable):
-       * ccl.c (ccl_driver): Likewise.
-
-2007-05-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
-       Call mac_wakeup_from_rne on window size change.
-
-2007-05-25  Chong Yidong  <cyd@stupidchicken.com>
-
-       * image.c (uncache_image): Fix typo.
-
-2007-05-23  Johannes Weiner  <hannes@saeurebad.de>  (tiny change)
-
-       * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
-
-2007-05-22  Richard Stallman  <rms@gnu.org>
-
-       * xterm.c (x_connection_closed): Remove NO_RETURN.
-
-2007-05-22  Martin Rudalics  <rudalics@gmx.at>
-
-       * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
-
-2007-05-21  Chong Yidong  <cyd@stupidchicken.com>
-
-       * image.c (uncache_image): New function.
-       (Fimage_refresh): New function.
-
-2007-05-20  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
-
-2007-05-20  Nick Roberts  <nickrob@snap.net.nz>
-
-       * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
-       * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
-
-2007-05-20  Nick Roberts  <nickrob@snap.net.nz>
-
-       * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
-       conditional on [HAVE_GPM_H].
-
-2007-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * syntax.c (skip_chars): Update syntax-table only after we checked that
-       the new location is valid.
-
-2007-05-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
-       mac_get_window_bounds.
-
-2007-05-20  Nick Roberts  <nickrob@snap.net.nz>
-
-       * Makefile.in (LIBGPM): Allow it to be set from configure.
-       If set then link Emacs with it.
-
-       * config.in: Regenerate.
-
-       * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
-       New externs.
-
-       * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
-       Include gpm.h.
-       (handle_one_term_event, term_gpm): New externs.
-
-       * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
-       and allow it to be interrupted by SIGIO.
-
-       * process.c (gpm_wait_mask, max_gpm_desc): New variables.
-       (wait_reading_process_output): Wait on gpm_fd too.
-       (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.
-       (add_gpm_wait_descriptor_called_flag): New variable.
-       (delete_keyboard_wait_descriptor): Check gpm_wait_mask.
-
-       * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)
-       (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)
-       (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):
-       Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.
-       (make_lispy_event): Add case GPM_CLICK_EVENT.
-       (read_avail_input): Handle mouse input.
-
-       * term.c (write_glyphs_with_face): New function.
-       [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.
-       (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)
-       (mouse_face_end_col, mouse_face_past_end, mouse_face_window)
-       (mouse_face_face_id, term_gpm, pos_x, pos_y)
-       (last_mouse_x, last_mouse_y): New variables.
-       (term_show_mouse_face, term_clear_mouse_face, fast_find_position)
-       (term_mouse_highlight, term_mouse_movement, term_mouse_position)
-       (term_mouse_click, handle_one_term_event, Fterm_open_connection)
-       (Fterm_close_connection): New functions.
-       (term_init): Initialise mouse_face_window.
-
-2007-05-19  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xdisp.c (redisplay_window): If first window line is a
-       continuation line, recompute the new window start instead of
-       recentering.
-
-2007-05-18  Glenn Morris  <rgm@gnu.org>
-
-       * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
-       Suggested by Alfred M. Szmidt <ams@gnu.org>.
-
-2007-05-17  Glenn Morris  <rgm@gnu.org>
-
-       * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
-
-2007-05-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
-       dead key repeat and up events.
-
-2007-05-14  Chong Yidong  <cyd@stupidchicken.com>
-
-       * image.c (pbm_load): Check image size for monochrome pbm.
-
-2007-05-13  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xterm.c (XTread_socket): Revert last change.
-
-2007-05-12  Chong Yidong  <cyd@stupidchicken.com>
-
-       * image.c (pbm_load): Correctly check image size for greyscale pbm.
-
-       * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
-
-2007-05-07  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
-       mixup (YAILOM).
-
-2007-05-07  Andreas Schwab  <schwab@suse.de>
-
-       * keymap.c (Flookup_key): Fix typo in last change.
-
-2007-05-07  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
-       mapping for unibyte strings.
-
-2007-05-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
-       (Fx_popup_dialog) [MAC_OSX]: Likewise.
-
-2007-04-29  Richard Stallman  <rms@gnu.org>
-
-       * insdel.c (replace_range): For undo, record insertion first.
-
-2007-04-29  Andreas Schwab  <schwab@suse.de>
-
-       * lisp.h (VECSIZE): Use OFFSETOF.
-
-2007-04-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * xdisp.c (try_window_reusing_current_matrix): Fix number of
-       disabled lines.
-
-2007-04-28  Richard Stallman  <rms@gnu.org>
-
-       * lread.c (read_escape): In a string, \s is always space.
-
-2007-04-27  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
-
-       * gtkutil.c (xg_update_menubar, create_menus): Create empty
-       submenu for menu bar items.
-
-See ChangeLog.10 for earlier changes.
-
-;; Local Variables:
-;; coding: utf-8
-;; add-log-time-zone-rule: t
-;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"
-;; End:
-
-    Copyright (C) 2007, 2008  Free Software Foundation, Inc.
-
-  This file is part of GNU Emacs.
-
-  GNU Emacs is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  GNU Emacs is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
-
-;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40
+2008-10-18  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * fileio.c (Fset_file_modes): Doc fix.\r
+\r
+2008-10-18  Martin Rudalics  <rudalics@gmx.at>\r
+\r
+       * window.c (Fwindow_width, Fset_window_start)\r
+       (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter)\r
+       (Fdelete_windows_on, Freplace_buffer_in_windows): Make\r
+       doc-strings follow code and Elisp manual more closely.\r
+       (Fwindow_dedicated_p): Make window argument optional.\r
+       (Fset_window_dedicated_p): Rename argument "arg" to "flag".\r
+       (Fset_window_buffer): Respect any non-nil dedicated value for\r
+       window.  Rename "buffer" argument to "buffer_or_name".\r
+\r
+2008-10-18  Ulrich Mueller  <ulm@gentoo.org>\r
+\r
+       * m/sh3.h: New file, machine description for SuperH.\r
+\r
+2008-10-17  Martin Rudalics  <rudalics@gmx.at>\r
+\r
+       * window.c (Fsplit_window): Rename arg horflag to horizontal.\r
+\r
+2008-10-17  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * ftfont.c (ftfont_otf_features): Fix indexing\r
+       gsub_gpos->FeatureList.Feature.  Check the validity of indices.\r
+\r
+2008-10-16  Magnus Henoch  <mange@freemail.hu>\r
+\r
+       * dbusbind.c (Fdbus_call_method): Unbreak usage line.\r
+       (Fdbus_call_method_asynchronously): Ditto.\r
+       This change makes C-h f display the argument list.\r
+\r
+2008-10-16  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * fileio.c (Fexpand_file_name): Doc fix.\r
+\r
+       * xfaces.c (Finternal_set_lisp_face_attribute): Make null values\r
+       of :foreground and :background equivalent to unspecified (20.x\r
+       compatibility).\r
+\r
+2008-10-15  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * buffer.c (syms_of_buffer): Doc fix.\r
+\r
+2008-10-14  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * font.c (font_clear_prop): When clearing font width, clear the\r
+       average width field too.\r
+\r
+2008-10-12  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * ftfont.c (ftfont_shape_by_flt): Make static.\r
+       * ftfont.h (ftfont_shape_by_flt): Don't declare.\r
+\r
+       * font.c: Don't include <m17n-flt.h>.\r
+\r
+2008-10-10  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Decrease to 10000.\r
+\r
+2008-10-09  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * frame.c (make_terminal_frame) [MSDOS]: Remove unused #ifdef'ed\r
+       away code.\r
+\r
+2008-10-09  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * dispnew.c (update_text_area): Avoid looping due to large glyph\r
+       overhangs (bug#1070).\r
+\r
+2008-10-09  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fontset.c (face_for_char): If face->fontset is negative, just\r
+       return ascii_face.\r
+\r
+       * font.c (font_delete_unmatched): Fix previous change.  Don't\r
+       reject an entity if DPI and AVGWIDTH of an entity are 0.\r
+\r
+2008-10-09  Martin Rudalics  <rudalics@gmx.at>\r
+\r
+       * frame.c (Fraise_frame): On text-only terminals select frame in\r
+       order to make it visible.  (Bug#1061)\r
+\r
+2008-10-08  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * fontset.c (fontset_find_font): Check frame validity.\r
+\r
+2008-10-07  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * gtkutil.c (xg_display_open): Reset default display if none\r
+       exists.\r
+       (xg_display_close): Allow Emacs to close all displays (bug#985).\r
+\r
+2008-10-06  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * sysdep.c (sys_signal): Always set SA_RESTART when\r
+       noninteractively.\r
+\r
+2008-10-06  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * emacs.c (Vbefore_init_time, Vafter_init_time): Moved from\r
+       startup.el.\r
+\r
+       * lisp.h: (Vbefore_init_time, Vafter_init_time): Declare.\r
+\r
+       * gtkutil.c (x_wm_set_size_hint): Return immediately if called\r
+       during initialization.\r
+\r
+2008-10-04  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * xdisp.c (redisplay_internal): If frame switched, redisplay the\r
+       whole thing on MSDOS frames as well as on a TTY.\r
+\r
+       * dispnew.c (update_frame): Flush termscript for MSDOS frames as\r
+       well as for TTY.\r
+       (Fopen_termscript): Allow opening a termscript on MSDOS frames as\r
+       well as on a TTY.\r
+\r
+       * sysdep.c (init_sys_modes): Set FRAME_GARBAGED_P for MSDOS frames\r
+       as well as for TTY.\r
+\r
+       * systime.h (EMACS_TIME_CMP): Cast EMACS_SECS values to `long'.\r
+\r
+       * dispnew.c (change_frame_size_1): Set FrameRows and FrameCols for\r
+       MSDOS frames as well.\r
+\r
+2008-10-02  Adrian Robert  <Adrian.B.Robert@gmail.com>\r
+\r
+       * image.c (x_clear_image_1): Under NS, call ns_free_indexed_color with\r
+       correct arguments.\r
+       * menu.c (find_and_return_menu_selection) Add cast.\r
+\r
+2008-10-03  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * emacs.c (USAGE1): Add --daemon.\r
+\r
+2008-10-02  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * process.c (procfs_system_process_attributes): Multiply `pcpu' by\r
+       100, so it's in percents as advertised.\r
+\r
+2008-10-02  Adrian Robert  <Adrian.B.Robert@gmail.com>\r
+\r
+       * nsterm.h (ns_cursor_types, ns_output.desired_cursor_color)\r
+       (ns_output.current_cursor, ns_output.desired_cursor)\r
+       (ns_output.last_inactive, FRAME_CURSOR, FRAME_NEW_CURSOR)\r
+       (FRAME_NEW_CURSOR_COLOR): Remove.\r
+\r
+       * nsfns.m (ns_set_cursor_color): Use FRAME_CURSOR_COLOR.\r
+       (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): Use core emacs\r
+       enumeration (HOLLOW_BOX_CURSOR, etc.).\r
+\r
+       * nsterm.m (ns_frame_rehighlight): Remove commented code.\r
+       (draw_window_cursor): Simplify code.\r
+       (EmacsView-windowDidBecomeKey:,-windowDidResignKey:): Don't\r
+       change cursor type. In latter, call rehighlight instead of doing\r
+       updates manually.\r
+       (EmacsPrefsController-setPanelFromValues,-setValuesFromPanel): Use\r
+       core emacs cursor types.\r
+\r
+       * xdisp.c (draw_glyphs): Don't call notice_overwritten_cursor() under\r
+       NS.\r
+\r
+2008-10-02  Martin Rudalics  <rudalics@gmx.at>\r
+\r
+       * process.c (Faccept_process_output): Fix doc-string.\r
+\r
+2008-10-02  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * gmalloc.c (__sbrk): Also define for uClibc.\r
+\r
+       * s/gnu-linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Add definition\r
+       for uClibc.\r
+\r
+2008-10-01  Adrian Robert  <Adrian.B.Robert@gmail.com>\r
+\r
+       * nsfont.m (nsfont_spec_to_traits): Use UnXX masks only for non-normal\r
+       styles.\r
+       (nsfont_open): Reenable the cache.\r
+\r
+2008-10-01  Adrian Robert  <Adrian.B.Robert@gmail.com>\r
+\r
+       * font.c (font_matching_entity): Reflect ATTRS in font selection.\r
+       (font_find_for_lface) [HAVE_NS]: Don't ignore case.\r
+\r
+2008-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * dispnew.c (Fsend_string_to_terminal): Don't try to send a string to\r
+       a suspended terminal.\r
+\r
+2008-09-30  Michael Albinus  <michael.albinus@gmx.de>\r
+\r
+       * dbusbind.c (xd_signature): Use strcat instead of sprintf.\r
+\r
+2008-09-30  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * Makefile.in (MSDOS_SUPPORT): Remove ccl.elc and codepage.elc.\r
+\r
+2008-09-30  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xdisp.c (move_it_to): Don't advance the iterator if the last tab\r
+       in a continued line coincides with a line beginning.\r
+\r
+2008-09-29  Adrian Robert  <Adrian.B.Robert@gmail.com>\r
+\r
+       * nsfont.m (nsfont_trait_distance): Fix bug.\r
+       (nsfont_list): Return a list rather than a vector (syncs with Handa\r
+       changes of 2008-05-14).\r
+       (nsfont_open): Improve logging.\r
+\r
+2008-09-29  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.\r
+\r
+2008-09-28  Martin Rudalics  <rudalics@gmx.at>\r
+\r
+       * character.c (Fchar_resolve_modifiers): Rewrite Elisp function\r
+       name as char-resolve-modifiers.\r
+       Reported by: Markus Triska <markus.triska@gmx.at>\r
+\r
+2008-09-28  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * dispnew.c (init_display): Return earlier when running as a daemon.\r
+\r
+2008-09-27  Adrian Robert  <Adrian.B.Robert@gmail.com>\r
+\r
+       * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from, ...).\r
+\r
+2008-09-27  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * composite.c (Fcomposition_get_gstring)\r
+       (Fcompose_region_internal, Fcompose_string_internal)\r
+       (Ffind_composition_internal): Doc fix.\r
+       (syms_of_composite) <compose-chars-after-function>: Doc fix.\r
+       (syms_of_composite) <auto-composition-function>: Doc fix.\r
+       (syms_of_composite) <composition-function-table>: Doc fix.\r
+\r
+2008-09-25  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * search.c (wordify): New argument for lax word-ends.\r
+       (Fword_search_forward_lax, Fword_search_backward_lax): New funs.\r
+\r
+2008-09-24  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * lisp.h (is_daemon): Declare.\r
+       * dispnew.c (init_display): Do not try to initialize the terminal\r
+       when running as a daemon.\r
+\r
+2008-09-22  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * nsfns.m (compute_tip_xy): Use x_display_pixel_width and\r
+       x_display_pixel_height.\r
+\r
+2008-09-22  Martin Rudalics  <rudalics@gmx.at>\r
+\r
+       * undo.c (record_point): Don't call Fundo_boundary for first\r
+       change.  (Bug#731)\r
+\r
+2008-09-22  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * emacs.c (Fdaemonp): Doc fix.\r
+\r
+2008-09-22  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * emacs.c (main): Place #ifdef in the proper place.\r
+\r
+2008-09-21  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * emacs.c (standard_args): Add --daemon.\r
+       (main): Disconnect from the terminal when --daemon is passed.\r
+       (is_daemon): New variable.\r
+       (Fdaemonp): New function.\r
+       (syms_of_emacs): Defsubr it.\r
+\r
+2008-09-20  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xdisp.c (get_next_display_element): Handle string display\r
+       correctly when checking for the end of a box run.\r
+\r
+2008-09-20  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * fileio.c (Qdelete_by_moving_to_trash): New Lisp_Object.\r
+       (syms_of_fileio): Add Qdelete_by_moving_to_trash.\r
+       (Frename_file): Avoid copying to trash if a rename involves\r
+       a delete.  (Bug#964).\r
+\r
+2008-09-20  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * keyboard.c (Fset_quit_char, Fset_input_meta_mode)\r
+       (Fset_output_flow_control, Fcurrent_input_mode): Support MSDOS\r
+       frames as well as termcap frames.\r
+       (handle_interrupt): Remove "#ifndef MSDOS" around the call to\r
+       get_named_tty.\r
+\r
+2008-09-19  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * process.c (procfs_system_process_attributes): Fix cmdline in\r
+       case /proc/PID/cmdline is empty.\r
+\r
+       * xterm.c (x_wm_set_size_hint): Use x_display_pixel_width and\r
+       x_display_pixel_height.\r
+\r
+2008-09-19  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * frame.c (x_fullscreen_adjust): Declare var as Display_Info.\r
+\r
+       * w32fns.c (Fx_display_pixel_width, Fx_display_pixel_height)\r
+       (compute_tip_xy): Use x_display_pixel_width, x_display_pixel_height.\r
+\r
+2008-09-19  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * dispextern.h (struct it): Move line_wrap away from the middle of\r
+       bitfields.  Move voffset in struct iterator_stack_entry after the\r
+       bitfields.  Move tab_width near after another short.\r
+\r
+2008-09-18  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * frame.h (struct frame): Move alpha from the middle of bitfields.\r
+\r
+       * window.h (struct window): Move frozen_window_start_p after the\r
+       rest of the bitfields to reduce padding.\r
+\r
+2008-09-18  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xterm.h (x_display_info): Remove `height' and `width' members.\r
+\r
+       * nsterm.h (ns_display_info): Remove `height' and `width' members.\r
+\r
+       * w32term.h (w32_display_info): Remove `height', `width',\r
+       `height_in', and `width_in' members.\r
+\r
+       * xterm.c (x_display_pixel_height, x_display_pixel_width): New\r
+       functions.\r
+       (x_calc_absolute_position): Use them.\r
+       (x_term_init): Omit removed `height' and `width' members.\r
+\r
+       * w32term.c (x_display_pixel_height, x_display_pixel_width): New\r
+       functions.\r
+       (w32_read_socket, x_calc_absolute_position): Use them.\r
+       (w32_initialize_display_info, w32_term_init): Omit removed members\r
+       of w32_display_info.\r
+\r
+       * nsterm.m (x_display_pixel_height, x_display_pixel_width): New\r
+       functions.\r
+       (ns_initialize_display_info): Omit removed members of\r
+       ns_display_info.\r
+\r
+       * xterm.c (x_display_pixel_height, x_display_pixel_width): New\r
+       functions.\r
+       (x_calc_absolute_position): Use them.\r
+       (x_term_init): Omit removed `height' and `width' members.\r
+\r
+       * xfns.c (Fx_display_pixel_width, Fx_display_pixel_height)\r
+       (compute_tip_xy): Use x_display_pixel_height and\r
+       x_display_pixel_width.\r
+\r
+       * frame.c (x_fullscreen_adjust): Use x_display_pixel_height and\r
+       x_display_pixel_width.\r
+\r
+       * xmenu.c (menu_position_func): Use x_display_pixel_height and\r
+       x_display_pixel_width.\r
+\r
+2008-09-18  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * composite.c (fill_gstring_header): Don't check FROM and TO here.\r
+       (composition_compute_stop_pos): Fix handling of static composition.\r
+       (Fcomposition_get_gstring): Check FROM and TO at first.\r
+\r
+2008-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * composite.c (Fcomposition_get_gstring): Yet another int/Lisp_Oject\r
+       mixup (YAILOM).\r
+\r
+2008-09-17  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * indent.c (Fvertical_motion): Use position reported by iterator\r
+       instead of PT for determining screen motion (bug#943).\r
+\r
+2008-09-17  Romain Francoise  <romain@orebokech.com>\r
+\r
+       * composite.c (composition_adjust_point): Fix int/EMACS_INT mixup.\r
+\r
+2008-09-17  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * ftfont.c (ftfont_shape_by_flt): Downcase family name.\r
+\r
+       * composite.c (Fcomposition_get_gstring): Make bigger gstring_work\r
+       if necessary.\r
+\r
+2008-09-16  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (make_conversion_work_buffer): Avoid calling\r
+       Fget_buffer_create if it is not necessary.\r
+\r
+2008-09-15  Martin Rudalics  <rudalics@gmx.at>\r
+\r
+       * window.c (Fselect_window): Don't update window_select_count and\r
+       use_time when norecord is not nil.\r
+\r
+2008-09-14  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fileio.c (Finsert_file_contents): Delete incorrect decrement of\r
+       specpdl_ptr.\r
+\r
+2008-09-12  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * indent.c (scan_for_column): Don't handle automatic composition\r
+       if the current buffer is not associated with a window.\r
+\r
+       * composite.c (composition_reseat_it): If the current buffer is\r
+       not associated with a window, ignore the automatic composition.\r
+       (find_automatic_composition): Likewise.\r
+\r
+2008-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * term.c (close_gpm): New fun extracted from Fgpm_mouse_stop.\r
+       (Fgpm_mouse_stop): Use it.\r
+       * termhooks.h (close_gpm): Declare.\r
+       * keyboard.c (tty_read_avail_input): Forcefully close the gpm\r
+       connection if Gpm_GetEvent fails.\r
+\r
+       * window.c (set_window_buffer): Always preserve current-buffer.\r
+\r
+2008-09-12  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * charset.c (init_charset): Warn if etc/charsets not found.  (Bug#909)\r
+\r
+2008-09-11  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * charset.c (charset-map-path): Doc fix.\r
+\r
+2008-09-10  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xdisp.c (handle_composition_prop): Set it->cmp_it.ch to -1.\r
+\r
+       * font.c (Ffont_shape_gstring): Make glyphs of non-nil adjustment\r
+       compose a grapheme cluster with the preceding base glyph.\r
+\r
+       * composite.c (composition_compute_stop_pos): Fix previous change.\r
+       Reset cmp_it->id to -1 at first.\r
+\r
+2008-09-10  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * Makefile.in (character.o, chartab.o): Fix config.h typo.\r
+\r
+2008-09-09  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * keyboard.c (read_key_sequence): Reapply translation maps when\r
+       switching keyboards.\r
+\r
+2008-09-09  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII\r
+       characters.\r
+\r
+       * composite.c (FORWARD_CHAR): Fix calculation\r
+       of (POSITION).pos_byte.\r
+       (composition_compute_stop_pos): Limit the search of composition to\r
+       at most 500 characters ahead.  If we reach the limit or find a\r
+       newline, set cmp_it->ch to -2 and return 0.\r
+       (composition_reseat_it): Handle the case that cmp_it->ch is -2.\r
+\r
+2008-09-08  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * indent.c (Fvertical_motion): Be sure to set\r
+       it_overshoot_expected if it.cmp_it.id is non-negative.\r
+\r
+2008-09-07  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * callproc.c (Fcall_process): Don't hold references to string data\r
+       across garbage collection.  Move initialisation of new_argv down\r
+       to avoid compiler bug.\r
+\r
+2008-09-07  Roland Winkler  <Roland.Winkler@physik.uni-erlangen.de>\r
+\r
+       * process.c (Fsystem_process_attributes): Doc fix.\r
+\r
+2008-09-07  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * callproc.c (Fcall_process): Canonicalize current directory name.\r
+\r
+       * xdisp.c (move_it_to): When moving by vpos, ensure that the\r
+       iterator advances to the next line if the current line ends in a\r
+       continued tab.\r
+\r
+2008-09-07  Teodor Zlatanov  <tzz@lifelogs.com>\r
+\r
+       * nsfont.m (nsfont_draw): Fix the references to missing gidx data\r
+       member to point to cmp_from.\r
+\r
+       * xdisp.c: Doc fix for references to gidx data member.\r
+\r
+2008-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * buffer.c (Fbuffer_swap_text): Reset window->point markers.\r
+\r
+2008-09-07  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * composite.c (FORWARD_CHAR): Check STOP after\r
+       incrementing (POSITION).pos.\r
+\r
+2008-09-06  Roland Winkler  <Roland.Winkler@physik.uni-erlangen.de>\r
+\r
+       * process.c (Fsystem_process_attributes): Doc fix.\r
+\r
+2008-09-06  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * keyboard.c (Ftop_level): Doc fix.\r
+\r
+2008-09-06  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * xmenu.c (xmenu_show) [!HAVE_X_WINDOWS]: If frame has a\r
+       minibuffer, don't let lower part of menu invade the echo area.\r
+\r
+       * msdos.c (IT_menu_display): Use STRING_CHAR_ADVANCE instead of a\r
+       "char *q" to access menu text and advance through it.  Revert the\r
+       change that displayed ">" instead of ASCII character 0x10.\r
+\r
+2008-09-05  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * menu.c (single_menu_item) [!HAVE_BOXES]: Enable emulation of\r
+       toggle boxes and radio buttons on MS-DOS as well.\r
+\r
+2008-09-05  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * composite.c (autocmp_chars): Check lookback count.\r
+       (composition_compute_stop_pos): Set cmp_it->lookback.\r
+       (composition_reseat_it): Check lookback count.\r
+       (struct position_record): New struct.\r
+       (FORWARD_CHAR, BACKWARD_CHAR, CHAR_COMPOSABLE_P): New macros.\r
+       (find_automatic_composition): New function.\r
+       (composition_adjust_point): Use find_automatic_composition.\r
+\r
+       * dispextern.h (struct composition_it): New member lookback.\r
+\r
+2008-09-02  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * indent.c (Fvertical_motion): Don't call move_it_by_lines again\r
+       if moving by a single line.\r
+\r
+2008-09-02  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * xterm.c (x_delete_display): Fix merge error.\r
+\r
+       * fileio.c (Fexpand_file_name): Remove unused variables.\r
+\r
+2008-09-02  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * fileio.c (Fexpand_file_name): Copy argument `name' into local\r
+       storage on all platforms, not just on DOS_NT.\r
+\r
+2008-09-02  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show): Ensure\r
+       mouse is not grabbed after menu is finished.\r
+\r
+2008-09-01  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xfaces.c (Finternal_set_alternative_font_family_alist)\r
+       (Finternal_set_alternative_font_registry_alist): Properly copy\r
+       entire alist structure.\r
+\r
+2008-09-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * ftfont.c (ftfont_spec_pattern): Don't create a charset of the\r
+       representative chars of the script is a vector.\r
+       (ftfont_list): Handle the case the representative chars of the\r
+       script is a vector.\r
+\r
+       * character.c (syms_of_character): Docstring of\r
+       script-representative-chars fixed.\r
+\r
+2008-08-31  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * msdos.c (BUILD_CHAR_GLYPH): New macro.\r
+       (IT_menu_display): Use it instead of SET_CHAR_GLYPH to construct\r
+       the menu.  Allocate larger buffer for `text', to account for\r
+       possible ^C characters.\r
+\r
+2008-08-31  Martin Rudalics  <rudalics@gmx.at>\r
+\r
+       * xdisp.c (prepare_menu_bars): Don't call\r
+       Vwindow_size_change_functions with arg Qt.\r
+\r
+2008-08-31  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * font.h (font_range):\r
+       * fileio.c (report_file_error):\r
+       * composite.c (composition_update_it): Yet another int/Lisp_Oject mixup.\r
+\r
+2008-08-30  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * data.c (Fmake_variable_frame_local): Doc fix.\r
+\r
+       * frame.c (Fmodify_frame_parameters): Doc fix.\r
+\r
+2008-08-30  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * w32.c (init_user_info): Allocate buf[] with xmalloc using the size\r
+       needed by GetTokenInformation.\r
+       (w32_system_process_attributes): Check return values of all system\r
+       APIs.\r
+\r
+       * msdos.c (IT_display_cursor): Write "CURSOR ON/OFF" to termscript\r
+       only when the state changes.\r
+       (IT_update_begin, IT_update_end): Add termscript trace.\r
+\r
+       * w16select.c (Fw16_set_clipboard_data): Don't encode text if\r
+       clipboard is unavailable.  Set dst to NULL if it doesn't point to\r
+       malloc'ed data.\r
+       (Fw16_get_clipboard_data): Initialize htext to NULL, to avoid\r
+       passing random values to xfree.\r
+\r
+       * dispnew.c (init_display): Set `tty's association in frame's\r
+       parameters alist to the name of the terminal device, if that is\r
+       known.\r
+\r
+2008-08-29  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32uniscribe.c (uniscribe_check_otf): Don't fallback on DFLT script.\r
+\r
+2008-08-29  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * composite.c (fill_gstring_body): Avoid compiler warnings.\r
+\r
+       * font.c (font_fill_lglyph_metrics): Use EMACS_INT in\r
+       LGLYPH_SET_CODE to avoid compiler warnings.\r
+\r
+       * makefile.w32-in ($(BLD)/w32uniscribe.$(O)): Depend on composite.h\r
+\r
+       * composite.h (LGLYPH_SET_CODE): Cast `val' to EMACS_INT.\r
+\r
+       * w32uniscribe.c (uniscribe_shape): Shut up compiler warning in\r
+       LGLYPH_SET_CODE.\r
+\r
+2008-08-29  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fileio.c (report_file_error): Don't downcase the first character\r
+       of errstring if it is still unibyte.\r
+\r
+2008-08-29  Kenichi Handa  <handa@m17n.org>\r
+\r
+       These changes are to re-implement the automatic composition so\r
+       that it doesn't use text properties.\r
+\r
+       * Makefile.in (ftfont.o): Depend on composite.h.\r
+       (composite.o): Depend dispextern.h, font.h, frame, and window.h.\r
+\r
+       * character.h (Vunicode_category_table): Extern it.\r
+\r
+       * character.c (Vunicode_category_table): New variable.\r
+       (syms_of_character): DEFVAR_LISP Vunicode_category_table.\r
+\r
+       * chartab.c (optimize_sub_char_table): Perform more greedy\r
+       optimization.\r
+\r
+       * composite.h (enum composition_method): Delete\r
+       COMPOSITION_WITH_GLYPH_STRING.\r
+       (COMPOSITION_METHOD): Don't check COMPOSITION_WITH_GLYPH_STRING.\r
+       (Vcomposition_function_table): Extern it.\r
+       (LGSTRING_XXX, LGLYPH_XXX): Macros moved from font.h.\r
+       (composition_gstring_put_cache, composition_gstring_from_id)\r
+       (composition_gstring_p, composition_gstring_width)\r
+       (composition_compute_stop_pos, composition_reseat_it)\r
+       (composition_update_it, composition_adjust_point): Extern them.\r
+       (Fcomposition_get_gstring): EXFUN it.\r
+\r
+       * composite.c: Include window.h, frame.h, dispextern.h font.h.\r
+       (Vcomposition_function_table)\r
+       (get_composition_id): Don't handle COMPOSITION_WITH_GLYPH_STRING.\r
+       (gstring_hash_table, gstring_work, gstring_work_headers): New\r
+       variables.\r
+       (gstring_lookup_cache, composition_gstring_put_cache)\r
+       (composition_gstring_from_id, composition_gstring_p)\r
+       (composition_gstring_width, fill_gstring_header)\r
+       (fill_gstring_body, autocmp_chars, composition_compute_stop_pos)\r
+       (composition_reseat_it, composition_update_it)\r
+       (composition_adjust_point, Fcomposition_get_gstring): New\r
+       functions.\r
+       (syms_of_composite): Initialize gstring_hash_table, gstrint_work,\r
+       and gstring_work_headers.  DEFVAR_LISP composition-function-table.\r
+       Defsubr compostion_get_gstring.\r
+\r
+       * dispextern.h (struct glyph): New union u.cmp.  Delete the member\r
+       cmp_id.\r
+       (struct glyph_string): Delete the member gidx.  New members\r
+       cmp_id, cmp_from, and cmp_to.\r
+       (enum it_method): Delete GET_FROM_COMPOSITION.\r
+       (struct composition_it): New struct.\r
+       (struct it): New member cmp_it, and iterator_stack_entry.cmp_it.\r
+       Delete c, len, cmp_id, cmp_len in u.comp.\r
+\r
+       * font.h (enum lgstring_indices): Delete it.\r
+       (LGSTRING_XXX, LGLYPH_XXX): These macros moved to composite.h.\r
+       (enum lglyph_indices): Likewise.\r
+       (font_range): Extern adjusted.\r
+       (font_fill_lglyph_metrics): Extern it.\r
+\r
+       * font.c (QCf): New variable.\r
+       (check_gstring): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.\r
+       (font_prepare_composition): Delete this function.\r
+       (font_range): Type and arguments changed.\r
+       (Ffont_make_gstring, Ffont_fill_gstring): Delete them.\r
+       (font_fill_lglyph_metrics): New function.\r
+       (Ffont_shape_text): Renamed to Ffont_shape_gstring and arguments\r
+       changed.\r
+       (syms_of_font): DEFSYM QCf.  Delete defsubr for\r
+       Sfont_make_gstring, Sfont_fill_gstring, Sfont_shape_text.  Defsubr\r
+       Sfont_shape_gstring.\r
+\r
+       * fontset.h (font_for_char): Extern it.\r
+\r
+       * fontset.c (font_for_char): New function.\r
+\r
+       * ftfont.c: Include composite.h.\r
+       (ftfont_resolve_generic_family): Add langset "en" to pattern.\r
+       (ftfont_shape_by_flt): Use LGSTRING_GLYPH_LEN, not\r
+       LGSTRING_LENGTH.\r
+\r
+       * indent.c: Include composite.h and dispextern.h.\r
+       (check_composition): Delete this function.\r
+       (scan_for_column): Handle composition by\r
+       composition_compute_stop_pos, composition_reseat_it, and\r
+       composition_update_it.\r
+       (compute_motion): Likewise.\r
+       (Fvertical_motion): Fix checking of composition.\r
+\r
+       * keyboard.c (adjust_point_for_property): Check composition by\r
+       composition_adjust_point.\r
+\r
+       * nsterm.m (ns_draw_glyph_string): Adjusted for the change of\r
+       struct glyph_string.\r
+\r
+       * term.c (encode_terminal_code): Adjusted for the change of struct\r
+       glyph.\r
+       (append_composite_glyph): Adjusted for the change of struct it and\r
+       struct glyph.\r
+       (produce_composite_glyph): Likewise.\r
+\r
+       * w32term.c (x_draw_composite_glyph_string_foreground): Adjusted\r
+       for the change of struct glyph_string.\r
+       (x_draw_glyph_string): Likewise.\r
+\r
+       * w32uniscribe.c (struct uniscribe_font_info): Include composite.h.\r
+       (uniscribe_shape): Use LGSTRING_GLYPH_LEN, not LGSTRING_LENGTH.\r
+\r
+       * xdisp.c: Include font.h.\r
+       (it_props): Delete the entry for Qauto_composed.\r
+       (init_iterator): Initialize it->cmp_it.id to -1.\r
+       (compute_stop_pos): Call composition_compute_stop_pos.\r
+       (face_before_or_after_it_pos): Adjusted for the change of struct\r
+       it.\r
+       (handle_auto_composed_prop): Delete it.\r
+       (handle_composition_prop): Handle only static composition.\r
+       (next_overlay_string): Remove it->method == GET_FROM_COMPOSITION\r
+       from xassert.  Initialize it->cmp_it.stop_pos.\r
+       (push_it): Adjusted for the change of struct it.\r
+       (pop_it): Likewise.\r
+       (get_next_element): Delete next_element_from_composition.\r
+       (CHAR_COMPOSED_P): New macro.\r
+       (get_next_display_element): For automatic composition, get a face\r
+       from the font in the glyph-string.\r
+       (set_iterator_to_next): For GET_FROM_BUFFER and GET_FROM_STRING,\r
+       check composition by it->cmp_it.id.  Delete GET_FROM_COMPOSITION\r
+       case.\r
+       (next_element_from_string): Check if the character at the current\r
+       position is composed by CHAR_COMPOSED_P.\r
+       (next_element_from_buffer): Likewise.\r
+       (next_element_from_composition): Adjusted for the change of struct\r
+       it.  Update it->cmp_it.\r
+       (dump_glyph): Adjusted for the change of struct glyph.\r
+       (fill_composite_glyph_string): Adjusted for the change of struct\r
+       it and struct glyph.  Don't handle automatic composition here.\r
+       (fill_gstring_glyph_string): New function.\r
+       (x_get_glyph_overhangs): Handle automatic composition.\r
+       (BUILD_COMPOSITE_GLYPH_STRING): Adjusted for the change of struct\r
+       glyph.\r
+       (BUILD_GSTRING_GLYPH_STRING): New macro.\r
+       (BUILD_GLYPH_STRINGS): Call BUILD_GSTRING_GLYPH_STRING for\r
+       automatic composition.\r
+       (append_composite_glyph): Adjusted for the change of struct it and\r
+       struct glyph.\r
+       (x_produce_glyphs): Adjusted for the change of struct it.\r
+\r
+       * xterm.c (x_draw_composite_glyph_string_foreground): Adjusted for\r
+       the change of struct glyph_string.\r
+       (x_draw_glyph_string): Likewise.\r
+\r
+2008-08-29  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * buffer.c (word-wrap): Doc fix.\r
+       * xdisp.c (truncate-partial-width-windows): Doc fix.\r
+       Increase default to 50.\r
+\r
+2008-08-29  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xdisp.c (update_tool_bar_unwind): New function.\r
+       (update_tool_bar): Temporarily set selected frame before building\r
+       tool-bar items.\r
+\r
+2008-08-28  Michael Albinus  <michael.albinus@gmx.de>\r
+\r
+       * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and\r
+       snprintf, respectively.\r
+       (xd_append_arg): Convert strings with Fstring_make_unibyte.\r
+\r
+2008-08-28  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * Makefile.in: Revert (undocumented) 2008-08-20 change adding\r
+       LDFLAGS to GNUstep CC invocation.\r
+\r
+2008-08-27  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * indent.c (Fvertical_motion): Revert last change.  Handle the\r
+       general case where we are moving forward, and PT spans multiple\r
+       screen lines.\r
+\r
+       * eval.c (find_handler_clause): Temporarily increase\r
+       max-lisp-eval-depth while printing the backtrace buffer, to\r
+       guarantee that help-mode code can run.\r
+\r
+2008-08-27  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * msdos.c (Fmsdos_remember_default_colors): Don't reverse frame\r
+       colors under -rv.\r
+       (IT_set_frame_parameters): Don't swap foreground and background\r
+       colors if `(reverse . t)' is present in the frame properties.\r
+       (internal_terminal_init): Call init_frame_faces only for the\r
+       initial frame.\r
+\r
+2008-08-27  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * dired.c (Ffile_attributes): Avoid compiler warning in bitshift.\r
+\r
+2008-08-27  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * search.c (search_buffer): Set char_base to zero only at the end.\r
+\r
+2008-08-27  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fileio.c (report_file_error): Fix handling of multibyte error\r
+       string.\r
+\r
+2008-08-27  Andreas Seltenreich  <seltenreich@gmx.de>\r
+\r
+       * xterm.c (x_term_init): Temporarily hide the partially\r
+       initialized terminal while calling vendor-specific-keysyms.\r
+\r
+2008-08-26  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * msdos.c (internal_terminal_init): Most initializations done only\r
+       once, especially initial_screen_colors[] and termscript open.\r
+\r
+2008-08-26  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * eval.c (Fcondition_case): Doc fix.\r
+\r
+       * widgetprv.h (EmacsFramePart): Change font member to the new font\r
+       struct.\r
+\r
+       * widget.c: Include character.h and font.h for XSETFONT.\r
+       (setup_frame_gcs): Compute X font id from font struct, just once.\r
+\r
+2008-08-26  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * term.c (get_named_tty): Fix last change.\r
+\r
+2008-08-26  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * indent.c (Fvertical_motion): If moving forward starting from a\r
+       multi-line string, move the iterator to the last line of that\r
+       string.\r
+\r
+2008-08-25  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * frame.c (do_switch_frame): Mark previously displayed frame as\r
+       obscured for FRAME_MSDOS_P frames as well.\r
+\r
+2008-08-24  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * frame.c (make_terminal_frame): Initialize f->terminal,\r
+       f->terminal->reference_count, and scroll bars on MS-DOS as well.\r
+       Set the top frame to newly created frame.\r
+       (Fmake_terminal_frame): Reuse the_only_display_info.\r
+\r
+       * vm-limit.c (get_lim_data) [MSDOS]: Use alternative methods of\r
+       estimating available memory.\r
+\r
+2008-08-23  David Reitter <david.reitter@gmail.com>\r
+\r
+       * nsterm.m (ns_draw_window_cursor): Don't call\r
+       NSDisableScreenUpdates and NSEnableScreenUpdates on\r
+       non-NS_IMPL_COCOA systems.\r
+\r
+2008-08-23  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * process.c (procfs_system_process_attributes): Fix use of\r
+       uninitialized variables.\r
+\r
+2008-08-23  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * emacs.c (main) [MSDOS]: Call syms_of_xmenu.\r
+\r
+       * dispnew.c (init_display): Remove MS-DOS specific conditions for\r
+       calling tty-set-up-initial-frame-faces.\r
+\r
+       * xmenu.c (Fx_popup_dialog, Fx_popup_menu, xmenu_show): Allow\r
+       MSDOS frames along with X frames.\r
+\r
+       * termhooks.h (TERMINAL_ACTIVE_P): Handle output_msdos_raw in\r
+       addition to output_termcap.\r
+\r
+       * xdisp.c (redisplay_internal) [MSDOS]: Don't call set_tty_color_mode.\r
+\r
+       * termchar.h (FRAME_TTY): Support output_msdos_raw.\r
+       (struct tty_display_info) [MSDOS]: Add fields related to mouse\r
+       highlight.\r
+\r
+       * process.c [!subprocesses]: Define QCname.\r
+       (syms_of_process): Intern and staticpro it.\r
+\r
+       * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):\r
+       Adjust for changes in encoding/decoding routines.  Use\r
+       encode_coding_object and decode_coding_object instead of\r
+       encode_coding and decode_coding.\r
+\r
+       * sysdep.c (init_sys_modes): Call dos_ttraw with tty_out as\r
+       argument.\r
+\r
+       * dosfns.c: Include frame.h before termhooks.h.\r
+       (dos_cleanup): Use CURTTY ()->termscript instead of a global\r
+       variable termscript.\r
+\r
+       * s/msdos.h (USER_FULL_NAME): Define.\r
+       (SYSTEM_PURESIZE_EXTRA): Bump up to 100K.\r
+\r
+       * editfns.c (USER_FULL_NAME): Define to pw->pw_gecos if undefined.\r
+       (Fuser_full_name): Use USER_FULL_NAME instead of a literal\r
+       pw->pw_gecos.\r
+\r
+       * keyboard.c (handle_interrupt) [MSDOS]: Call cursor_to with\r
+       SELECTED_FRAME as additional (1st) argument.\r
+       (tty_read_avail_input): Handle output_msdos_raw in\r
+       addition to output_termcap.\r
+\r
+       * msdos.c: Include frame.h before termhooks.h.\r
+       (mouse_on, mouse_off, mouse_moveto, mouse_init)\r
+       (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs)\r
+       (show_mouse_face, IT_clear_end_of_line, IT_clear_screen)\r
+       (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto)\r
+       (IT_set_terminal_modes, IT_reset_terminal_modes)\r
+       (IT_set_frame_parameters): Use tty->termscript instead of a global\r
+       variable termscript.\r
+       (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a\r
+       global variable terminal_coding.  Don't refer to\r
+       Vnonascii_translation_table.\r
+       (internal_terminal_init): Set Vwindow_system in current_kboard.\r
+       Don't use TTY_CHAR_INS_DEL_OK.  Set Vinitial_window_system.\r
+       Announce date and time of session start, if termscript is open.\r
+       Don't zero out the_only_display_info (it is done in\r
+       term.c:init_tty).  Open termscript only of not already open.  Log\r
+       "SCREEN SAVED" here, instead of IT_set_terminal_modes.  Init mouse\r
+       here instead of dos_ttraw.  Don't initialize display if this is an\r
+       initial tty.  Don't set FRAME_FONT.\r
+       (Vwindow_system_version): Bump to 23.\r
+       (dos_ttraw): Accept a TTY argument; all callers fixed.  If mouse\r
+       is available, set up mouse_position_hook.\r
+       (dos_ttraw, IT_set_terminal_modes): If called with initial\r
+       terminal, do nothing.\r
+       (IT_set_frame_parameters): Handle the Qtty_type frame\r
+       parameter by calling internal_terminal_init.\r
+       (dos_set_window_size, show_mouse_face)\r
+       (clear_mouse_face, IT_note_mode_line_highlight)\r
+       (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date)\r
+       (dos_rawgetc): Use tty_display_info instead of x_display_info.\r
+       (initialize_msdos_display): New function.\r
+       (IT_cursor_to, IT_clear_to_end, IT_clear_screen)\r
+       (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs)\r
+       (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes)\r
+       (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin):\r
+       Accept additional argument: a pointer to a frame.  All callers\r
+       changed.\r
+       (request_sigio, unrequest_sigio): Don't define, now defined on\r
+       sysdep.c.\r
+       (IT_write_glyphs): Rewrite to use encode_terminal_code.\r
+\r
+       * term.c [MSDOS]: Include msdos.h.\r
+       (init_tty) [MSDOS]: Reuse most of WINDOWSNT branch.  Change cpp\r
+       conditional to DOS_NT.  Allow only one call to this function in a\r
+       session.  Don't allocate a new struct tty_display_info; instead,\r
+       reuse the_only_display_info.  Call get_tty_size to get screen\r
+       dimensions.  Call init_baud_rate to set bad_rate.\r
+       (dissociate_if_controlling_tty) [MSDOS]: Ifdef away function body.\r
+       (Fsuspend_tty) [MSDOS]: Don't close input and output.\r
+       (Fresume_tty) [MSDOS]: Don't reopen the TTY; instead, use\r
+       stdin/stdout.\r
+       (get_tty_terminal, get_named_tty, Ftty_type)\r
+       (Fcontrolling_tty_p): Handle output_msdos_raw in addition to\r
+       output_termcap.\r
+       (Fresume_tty, Fsuspend_tty, init_tty, delete_tty): Call\r
+       add_keyboard_wait_descriptor and delete_keyboard_wait_descriptor\r
+       only when subprocesses are supported\r
+\r
+       * frame.c (make_terminal_frame) [MSDOS]: Adjust initialization of\r
+       f->output_data.x.\r
+       (Fmake_terminal_frame) [MSDOS]: Don't allow creation of new\r
+       terminal devices.\r
+\r
+       * msdos.h Remove definition of struct x_display_info and struct\r
+       x_output.\r
+       (FRAME_FONT): Use output_data.tty.\r
+       (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Don't define.\r
+       (struct x_display_info): Renamed from display_info.  All users in\r
+       msdos.c changed.\r
+       (struct x_output): Remove background_pixel and foreground_pixel.\r
+       (the_only_display_info): Renamed from the_only_x_display.\r
+       (dos_ttraw): Update prototype.\r
+\r
+       * Makefile.in (MSDOS_OBJ): Add xmenu.o.\r
+       (SOME_MACHINE_LISP): Add ../lisp/term/pc-win.elc.\r
+\r
+2008-08-23  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * image.c (enum tiff_keyword_index, tiff_format): Add :index keyword.\r
+       (fn_TIFFSetDirectory): New library function used.\r
+       (init_tiff_functions) [HAVE_NTGUI]: Initialize it.\r
+       (tiff_load): Use :index to select among multiple images.  Set count\r
+       property when multiple images exist.\r
+       (gif_format): Use :index, not :image.\r
+\r
+2008-08-23  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xdisp.c (try_scrolling): Check INT_MAX instead of\r
+       MOST_POSITIVE_FIXNUM for maximum integer value.  Include limits.h\r
+       to obtain INT_MAX.\r
+\r
+2008-08-21  İsmail Dönmez  <ismail@namtrac.org>  (tiny change)\r
+\r
+       * xterm.c (x_delete_display): Don't call XrmDestroyDatabase on GTK+.\r
+\r
+2008-08-21  Christian Faulhammer  <opfer@gentoo.org>  (tiny change)\r
+\r
+       * Makefile.in (temacs${EXEEXT}): On GNUstep, link to appropriate\r
+       GNUstep library location.\r
+\r
+2008-08-21  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xfaces.c (x_update_menu_appearance): Check validity of menu font\r
+       before using it.\r
+\r
+       * puresize.h (BASE_PURESIZE): Increase to 1250000.\r
+\r
+2008-08-20  Adrian Robert  <Adrian.B.Robert@gmail.com>\r
+\r
+       * nsfns.m (ns-read-file-name): Add casts to avoid warning.\r
+       (ns-convert-utf8-nfd-to-nfc): Warn if cannot execute correctly.\r
+       * nsfont.m (nsfont_draw): Compare indexed colors to 0, not nil.\r
+       * nsterm.h (EmacsView-unlockFocusNeedsFlush:): Add declaration.\r
+       (EmacsApp-cursor_blink_handler): Remove declaration.\r
+       * nsterm.m (ns_draw_glyph_string): Update first conditional body to\r
+       match 01 Feb 2008 changes in xterm.c.\r
+       (ns_read_socket): Add cast to avoid warning.\r
+       (EmacsApp-application:openFiles:): Don't call replyToOpenOrPrint: on\r
+       GNUstep.\r
+\r
+2008-08-20  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xselect.c (x_get_foreign_selection): Return nil if desired\r
+       selection could not be obtained, instead of signalling an error.\r
+\r
+2008-08-20  David Reitter  <david.reitter@gmail.com>\r
+\r
+       * nsfns.m (ns_lisp_to_cursor_type): Replace with generic xfns.c.\r
+       * nsterm.m: Remove ns-specific code for cursor blinking.\r
+       (ns_draw_window_cursor): Clear cursor properly rather than\r
+       redrawing the area.  Respect width of bar cursors.\r
+       These changes enable the use of generic blink-cursor-mode and\r
+       generic cursor types in NS and support smooth cursor movements (do\r
+       not blink off after command).\r
+       * xdisp.c (get_phys_cursor_geometry): Redraw wider rectangle on\r
+       Nextstep, too.\r
+\r
+2008-08-19  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * font.c (Vfont_log_deferred): New variable.\r
+       (font_add_log): Check Vfont_log_deferred.\r
+       (font_deferred_log): New function.\r
+\r
+       * font.h (font_deferred_log): Extern it.\r
+\r
+       * fontset.c (reorder_font_vector): Use encoding charset of fonts\r
+       for sorting.\r
+       (face_for_char): Use deferred log.\r
+\r
+2008-08-18  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fontset.c (face_for_char): Add font log.\r
+\r
+       * font.c (font_add_log): Add the font properties :script, :lang,\r
+       and :otf in the log.\r
+\r
+2008-08-17  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xdisp.c: Remove dead code.\r
+       (handle_invisible_prop, next_overlay_string): Defer call to\r
+       setup_for_ellipsis.\r
+       (handle_stop, set_iterator_to_next): Call setup_for_ellipsis.\r
+\r
+2008-08-15  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xfaces.c (lookup_derived_face): Properly handle possible zero\r
+       return value of get_lface_attributes.\r
+       (merge_faces): Don't tell lookup_derived_face to signal an error\r
+       if face is not found.\r
+\r
+       * dired.c (Fdirectory_files): Doc fix.\r
+\r
+       * process.c (make_process): Initialize kill_without_query struct\r
+       member.\r
+\r
+2008-08-15  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * w32.c (w32_system_process_attributes) [_MSC_VER < 1300]:\r
+       Alternative calculation of totphys for Visual Studio 6.\r
+\r
+       * w32fns.c [_MSC_VER && _MSC_VER < 1300]: Declare HMONITOR.\r
+\r
+       * w32.c (_MEMORY_STATUS_EX, MEMORY_STATUS_EX, LPMEMORY_STATUS_EX):\r
+       Rename from _MEMORYSTATUSEX, MEMORYSTATUSEX, LPMEMORYSTATUSEX.\r
+       All users changed.\r
+       (stat): Only root directory passed to GetDriveType.  Allow RAM\r
+       disk as well as local fixed disk when w32-get-true-file-attributes\r
+       is set to `local'.\r
+       (CopySid_Proc, EqualSid_Proc, GetLengthSid_Proc): New typedefs.\r
+       (equal_sid, get_length_sid, copy_sid): New wrapper functions.\r
+       (w32_cached_id, w32_add_to_cache): New functions.\r
+       (get_name_and_id): Look account names in the cache before calling\r
+       lookup_account_sid.\r
+       (g_b_init_get_length_sid, g_b_init_equal_sid, g_b_init_copy_sid):\r
+       New initialization flags.\r
+       (globals_of_w32): Initialize them to zero.\r
+       (w32_system_process_attributes): Use w32_cached_id and\r
+       w32_add_to_cache.\r
+\r
+2008-08-14  Lawrence Mitchell  <wence@gmx.li>\r
+\r
+       * lread.c (Fread_char, Fread_char_exclusive): If no character\r
+       event is read before timeout is reached, return nil, rather than\r
+       converting to a number.\r
+\r
+2008-08-14  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * fns.c (use_dialog_box): Doc fix.\r
+\r
+       * s/darwin.h: Undefine HAVE_RES_INIT, which appears to be harmful\r
+       on OS X.\r
+\r
+2008-08-13  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * frame.c (Qns_parse_geometry): New var.\r
+       (Fx_parse_geometry): For HAVE_NS, call ns-parse-geometry.\r
+\r
+2008-08-11  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xdisp.c (x_produce_glyphs): Handle the case when font has no\r
+       space character in calculating tabs.\r
+\r
+2008-08-11  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * Makefile.in (bootstrap-emacs): Use ln -f in the CANNOT_DUMP case.\r
+\r
+2008-08-10  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * process.c (procfs_system_process_attributes): Use EMACS_INTs to\r
+       silence gcc "limited range of data type" warnings in some\r
+       make_fixnum_or_float calls.\r
+\r
+2008-08-09  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * w32.c (w32_system_process_attributes): If the process does not\r
+       exist, return nil.\r
+\r
+       * w32.c: Include thelp32.h, psapi.h and coding.h.\r
+       (_MEMORYSTATUSEX, _PROCESS_MEMORY_COUNTERS_EX): New struct\r
+       declarations.\r
+       (CreateToolhelp32Snapshot_Proc, Process32First_Proc)\r
+       (Process32Next_Proc): New typedefs.\r
+       (g_b_init_create_toolhelp32_snapshot, g_b_init_process32_first)\r
+       (g_b_init_process32_next, g_b_init_open_thread_token)\r
+       (g_b_init_impersonate_self, g_b_init_revert_to_self)\r
+       (g_b_init_get_process_memory_info, g_b_init_global_memory_status)\r
+       (g_b_init_get_process_working_set_size)\r
+       (g_b_init_global_memory_status_ex): New static variables.\r
+       (globals_of_w32): Initialize them.\r
+       (create_toolhelp32_snapshot, process32_first, process32_next)\r
+       (open_thread_token, impersonate_self, revert_to_self)\r
+       (get_process_memory_info, get_process_working_set_size)\r
+       (global_memory_status, global_memory_status_ex): New wrapper\r
+       functions.\r
+       (w32_list_system_processes, w32_system_process_attributes)\r
+       (enable_privilege, restore_privilege, ltime, process_times):\r
+       New functions.\r
+       (convert_time_raw): New function.\r
+       (convert_time): Remove conversion of FILETIME into time in 100\r
+       nsec units, call convert_time_raw instead.\r
+\r
+       * process.h (w32_list_system_processes, w32_system_process_attributes):\r
+       Add prototypes.\r
+       (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname)\r
+       (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime)\r
+       (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup)\r
+       (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.\r
+\r
+       * process.c (Fsystem_process_attributes): Doc fix.\r
+\r
+2008-08-08  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xdisp.c (move_it_to): When stopping at a charpos, check if that's\r
+       a continued multi-char glyph; if so, advance to the actual glyph.\r
+\r
+2008-08-07  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * s/darwin.h (OTHER_FILES): Do not define here, defined in config.in.\r
+\r
+       * Makefile.in (ALL_OBJC_CFLAGS): New variable.\r
+       (.m.o): Use it.\r
+       * config.in: Regenerate.\r
+\r
+2008-08-07  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xdisp.c (redisplay_window): Revert last change.\r
+       (try_window): Check bottom scroll margin too.\r
+\r
+2008-08-06  Adrian Robert  <Adrian.B.Robert@gmail.com>\r
+\r
+       * config.in: Regenerate.\r
+\r
+       * Makefile.in (emacs): Remove ifndef NS conditional for 'emacs\r
+       -list-load-path-shadows'.\r
+       (nsgui.h): Reduce number of things depending on it.\r
+\r
+2008-08-06  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xdisp.c (try_scrolling): Use iterator to find the scroll margin,\r
+       instead of window-end which does the wrong thing at eob.\r
+       (try_cursor_movement): Minor optimization.\r
+       (redisplay_window): If scroll margin is defined, don't assume\r
+       window doesn't need scrolling.\r
+\r
+2008-08-06  Adrian Robert  <Adrian.B.Robert@gmail.com>\r
+\r
+       * config.in: Regenerate.\r
+\r
+       * Makefile.in: Move nsXXX.m dependencies into big alphabetical list.\r
+       (mostlyclean): Don't delete *.d under NS.\r
+\r
+       * nsterm.h (NS_HAVE_INTEGER): Change to NS_HAVE_NSINTEGER.\r
+\r
+2008-08-06  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xfont.c (xfont_list_family): Return a list of symbols, not strings.\r
+\r
+2008-08-06  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * config.in: Regenerate.\r
+\r
+2008-08-05  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xdisp.c (redisplay_window): Don't enforce scroll-margin when\r
+       forcing a window start.\r
+\r
+       * fileio.c (Vauto_save_list_file_name): Move here from file.el.\r
+       (auto_save_1): Update modtime when auto-save-list-file-name is on.\r
+\r
+2008-08-04  Adrian Robert  <Adrian.B.Robert@gmail.com>\r
+\r
+       * emacs.c (main): Under NS, set working dir to HOME when get a "psn"\r
+       argument.\r
+\r
+2008-08-05  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * buffer.c (syms_of_buffer) <scroll-up-aggressively>:\r
+       <scroll-down-aggressively, before-change-functions>:\r
+       <after-change-functions>: Reflow docstrings.\r
+\r
+2008-08-04  Adrian Robert  <Adrian.B.Robert@gmail.com>\r
+           Ken Raeburn  <raeburn@gnu.org>\r
+\r
+       Dock menu customization, based on a patch by Ken Raeburn, plus some\r
+       other fixes.\r
+       * nsmenu.m (dockMenu): New variable.\r
+       (EmacsDialog -clicked:): Fix mistake in change of 2008-07-17.\r
+\r
+       * nsterm.h (dockMenu): Declare.\r
+\r
+       * nsterm.m (KEY_NS_NEW_FRAME): New definition.\r
+       (ns_term_init): Initialize dockMenu.\r
+       (EmacsApp -newFrame:, -applicationDockMenu:): New methods.\r
+       (EmacsView -windowShouldClose:): Don't behave specially if <= 1 frame\r
+       left.\r
+\r
+       * lisp.h (LSB_TAG): Use on DARWIN_OS, not NS_IMPL_COCOA.\r
+\r
+2008-08-04  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * nsterm.h: Test directly for NS_HAVE_INTEGER before defining it.\r
+\r
+       * config.in: Regenerate.\r
+\r
+2008-08-04  Seiji Zenitani  <zenitani@mac.com>\r
+\r
+       * nsfns.m (x-create-frame): Set the frame parameter alpha to nil.\r
+\r
+2008-08-04  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * nsterm.h (find_and_call_menu_selection): Fix prototype.\r
+\r
+2008-08-04  Adrian Robert  <Adrian.B.Robert@gmail.com>\r
+\r
+       * emacs.c (main: unexec_init_emacs_zone): Call if on DARWIN_OS.\r
+\r
+       * keyboard.h: Comment an #endif.\r
+\r
+       * lisp.h (have_menus_p): Adjust comment.\r
+\r
+       * menu.c (find_and_return_menu_selection): Fix comparison with\r
+       client_data.\r
+\r
+       * nsmenu.m (popup_activated_flag): New variable.\r
+       (popup_activated): New function.\r
+       (menu-or-popup-active-p): New exported lisp definition.\r
+       (ns_popup_menu): Set popup_activated_flag.  Call discard_menu_items()\r
+       when popup done.\r
+       (ns_popup_dialog): Set popup_activated_flag.\r
+\r
+       * nsterm.m (EmacsView -conversationIdentifier): Use NSInteger\r
+       version for GNUstep (handled by conditional typedef in nsterm.m).\r
+       (ns_get_color): Remove special-casing for "darkblue", "dark blue" (now\r
+       in rgb.txt).\r
+\r
+       * process.c (init_process): Use DARWIN_OS, not DARWIN.\r
+\r
+       * sysselect.h: Conditionalize init_process undef on DARWIN_OS.\r
+\r
+       * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): Do it also under NS.\r
+\r
+       * xdisp.c (redisplay_internal, note_mouse_highlight): Under NS,\r
+       shortcircuit if popup_activated like GTK and X toolkit.\r
+\r
+       * m/inter386.h: Change DARWIN to DARWIN_OS.\r
+\r
+       * s/darwin.h: Add #define DARWIN_OS.  Get rid of C_SWITCH_SYSTEM def.\r
+       Change LIBS_MACGUI to LIBS_NSGUI.  Move temacs-conditionalized defs\r
+       closer to C_SWITCH_SYSTEM_TEMACS so usage is understood.  Expand\r
+       comment on NO_SOCK_SIGIO.\r
+\r
+2008-08-03  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * nsterm.m (windowDidResize): Remove stopModal call.\r
+\r
+2008-08-03  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * vm-limit.c (get_lim_data) [HAVE_GETRLIMIT && RLIMIT_AS]: Define.\r
+       (check_memory_limits): Don't handle HAVE_GETRLIMIT here.\r
+\r
+2008-08-02  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * vm-limit.c (check_memory_limits): Don't use getrlimit on cygwin.\r
+       Don't use uninitialized pointer variable when using getrlimit.\r
+\r
+2008-08-02  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (compute_metrics): Don't mess with glyph_idx setting here.\r
+\r
+2008-08-02  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * alloc.c (NSTATICS): Bump to 0x640.\r
+\r
+       * s/gnu-linux.h (HAVE_PROCFS, LISTPROC, PROCATTR): New defines.\r
+\r
+       * lisp.h: Add prototype for directory_files_internal.\r
+\r
+       * process.c (Fsystem_processes_list, Fsystem_process_attributes):\r
+       New functions.\r
+       (syms_of_process): Defsubr them.  Add initializations for various\r
+       Q* symbols used in procfs_system_process_attributes.\r
+       (procfs_list_system_processes, procfs_system_process_attributes)\r
+       [HAVE_PROCFS]: New functions.\r
+       (time_from_jiffies, ltime_from_jiffies, get_up_time, procfs_ttyname)\r
+       (procfs_get_total_memory): New functions.\r
+\r
+2008-08-01  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * xfaces.c (Fx_load_color_file): Fix previous change;\r
+       it is #ifdef WINDOWSNT, not WINDOWS_NT.\r
+\r
+2008-08-01  Michael Albinus  <michael.albinus@gmx.de>\r
+\r
+       * dbusbind.c (xd_read_message): Handle D-Bus error messages.\r
+\r
+2008-08-01  Adrian Robert  <Adrian.B.Robert@gmail.com>\r
+\r
+       * nsterm.h (NSInteger, NSUInteger): Add defines for non-Leopard.\r
+\r
+2008-08-01  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * nsfns.m (ns_frame_parm_handlers): Add empty entry for x_set_alpha.\r
+\r
+       * nsterm.m (EmacsApp -application:openFiles:): GNUstep does not\r
+       define NSApplicationDelegateReplySuccess.\r
+       (EmacsView -converstationIdentifier): Use long instead of\r
+       NSInteger for GNUstep, since it doesn't have NSInteger.\r
+\r
+       * xmenu.c: Revert last change.\r
+\r
+       * keyboard.h: Fix last change.\r
+\r
+2008-08-01  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * xfaces.c (x-load-color-file): Use RGB() instead of manually shifting\r
+       on Windows.\r
+\r
+2008-08-01  Adrian Robert  <Adrian.B.Robert@gmail.com>\r
+\r
+       Warning clearing and clean-up in NS port.\r
+       * keyboard.h (xmalloc_widget_value, digest_single_submenu):\r
+       Add prototypes.\r
+       * nsgui.h (FACE_DEFAULT): Remove, unused.\r
+       (XGCValues): Change colors to unsigned long.\r
+       * nsterm.h (EmacsApp): Add declaration of all methods implemented in\r
+       nsterm.m.\r
+       (EmacsMenu -addItemWithWidgetValue:): Change to use NSMenuItem class.\r
+       (ns_list_fonts): Remove, unused.\r
+       (ns_font_to_xlfd, ns_fontname_to_xlfd): Drop prototypes.\r
+       * nsfns.m (interpret_services_menu): Use NSMenuItem class.\r
+       * nsfont.m (nsfont_open): Fix cast error in glyphs,metrics alloc.\r
+       (nsfont_draw): Compare face colors to 0, not nil.\r
+       * nsmenu.m (struct widget_value): Drop unneeded declaration.\r
+       (EmacsMenu -addItemWithWidgetValue:, -fillWithWidgetValue:)\r
+       (-addSubmenuWithTitle:): Use NSMenuItem class.\r
+       (ns_popup_menu): Use NO, not NULL, for enabled setting.\r
+       * nsterm.m (ns_draw_glyph_string): Don't compare font to ~0.\r
+       (ns_clip_to_row): Make gc arg a BOOL.\r
+       (ns_draw_fringe_bitmap, ns_draw_window_cursor): Use YES, NO in\r
+       ns_clip_to_row() call.\r
+       (ns_draw_glyph_string): Drop face comparison to ~0 (no longer\r
+       used).  Cast FRAME_FONT assignments.\r
+       (ns_read_socket): Cast call to EmacsApp-fulfillService:withArg:.\r
+       (ns_string_to_lispmod): Change arg to const char.\r
+       (ns_term_init): Use NSMenuItem class.\r
+       (EmacsApp -openFile:): Move to different section of file.\r
+       (EmacsApp -application:openFiles:): Don't return a value, call\r
+       -replyToOpenOrPrint:.\r
+       (EmacsView -keyDown:): Fix up cast.\r
+       (EmacsView -converstationIdentifier): Use NSInteger instead of long.\r
+       (EmacsView -menuDown:): Cast tag in call to\r
+       find_and_call_menu_selection().\r
+       (ns_list_fonts): Remove, unused.\r
+       (ns_font_to_xlfd): Make static.  Cast result of UTF8String.\r
+       (ns_fontname_to_xlfd): Make static.\r
+       * w32menu.c (xmalloc_widget_value, digest_single_submenu):\r
+       Remove prototypes (now in keyboard.h).\r
+       (next_menubar_widget_id): Remove, unused.\r
+       * xmenu.c (xmalloc_widget_value, digest_single_submenu):\r
+       Remove prototypes (now in keyboard.h).\r
+       * xfaces.c (ns_list_fonts, w32_list_fonts): Remove, unused.\r
+\r
+2008-08-01  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * Makefile.in (dispnew.o, gtkutil.o, sound.o, atimer.o)\r
+       (floatfns.o): Depend on syssignal.h.\r
+       (term.o): Depend on syssignal.h, systty.h, and $(INTERVAL_SRC).\r
+\r
+       * systty.h: Fix previous change that removed BSD_TERMIOS.\r
+       Add comments to #ifdefs.\r
+\r
+2008-08-01  Adrian Robert  <Adrian.B.Robert@gmail.com>\r
+\r
+       * w32fns.c (w32-load-color-file): Remove.\r
+       (x-open-connection): Use renamed Fx_load_color_file.\r
+       * xfaces.c (x-load-color-file): Add.\r
+       * nsterm.m (ns_initialize): Load colors from etc/rgb.txt instead of\r
+       Emacs.clr.\r
+       (hide_hourglass): BLOCK_INPUT before UNBLOCK.\r
+\r
+2008-07-31  Michael Albinus  <michael.albinus@gmx.de>\r
+\r
+       * dbusbind.c (Fdbus_call_method_asynchronously)\r
+       (Fdbus_method_error_internal): New defuns.\r
+       (xd_read_message): Handle also reply messages.\r
+       (Vdbus_registered_functions_table): Extend docstring.\r
+\r
+2008-07-31  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * keyboard.c (gobble_input): Fix previous change.\r
+\r
+2008-07-31  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * bitmaps/README:\r
+       * xfns.c:\r
+       * termcap.c:\r
+       * term.c:\r
+       * syswait.h:\r
+       * systty.h:\r
+       * systime.h:\r
+       * syssignal.h:\r
+       * sysdep.c:\r
+       * process.h:\r
+       * process.c:\r
+       * print.c:\r
+       * ndir.h:\r
+       * lread.c:\r
+       * keyboard.c:\r
+       * getpagesize.h:\r
+       * floatfns.c:\r
+       * fileio.c:\r
+       * emacs.c:\r
+       * doc.c:\r
+       * dispnew.c:\r
+       * dired.c:\r
+       * data.c:\r
+       * callproc.c:\r
+       * buffer.c:\r
+       * README:\r
+       * Makefile.in:\r
+       * s/template.h:\r
+       * s/msdos.h:\r
+       * m/vax.h: Remove VMS support.\r
+       * s/vms.h:\r
+       * vlimit.h:\r
+       * uaf.h:\r
+       * temacs.opt:\r
+       * param.h:\r
+       * ioctl.h: Remove file.\r
+\r
+2008-07-31  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * s/ms-w32.h (MULTI_KBOARD): Remove.\r
+       * xterm.c:\r
+       * xselect.c:\r
+       * xfns.c:\r
+       * window.c:\r
+       * w32term.c:\r
+       * w32fns.c:\r
+       * terminal.c:\r
+       * termhooks.h:\r
+       * term.c:\r
+       * sysdep.c:\r
+       * keyboard.h:\r
+       * keyboard.c:\r
+       * frame.h:\r
+       * frame.c:\r
+       * frame.c: Remove references to MULTI_KBOARD, it is now the default.\r
+       * config.in: Regenerate.\r
+\r
+2008-07-30  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.h (struct w32font_info): Use unicode version of textmetrics.\r
+\r
+       * w32font.c (w32font_encode_char): Leave as unicode if in range.\r
+       (w32font_open_internal): Get unicode version of textmetrics.\r
+       Don't enable or disable glyph indices here.\r
+       (w32font_open): Disable use of glyph indices.\r
+\r
+       * w32uniscribe.c (uniscribe_open): Enable use of glyph indices.\r
+\r
+2008-07-30  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * minibuf.c (Vread_buffer_function): Doc fix.\r
+\r
+2008-07-30  John Paul Wallington  <jpw@pobox.com>\r
+\r
+       * minibuf.c (read_buffer_completion_ignore_case): New var.\r
+       (Fread_buffer): Use it.\r
+\r
+2008-07-30  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * systty.h (sensemode): Remove empty #if.  Remove reference to\r
+       BSD_TERMIOS, unused.\r
+\r
+       * sysdep.c: Remove reference to DGUX.\r
+       (closedir): Remove reference to BROKEN_CLOSEDIR, unused.\r
+\r
+       * config.in: Regenerate.\r
+\r
+2008-07-30  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32uniscribe.c (uniscribe_encode_char): Fix glyph buffer size.\r
+\r
+2008-07-29  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32uniscribe.c (uniscribe_shape): Avoid using context if cache\r
+       is populated.\r
+       (uniscribe_encode_char): Always use uniscribe.\r
+       Avoid using context if cache is populated.\r
+\r
+2008-07-29  Jan Djärv  <jan.h.d@swipnet.se>\r
+\r
+       * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to\r
+       open menu.\r
+\r
+       * gtkutil.c (menu_nav_ended): Remove.\r
+       (create_menus): Remove signal connect for menu_nav_ended.\r
+\r
+2008-07-28  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xdisp.c (redisplay_window): Check return value of\r
+       compute_window_start_on_continuation_line before forcing a window\r
+       start.\r
+\r
+2008-07-28  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (w32font_text_extents): Use w32_metric_cache consistently.\r
+\r
+       * w32term.c (w32_enable_unicode_output, cleartype_active):\r
+       Remove obsolete display options.\r
+       (x_draw_glyph_string_background): Don't use old cleartype_active\r
+       workaround.\r
+       (w32_initialize): Remove cleartype_active initialization.\r
+       (syms_of_w32term): Remove w32_enable_unicode_output initialization.\r
+\r
+2008-07-28  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * lisp.h (init_weak_hash_tables, syms_of_font)\r
+       (xd_read_queued_messages, syms_of_dbusbind): Declare.\r
+       (remove_hash_entry): Don't declare.\r
+       * eval.c (maybe_call_debugger): Make static and move before use.\r
+       * gtkutil.c: Include <X11/Xft/Xft.h> if HAVE_XFT.\r
+       * xdisp.c: Include "gtkutil.h" if USE_GTK.\r
+       * xterm.h (x_set_frame_alpha): Declare.\r
+\r
+2008-07-28  Jan Djärv  <jan.h.d@swipnet.se>\r
+\r
+       * gtkutil.c (menu_nav_ended): Revert change from 2008-07-24.\r
+       (create_menus): Connect selection-done to menu_nav_ended.\r
+\r
+2008-07-27  Adrian Robert  <Adrian.B.Robert@gmail.com>\r
+\r
+       * nsfns.m (x-create-frame): Add copy of parms argument to beginning.\r
+       Set Vx_resource_name to a fallback.  Replace read of 'buffered'\r
+       parameter with read of 'alpha' one.\r
+       (Qns_frame_parameter): Remove.\r
+       * nsselection.m (selection-coding-system)\r
+       (next-selection-coding-system, Vselection_coding_system)\r
+       (Vnext_selection_coding_system): Drop.\r
+\r
+2008-07-27  Adrian Robert  <Adrian.B.Robert@gmail.com>\r
+\r
+       * nsfns.m (do-applescript, do_applescript): Rename to\r
+       ns-do-applescript, ns_do_applescript, and move within file.\r
+\r
+2008-07-27  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       Remove support for Mac Carbon.\r
+       * mactoolbox.c:\r
+       * macterm.h:\r
+       * macterm.c:\r
+       * macselect.c:\r
+       * macmenu.c:\r
+       * macgui.h:\r
+       * macfns.c:\r
+       * mac.c: Remove file.\r
+       * s/darwin.h:\r
+       * m/intel386.h:\r
+       * xfaces.c:\r
+       * xdisp.c:\r
+       * window.c:\r
+       * tparam.c:\r
+       * termhooks.h:\r
+       * termcap.c:\r
+       * term.c:\r
+       * syssignal.h:\r
+       * sysselect.h:\r
+       * sysdep.c:\r
+       * process.c:\r
+       * lread.c:\r
+       * lisp.h:\r
+       * keyboard.c:\r
+       * image.c:\r
+       * fringe.c:\r
+       * frame.h:\r
+       * frame.c:\r
+       * fontset.c:\r
+       * font.h:\r
+       * font.c:\r
+       * fns.c:\r
+       * fileio.c:\r
+       * emacs.c:\r
+       * dispnew.c:\r
+       * dispextern.h:\r
+       * config.in:\r
+       * atimer.c:\r
+       * Makefile.in: Remove code for Carbon\r
+\r
+2008-07-26 YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.\r
+\r
+2008-07-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * macterm.h (kCGBitmapByteOrder32Host): New define for\r
+       non-universal SDKs.\r
+\r
+       * image.c (mac_create_cg_image_from_image, image_load_image_io)\r
+       [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.\r
+\r
+       * macterm.c (XDrawLine, XCreatePixmapFromBitmapData)\r
+       [USE_MAC_IMAGE_IO]: Remove conditionals for kCGBitmapByteOrder32Host.\r
+\r
+2008-07-26  David Robinow  <drobinow@gmail.com>  (tiny change)\r
+\r
+       * w32inevt.c: Include dispextern.h.\r
+\r
+2008-07-26  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * print.c (print_object): Fix off-by-one in last change.\r
+\r
+2008-07-25  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * term.c (syms_of_term): Don't initialize default_orig_pair,\r
+       default_set_foreground and default_set_background on Windows.\r
+\r
+2008-07-25  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32uniscribe.c (uniscribe_shape): Pass NULL for control arg to\r
+       ScriptItemize.  Clean up return value checking.  Remove unused\r
+       variables.\r
+       (uniscribe_encode_char): Encode non-BMP characters with uniscribe\r
+       shaping engine.\r
+\r
+       * w32font.c (w32font_has_char): Handle the case where we can't\r
+       determine the script for a character.\r
+\r
+2008-07-25  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * term.c (syms_of_term): Initialize default_orig_pair,\r
+       default_set_foreground, and default_set_background.\r
+\r
+       * getloadavg.c (nl): Rename to name_list to avoid ncurses.h\r
+       clash (bug#86).\r
+       (getloadavg): Callers changed.\r
+\r
+       * image.c (svg_load_image): Fix last change.\r
+       (svg_load_image): Use rsvg_handle_get_dimensions to check that\r
+       image size is valid.  Use g_object_unref instead of deprecated\r
+       rsvg_handle_free to free rsvg handle.\r
+       (x_from_xcolors): Don't initialize pixmap (silence compiler).\r
+\r
+2008-07-25  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (w32font_encode_char): Encode characters outside BMP as\r
+       surrogates before looking up glyph index.\r
+       (w32font_text_extents): Encode as surrogates if falling back to\r
+       functions that need UTF-16 wide chars.\r
+\r
+       * w32uniscribe.c (uniscribe_encode_char): Encode characters outside\r
+       BMP as surrogates before looking up glyph index.\r
+\r
+2008-07-25  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * image.c (svg_load_image): Check for failure in return value of\r
+       rsvg_handle_get_pixbuf.  Free rsvg handle when done.\r
+\r
+2008-07-25  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (Fx_select_font): Reverse sense of second arg.\r
+\r
+2008-07-24  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * syntax.c (struct lisp_parse_state, char_quoted, inc_bytepos)\r
+       (dec_bytepos, find_defun_start): Use EMACS_INT for buffer positions.\r
+\r
+       * puresize.h (PURESIZE_CHECKING_RATIO): New macro.\r
+       (PURESIZE): Use it.\r
+\r
+2008-07-24  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * m/amdx86-64.h (HAVE_LIB64_DIR): Consolidate ifdefs.\r
+       * m/alpha.h (TEXT_END):\r
+       * m/ibmrs6000.h (TEXT_END):\r
+       * m/macppc.h (TEXT_END):\r
+       * s/darwin.h (TEXT_END):\r
+       * s/msdos.h (TEXT_END): Remove, unused.\r
+       * s/gnu-linux.h (BSD_PGRPS): Add a comment.\r
+       * s/cygwin.h: Remove comment.\r
+\r
+       * ecrt0.c (NODOT_GLOBAL_START): Remove code, unused.\r
+       (DOT_GLOBAL_START): Remove conditional, redundant for CRT0_DUMMIES.\r
+       * m/intel386.h (DOT_GLOBAL_START):\r
+       * m/vax.h (DOT_GLOBAL_START): Remove, redundant with CRT0_DUMMIES.\r
+       (USG): Remove, file not used on USG platforms.\r
+\r
+       * Makefile.in (HAVE_X11): Remove empty #else.\r
+\r
+2008-07-24  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * fileio.c (Finsert_file_contents): Properly adjust undo list\r
+       after format conversion.\r
+\r
+2008-07-24  Jan Djärv  <jan.h.d@swipnet.se>\r
+\r
+       * gtkutil.c (xg_get_font_name): Cast w to GTK_FONT_SELECTION_DIALOG.\r
+       (menu_nav_ended): Remove.\r
+       (create_menus): Remove signal connect for menu_nav_ended.\r
+       (xg_update_menubar): Also take deactivate_cb as parameter, pass it to\r
+       create_menus.\r
+       (xg_modify_menubar_widgets): Pass deactivate_cb to xg_update_menubar.\r
+\r
+2008-07-23  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (w32_enumfont_pattern_entity): Return height consistent\r
+       with opened font.\r
+       (w32font_open): Set font type to gdi.\r
+\r
+       * w32uniscribe.c (uniscribe_open): Set font type to uniscribe.\r
+\r
+2008-07-23  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * s/usg5-4.h (ADDR_CORRECT): Remove, unused.\r
+       * unexaix.c (ADDR_CORRECT): Remove conditional, the only user\r
+       defines it.\r
+       * unexec.c (ADDR_CORRECT): Define unconditionally.\r
+\r
+       * m/ibmrs6000.h (C_SWITCH_MACHINE): Remove.\r
+\r
+       * unexec.c: Remove code depending on !COFF and USG, the file is\r
+       not used for such systems.\r
+\r
+       * s/netbsd.h (A_TEXT_OFFSET, A_TEXT_SEEK):\r
+       * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, unused.\r
+       (LD_SWITCH_SYSTEM_1): Remove, update users.\r
+\r
+       * s/darwin.h (DATA_END):\r
+       * m/intel386.h (DATA_END):\r
+       * m/ibmrs6000.h (DATA_END):\r
+       * m/alpha.h (DATA_END): Remove, unused.\r
+\r
+       * config.in: Regenerate.\r
+       * s/ms-w32.h (subprocesses): Define unconditionally.\r
+       * s/template.h (subprocesses): Update comment.\r
+       * s/vms.h (subprocesses):\r
+       * s/usg5-4.h (subprocesses):\r
+       * s/hpux10-20.h (subprocesses):\r
+       * s/gnu-linux.h (subprocesses):\r
+       * s/cygwin.h (subprocesses):\r
+       * s/bsd-common.h (subprocesses):\r
+       * s/aix4-2.h (subprocesses):\r
+       * s/darwin.h (subprocesses): Do not define, defined by default now.\r
+\r
+       * Makefile.in (C_SWITCH_SITE, LD_SWITCH_SITE): Remove, unused.\r
+       Remove all references.\r
+       (temacs): Add GNUstep specific ld flags.\r
+\r
+       * nsterm.m (syms_of_nsterm): Provide ns, not ns-windowing,\r
+       similarly to what X does.\r
+\r
+2008-07-22  Adrian Robert  <Adrian.B.Robert@gmail.com>\r
+\r
+       * nsfns.m (x-list-fonts): Remove.\r
+       (syms_of_nsfns): Drop the x-list-fonts declaration.\r
+       * nsterm.m: Get rid of remaining "//" comments.\r
+\r
+2008-07-22  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xselect.c (Fx_rotate_cut_buffers_internal): Doc fix.\r
+\r
+       * nsselect.m (Fns_selection_exists_p, Fns_selection_owner_p)\r
+       (Fx_get_selection_internal, Fns_rotate_cut_buffers_internal)\r
+       (Fns_own_selection_internal, Fx_disown_selection_internal)\r
+       (Fns_get_cut_buffer_internal, Fns_store_cut_buffer_internal):\r
+\r
+       * nsmenu.m (Fns_reset_menu, Fx_popup_menu): Change to use 'doc: /*\r
+       ... */' style of docstrings.  Doc fixes.\r
+\r
+2008-07-22  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * terminfo.c (UP, BC, PC): Undo previous change.\r
+\r
+       * nsfns.m: Rename ns prefixed functions/variables to the\r
+       corresponding x versions.  Update references.\r
+\r
+2008-07-22  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * syntax.c (char_quoted): Check "charpos > beg" before decrementing.\r
+\r
+2008-07-22  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines):\r
+       Remove forwarding functions.\r
+       (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make\r
+       non-static.\r
+       (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make\r
+       non-static.\r
+       (ns_frame_parm_handlers): Use the new names.\r
+       (syms_of_nsfns): Move to the end of file.\r
+\r
+       * nsterm.m (syms_of_nsterm): Move to the end of file.\r
+\r
+       * dispnew.c (init_display): Remove code for X10.\r
+\r
+2008-07-22  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32proc.c (Fw32_long_file_name): Don't append dir separator to\r
+       bare drive.\r
+\r
+2008-07-22  Adrian Robert  <Adrian.B.Robert@gmail.com>\r
+\r
+       * nsterm.m (syms_of_nsterm): Remove debugging println.\r
+\r
+2008-07-22  David Reitter  <david.reitter@gmail.com>\r
+\r
+       * nsfns.m (do_applescript, F_do_applescript): NS version of the\r
+       Carbon implementation of the same functionality: execute arbitrary\r
+       AppleScript code.\r
+\r
+2008-07-21  Adrian Robert  <Adrian.B.Robert@gmail.com>\r
+\r
+       * nsfns.m (Fx_create_frame, Fx_read_file_name, Fx_get_resource)\r
+       (Fx_set_resource, Fx_set_alpha, Fx_server_max_request_size)\r
+       (Fx_server_vendor, Fx_server_version, Fx_display_screens)\r
+       (Fx_display_mm_height, Fx_display_mm_width)\r
+       (Fx_display_backing_store, Fx_display_visual_class)\r
+       (Fx_display_save_under, Fx_open_connection)\r
+       (Fx_close_connection, Fx_hide_emacs, Fx_font_name)\r
+       (Fx_list_colors, Fx_perform_service, Fx_color_defined_p)\r
+       (Fx_color_values, Fxw_display_color_p, Fx_display_grayscale_p)\r
+       (Fx_display_pixel_width, Fx_display_pixel_height)\r
+       (Fx_display_usable_bounds, Fx_display_planes)\r
+       (Fx_display_color_cells, Vns_icon_type_alist): Change to use 'doc: /*\r
+       ... */' style of docstrings.\r
+\r
+2008-07-21  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * m/mips.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Do not define, not used\r
+       on this platform.\r
+       (mips):\r
+       * m/iris4d.h (mips): Do not define.\r
+       * sysdep.c (init_sys_modes): Use __mips__ instead of mips.\r
+\r
+       * m/ibmrs6000.h (LD_SWITCH_SITE): Remove.\r
+\r
+       * image.c:\r
+       * nsfns.m:\r
+       * nsselect.m:\r
+       * nsterm.h:\r
+       * nsterm.m: Rename ns prefixed functions/variables to the\r
+       corresponding x versions.  Update references.\r
+\r
+       * m/ibms390x.h (NO_REMAP): Do not undefine.\r
+\r
+       * m/amdx86-64.h: Use SOLARIS2 instead of sun.\r
+\r
+2008-07-21  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * nsfns.m: Change NS to Nextstep in docstrings and error messages.\r
+       (Fns_create_frame, Fns_read_file_name, Fns_get_resource)\r
+       (Fns_set_resource, Fns_set_alpha, Fns_server_max_request_size)\r
+       (Fns_server_vendor, Fns_server_version, Fns_display_screens)\r
+       (Fns_display_mm_height, Fns_display_mm_width)\r
+       (Fns_display_backing_store, Fns_display_visual_class)\r
+       (Fns_display_save_under, Fns_open_connection)\r
+       (Fns_close_connection, Fns_hide_emacs, Fns_font_name)\r
+       (Fns_list_colors, Fns_perform_service, Fns_color_defined_p)\r
+       (Fns_color_values, Fxw_display_color_p, Fx_display_grayscale_p)\r
+       (Fns_display_pixel_width, Fns_display_pixel_height)\r
+       (Fns_display_usable_bounds, Fx_display_planes)\r
+       (Fns_display_color_cells, Vns_icon_type_alist): Doc fixes.\r
+\r
+2008-07-21  Ami Fischman  <ami@fischman.org>  (tiny change)\r
+\r
+       * print.c (print_object): Check print_depth before searching for\r
+       circularities.\r
+\r
+2008-07-21  Michael Albinus  <michael.albinus@gmx.de>\r
+\r
+       * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead\r
+       only sprintf.\r
+\r
+2008-07-21  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * ftfont.c (adjust_anchor): Check if DeltaValue is not NULL.\r
+\r
+2008-07-20  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * syntax.c (find_start_pos, find_start_value)\r
+       (find_start_value_byte, find_start_begv, find_defun_start)\r
+       (back_comment, scan_sexps_forward): Use EMACS_INT for buffer positions.\r
+\r
+2008-07-20  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * s/sol2-3.h: Insert contents of s/sol2.h.\r
+       (LD_SWITCH_SYSTEM): Remove redundant definition.\r
+       * s/sol2.h: Remove, unused.\r
+\r
+2008-07-20  Adrian Robert  <Adrian.B.Robert@gmail.com>\r
+\r
+       * nsterm.m (ns_get_color): Recognize HSB,AHSB be synonyms for HSV,AHSV.\r
+\r
+2008-07-20  Adrian Robert  <Adrian.B.Robert@gmail.com>\r
+\r
+       * Makefile.in (ns_appdir): Fix typo in find command.\r
+\r
+2008-07-20  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * m/intel386.h (NO_REMAP): Do no define for USG, not used.\r
+\r
+       * s/usg5-4.h (LIBS_SYSTEM): Remove, system for which this was\r
+       added not supported anymore.\r
+\r
+       * s/usg5-4-2.h (LIBS_SYSTEM):\r
+       * s/sol2.h (LIBS_SYSTEM): Do not undefine.\r
+\r
+       * s/netbsd.h (GETPGRP_NO_ARG, N_TRELOFF):\r
+       * s/lynxos.h (GETPGRP_NO_ARG):\r
+       * s/hpux10-20.h (NO_SIOCTL_H):\r
+       * s/gnu.h (GETPGRP_NO_ARG):\r
+       * s/gnu-linux.h (NO_SIOCTL_H):\r
+       * s/freebsd.h (GETPGRP_NO_ARG, N_TRELOFF):\r
+       * s/cygwin.h (GETPGRP_NO_ARG):\r
+       * s/irix6-5.h (LIBS_SYSTEM, GETPGRP_NO_ARG): Remove, unused.\r
+       (C_DEBUG_SWITCH): Remove duplicate definition.\r
+\r
+       * m/ibms390.h: Remove boilerplate comments.\r
+\r
+       * sysdep.c (closedir): Use SOLARIS2 instead of sun && USG5_4.\r
+\r
+       * process.c (HAVE_SERIAL): Consolidate ifdefs.\r
+       (wait_reading_process_output): Remove code for SunOS, platform not\r
+       supported anymore.  Use SOLARIS2 instead of sun.\r
+\r
+2008-07-19  Adrian Robert  <Adrian.B.Robert@gmail.com>\r
+\r
+       * font.c (font_open_by_name): Under NS, default lface height to zero.\r
+       (font_open_for_lface): Under NS, set size based on frame fontsize.\r
+       * nsterm.m (EmacsView-changeFont:): Remove some commented code.\r
+       * frame.c (x_set_frame_parameters): Remove HAVE_NS ifdef.\r
+\r
+2008-07-19  Adrian Robert  <Adrian.B.Robert@gmail.com>\r
+\r
+       * nsterm.m (ns_antialias_text, ns_use_qd_smoothing)\r
+       (ns_use_system_highlight_color): Switch these from DEFVAR_BOOL to\r
+       DEFVAR_LISP and change all code accordingly to use Qt/Qnil instead of\r
+       YES/NO.\r
+       * nsterm.h (prevUseHighlightColor): Make a Lisp_Object.\r
+       * nsfont.m (nsfont_draw): Treat ns_use_qd_smoothing as Lisp_Object.\r
+       * Makefile.in (clean): Clear out build destination dir.\r
+\r
+2008-07-19  Adrian Robert  <Adrian.B.Robert@gmail.com>\r
+\r
+       * Makefile.in (nsgui.h-related dependencies): Remove abbrev, xfns,\r
+       xterm, xselect.\r
+       * lisp.h: Remove declaration of hash_remove.\r
+       * nsgui.h: Remove redefinitions of hash_remove.\r
+       * fns.c (hash_remove): Rename to hash_remove_from_table.\r
+\r
+2008-07-19  Seiji Zenitani  <zenitani@mac.com>\r
+\r
+       * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):\r
+       strdup() the family UTF8String before modifying it.\r
+\r
+2008-07-19  Adrian Robert  <Adrian.B.Robert@gmail.com>\r
+\r
+       * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from\r
+       NS_FACE_BACKGROUND with 0 instead of nil.\r
+       * nsfont.m (nsfont_draw): Same.\r
+\r
+2008-07-19  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * nsfns.m (ns_set_background_color): Fix crash.\r
+\r
+2008-07-18  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc.\r
+\r
+2008-07-18  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * puresize.h (BASE_PURESIZE): Increase to 1240000.\r
+\r
+2008-07-17  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * gtkutil.c: Include <config.h> instead of "config.h".\r
+\r
+       * lisp.h (Foverlay_buffer): Add EXFUN.\r
+\r
+       * process.c (create_process) [!WINDOWSNT && FD_CLOEXEC]: Wait for\r
+       child process to complete child_setup.  Undo 2005-09-21 change.\r
+\r
+       * s/darwin.h: Mention setsid after vfork.\r
+\r
+2008-07-17  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * Makefile.in (frame.o, keyboard.o, xdisp.o, xfaces.o):\r
+       Depend on macgui.h.\r
+\r
+       * macfns.c (Fx_server_version): Don't use gestaltSystemVersionMajor,\r
+       gestaltSystemVersionMinor, or gestaltSystemVersionBugFix.\r
+\r
+       * macterm.c (keycode_to_xkeysym_table): Add entries for f17, f18,\r
+       and f19.\r
+       [MAC_OSX] (fn_keycode_to_keycode_table): Likewise.\r
+\r
+       * macterm.h (gestaltSystemVersionMajor, gestaltSystemVersionMinor)\r
+       (gestaltSystemVersionBugFix) [MAC_OS_X_VERSION_MAX_ALLOWED < 1040]:\r
+       Remove enumerators.\r
+\r
+       * mactoolbox.c [USE_MAC_TSM] (mac_handle_text_input_event):\r
+       Check if FACE_FROM_ID returns NULL.\r
+\r
+2008-07-17  David Robinow  <drobinow@gmail.com>  (tiny change)\r
+\r
+       * w32inevt.c (change_frame_size): Remove extern declaration.\r
+       (resize_event, maybe_generate_resize_event): Pass SAFE arg to\r
+       change_frame_size.\r
+\r
+2008-07-17  Adrian Robert  <Adrian.B.Robert@gmail.com>\r
+\r
+       * getloadavg.c: Revert last change (2008-07-15).\r
+\r
+2008-07-17  Adrian Robert  <Adrian.B.Robert@gmail.com>\r
+\r
+       * Makefile.in: Replace emacsapp, emacsbindir, emacsappsrc variables\r
+       set here with ns_appdir, ns_appresdir, ns_appbindir, ns_appsrc) set\r
+       from configure.\r
+\r
+2008-07-17  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * s/sol2.h:\r
+       * s/sol2-4.h: Reorganize conditionals.\r
+\r
+       * ecrt0.c: Remove code depending on m68000, not used anymore.\r
+\r
+       * fns.c (hash_remove): Make static.\r
+       * lisp.h (hash_remove): Don't prototype.\r
+\r
+       * m/ibmrs6000.h:\r
+       * m/ibms390x.h:\r
+       * m/macppc.h: Remove boilerplate comments.\r
+\r
+       * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on\r
+       Solaris, which does not need them.\r
+\r
+       * m/vax.h: Remove comments about unsupported systems.\r
+\r
+       * s/darwin.h: Reorganize ifdefs.\r
+\r
+2008-07-17  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * s/cygwin.h (LIB_STANDARD_LIBSRC): Don't define.\r
+\r
+2008-07-17  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       Use SDATA.  Follow coding convention of placing operators at\r
+       beginning of next line rather than end of previous line, and placing\r
+       spaces around infix operators.\r
+\r
+       * Makefile.in: Undef LIB_STANDARD before defining it to silence warning\r
+       in case it was defined already.\r
+       USE @GNUSTEP_MAKEFILES@ rather than envvars.\r
+       * nsterm.m (ns_term_init): Pass Qt and Qnil rather than YES/NO to\r
+       ns_default.\r
+       (applicationShouldTerminate, setValuesFromPanel): Use EQ to compare\r
+       Lisp_Objects.\r
+       * nsterm.h (Fx_display_grayscale_p, Fx_display_planes)\r
+       (ns_defined_color, ns_color_to_lisp): Declare.\r
+       * nsselect.m (ns_handle_selection_request, ns_handle_selection_clear)\r
+       (Fns_own_selection_internal): Make the big ugly hack more explicit, so\r
+       it's accepted even with USE_LISP_UNION_TYPE.\r
+       * nsmenu.m (ns_update_menubar): Use EQ to compare Lisp_Objects.\r
+       (update_frame_tool_bar): Remove apparently obsolete tests for\r
+       non-integerness of f->tool_bar_lines.\r
+       (windowShouldClose, addButton, clicked, runDialogAt): Make the big ugly\r
+       hack more explicit, so it's accepted even with USE_LISP_UNION_TYPE.\r
+       * nsfont.m (nsfont_driver): Use just 0 rather than an invalid cast.\r
+       (nsfont_open): Don't confuse NULL for Qnil.\r
+       * nsfns.m (ns_implicitly_set_icon_type): Use EQ to compare Lisp_Objects.\r
+       * menu.h (find_and_call_menu_selection):\r
+       * menu.c (find_and_call_menu_selection): Use just int for vector size.\r
+       (find_and_return_menu_selection): Always return something.\r
+       * frame.h: Include dispextern.h for Display_Info.\r
+       (display_x_get_resource): Declare.\r
+\r
+2008-07-16  Adrian Robert  <Adrian.B.Robert@gmail.com>\r
+\r
+       * syntax.c: Remove stdio.h include accidentally introduced in\r
+       Emacs.app commit.\r
+       * Makefile.in: Change GNUSTEP to NS_IMPL_GNUSTEP, COCOA to\r
+       NS_IMPL_COCOA.\r
+       * keyboard.c (handle_async_input, input_available_signal): Remove\r
+       BSD4_1 conditional code, introduced accidentally in Emacs.app commit.\r
+\r
+2008-07-16  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * nsterm.m (lisp_to_mod): Use parse_solitary_modifier instead.\r
+       (ns_lisp_to_color): Don't mess with internal Lisp data fields.\r
+       (ns_term_init, ns_term_shutdown, initFrameFromEmacs, ns_list_fonts):\r
+       Use SDATA.\r
+\r
+       * keymap.c: Remove all NS-specific code.\r
+       (where_is_preferred_modifier, Vwhere_is_preferred_modifier): New vars.\r
+       (preferred_sequence_p): Rename from ascii_sequence_p; pay attention to\r
+       where_is_preferred_modifier, return a different value depending on how\r
+       preferred is the binding.\r
+       (where_is_internal): Adjust accordingly.\r
+       (Fwhere_is_internal): Refresh where_is_preferred_modifier.\r
+       Adjust to new preferred_sequence_p.\r
+       (syms_of_keymap): Declare `where-is-preferred-modifier'.\r
+       * keyboard.c (parse_solitary_modifier): Not static any more.\r
+       * keyboard.h (parse_solitary_modifier): Declare.\r
+\r
+2008-07-16  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * Makefile.in (SOME_MACHINE_LISP): Remove easy-mmode, fix spelling\r
+       of easymenu.\r
+\r
+2008-07-16  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xdisp.c (move_it_in_display_line): Account for word wrap, so\r
+       that we don't move off the line.\r
+\r
+2008-07-16  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * keyboard.c (Qsuper): Remove.\r
+       (parse_menu_item): Don't call where_is_internal specially for NS.\r
+\r
+2008-07-16  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * s/gnu-linux.h: Remove boilerplate comments.\r
+\r
+       * m/alpha.h (__ELF__): Consolidate conditions.\r
+\r
+       * m/m68k.h (linux): Use GNU_LINUX instead.\r
+       Remove boilerplate comments.\r
+\r
+       * m/intel386.h: Undo refactoring from previous change.\r
+       (LIB_STANDARD): All systems that define USG define LIB_STANDARD\r
+       too, remove dead code.\r
+       (linux): Use GNU_LINUX instead.\r
+\r
+2008-07-16  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32gui.h: Repeat 26 June changes lost by last change.\r
+\r
+2008-07-16  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * systty.h: Remove code for Aix on 386, unsupported platform.\r
+\r
+       * s/ms-w32.h: Remove boilerplate comments.\r
+       (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.\r
+\r
+       * s/gnu-linux.h (TERM): Remove support.\r
+       (HAVE_SYSVIPC): Remove, unused.\r
+       (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used\r
+       for this system.\r
+\r
+       * process.c: Remove support for IRIS, unused.\r
+       Remove support for TERM, not relevant anymore.\r
+\r
+       * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only\r
+       used with the definition.\r
+\r
+       * s/aix4-2.h (static): Do not undef.\r
+\r
+       * m/ibmrs6000.h: Remove code depending on USG5_4, this file is\r
+       only used on Aix.\r
+       (HAVE_SYSVIPC): Remove, unused.\r
+\r
+       * m/hp800.h (CANNOT_DUMP): Do not undef.\r
+\r
+       * m/alpha.h: Fix comment.\r
+\r
+       * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.\r
+       (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not\r
+       used by this configuration.\r
+       * emacs.c: Remove code depending on USG_SHARED_LIBRARIES.\r
+       * unexec.c: Remove code depending on HPUX and\r
+       USG_SHARED_LIBRARIES, not used with this file.  Remove code\r
+       depending on IRIS, unused.  Remove if 0-ed code.\r
+\r
+       * s/template.h: Remove comments about static.\r
+\r
+       * sysdep.c: Remove code depending on NEED_PTEM_H, unused.\r
+       Remove if 0-ed code.\r
+       (baud_convert): Don't depend on BAUD_CONVERT, all definitions the\r
+       were the same as the default.\r
+       * s/vms.h (BAUD_CONVERT): Remove, same as the default.\r
+       Remove boilerplate comments.\r
+       * s/hpux10-20.h (BAUD_CONVERT): Remove, same as the default.\r
+       (HAVE_SYSVIPC): Remove, unused.\r
+       (LD_SWITCH_SYSTEM_TEMACS): Simplify, hp9000s700 not supported anymore.\r
+\r
+       * m/ia64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.\r
+       Remove boilerplate comments.\r
+       * m/amdx86-64.h (PNTR_COMPARISON_TYPE): Remove, same as the default.\r
+       Remove boilerplate comments.\r
+       * m/ibms390x.h (PNTR_COMPARISON_TYPE): Remove, same as the default.\r
+       Remove boilerplate comments.\r
+       * lisp.h (PNTR_COMPARISON_TYPE): Define it unconditionally.\r
+\r
+       * m/intel386.h (DATA_SEG_BITS): Remove definitions, only used on\r
+       USG systems which do not use DATA_SEG_BITS.\r
+       Refactor code.  Remove boilerplate comments.\r
+\r
+       * m/ibms390.h:\r
+       * m/m68k.h:\r
+       * s/bsd-common.h:\r
+       * s/cygwin.h:\r
+       * s/darwin.h:\r
+       * s/freebsd.h:\r
+       * s/gnu.h:\r
+       * s/msdos.h: Remove boilerplate comments.\r
+\r
+       * m/iris4d.h: Remove boilerplate comments and code for systems that\r
+        do not use this file.\r
+       (IRIS_4D): Remove, unused.\r
+\r
+       * m/mips.h: Remove boilerplate comments and code for systems that\r
+        do not use this file.\r
+       (SIGN_EXTEND_CHAR):\r
+       * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.\r
+       * unexmips.c: Remove file, unused.\r
+\r
+       * editfns.c (Fuser_full_name): Replace the only use of\r
+       USER_FULL_NAME with its value.\r
+       * config.in: Regenerate.\r
+\r
+2008-07-16  David Reitter  <david.reitter@gmail.com>\r
+\r
+       * Makefile.in: Add ns-win, ns-carbon-compat, easy-mmode and\r
+       easy-menu to SOME_MACHINE_LISP for the new NeXTstep port.\r
+\r
+2008-07-16  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * emacs.c (system-type): Doc fix.\r
+\r
+2008-07-15  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * keyboard.c (parse_menu_item): Don't use cachelist, even under NS.\r
+       If the cache doesn't work, let's fix it, rather than work around it.\r
+\r
+2008-07-15  Adrian Robert  <Adrian.B.Robert@gmail.com>\r
+\r
+       * Makefile.in: Correct additions for nsfont.o in last commit.\r
+       * nsfont.m: New file (forgot last commit).\r
+\r
+2008-07-15  Chris Hall  <chris@web.workinglinux.com>  (tiny change)\r
+\r
+       * callproc.c (set_initial_environment): Initialize\r
+       Vprocess_environment under CANNOT_DUMP (fixes crash when\r
+       batch-compiling for bootstrap).\r
+\r
+2008-07-15  Chris Hall  <chris@web.workinglinux.com>  (tiny change)\r
+           YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --\r
+       fix crash due to different init order.\r
+\r
+2008-07-15  Adrian Robert  <Adrian.B.Robert@gmail.com>\r
+\r
+       Changes and additions for NeXTstep windowing system (Cocoa and\r
+       GNUstep) support.\r
+\r
+       * Makefile.in:\r
+       * config.in: Support defines and build commands for NS port.\r
+       * blockinput.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT)\r
+       (UNBLOCK_INPUT_TO): Don't use under NS unless EXPERIMENTAL_CONTROL_G.\r
+       * dispextern.h: Include nsgui.h and add needed typedefs under NS\r
+       windowing.\r
+       (struct face): Add synth_ital field.\r
+       * dispnew.c: Include nsterm.h when compiling under NS windowing.\r
+       (init_display): Initialize Vinitial_window_system to "ns" when so\r
+       compiled.\r
+       * emacs.c: Include GSConfig.h when compiling under GNUstep.\r
+       (display_arg): Use under NS.\r
+       (main): Under NS, allocate autorelease pool and handle command line\r
+       args.  Move syms_of_xmenu() call under #ifdef HAVE_X_WINDOWS.\r
+       (standard_args): Add NS-specific args.\r
+       (shut_down_emacs): Shut down NS terminal if compiled under NS.\r
+       * font.c (DEFAULT_ENCODING): New variable.\r
+       (font_find_for_lface): Use it.\r
+       (syms_of_font): Load syms_of_nsfont under NS.\r
+       * font.h: Declare nsfont_driver when compiled under NS.\r
+       * fontset.c: When compiling under NS, include nsterm.h.\r
+       (fontset_from_font): Autoconstruct fontset under NS.\r
+       * frame.c (various): Under NS, include nsterm.h, add Qns window system\r
+       symbol, document and use it.\r
+       (do_switch_frame): When for_deletion under Cocoa, add\r
+       Fraise_frame(Qnil).\r
+       (x_set_frame_parameters): Ensure font attribute changes are picked up.\r
+       (x_get_arg): Allow "yes" and "no" as boolean values.\r
+       (syms_of_frame): Declare Qns.  Init Vdefault_frame_scroll_bars to\r
+       Qright under Cocoa.\r
+       (focus-follows-mouse): Default to 0 under NS.\r
+       * frame.h (enum output_method): Add output_ns.\r
+       (external_tool_bar, external_menu_bar, FRAME_EXTERNAL_TOOLBAR)\r
+       (FRAME_EXTERNAL_MENU_BAR): Use under NS.\r
+       (FRAME_WINDOW_P): NS-specific definition.\r
+       * fringe.c (max_used_fringe_bitmap): Make public.\r
+       * getloadavg.c (mach/mach.h): Include it under NeXT descendant OS's.\r
+       (getloadavg): Use NeXT code under descendant OS's.\r
+       * image.c (includes and header section, x_create_bitmap_from_data)\r
+       (x_create_bitmap_from_file, free_bitmap_record, image_background)\r
+       (image_background_transparent, x_clear_image_1)\r
+       (x_create_x_image_and_pixmap, x_destroy_x_image, x_put_x_image)\r
+       (Create_Pixmap_From_Bitmap_Data, xpm_load_image, lookup_rgb_color)\r
+       (x_to_xcolors, x_from_xcolors, x_disable_image)\r
+       (x_build_heuristic_mask, syms_of_image): Add NS support parallel to\r
+       other GUIs, including XPM support using code originally written for\r
+       Carbon GUI.\r
+       (png_load, jpeg_load, tiff_load, gif_load): Add implementations\r
+       using NS API.\r
+       (image_ascent): Use font metrics macros instead of direct struct field\r
+       access.\r
+       * keyboard.c (includes): Add nsterm.h when compiling under NS.\r
+       (kbd_buffer_get_event): Handle NS as other GUI windowing systems.\r
+       Also, handle NS as GTK for menu bar purposes.\r
+       (make_lispy_event): Handle NS as other GUI windowing systems, and as X\r
+       toolkit where they differ.\r
+       (parse_menu_item): Prefer keybindings using 'super' modifier.  Also,\r
+       use cachelist, still needed under NS.\r
+       * keyboard.h (ENCODE_MENU_STRING, XtPointer, Boolean): Handle as NTGUI.\r
+       (struct widget_value): Define it here for menu.c.\r
+       * keymap.c (includes): Include modifier internals.\r
+       (lisp_to_mod, modifier_sequence_p): New functions, compiled only under\r
+       NS.\r
+       (where_is_internal, Fwhere_is_internal): When compiled under NS, add\r
+       support for preferring sequences using certain modifiers, specified by\r
+       the FIRSTONLY argument.\r
+       * lisp.h (hash_remove): Rename to avoid name clash when compiling\r
+       under NS GNUstep implementation.\r
+       (USE_LSB_TAG): Use it under Cocoa when compiling under NS.\r
+       * lread.c (init_lread): Treat NS as HAVE_CARBON for turn_off_warning.\r
+       * menu.c: Include nsterm.h under NS.\r
+       (single_menu_item, parse_single_submenu, xmalloc_widget_value)\r
+       (free_menubar_widget_tree_value, update_submenu_strings)\r
+       (find_and_call_menu_selection): Treat NS as X and NT.\r
+       (find_and_return_menu_selection): New function, used for popup menus.\r
+       * nsgui.h:\r
+       * nsterm.h:\r
+       * nsfns.m:\r
+       * nsimage.m:\r
+       * nsmenu.m:\r
+       * nsselect.m:\r
+       * nsterm.m: New files.\r
+       * process.c (wait_reading_process_output): Under NS, call ns_select()\r
+       instead of plain select().\r
+       * syntax.c (char_quoted): Under NS, avoid a crash when called near\r
+       beginning of buffer.\r
+       * sysselect.h (init_process): Rename when compiling under Cocoa to\r
+       avoid name conflict.\r
+       * termhooks.h (display_info): Add ns_display_info to union.\r
+       * terminal.c (Fterminal_live_p): Add ns to terminal types.\r
+       * terminfo.c (UP, BC, PC): Don't declare when compiling under NS in\r
+       COCOA environment.\r
+       * unexnext.c: Update to work with mach API on Mac OS X, and to use new\r
+       unexec() signature.  (Note, this will dump, but the resulting file\r
+       crashes; unexosx is used instead; keeping around for reference and\r
+       possible aid in getting dump working under GNUstep.)\r
+       * w32gui.h (button_type, widget_value): Remove definitions (now in\r
+       keyboard.h).\r
+       * window.c: Include nsterm.h when compiling under NS.\r
+       * xdisp.c (includes): Include nsterm.h when compiling under NS.\r
+       (set_frame_menubar, update_menu_bar, display_menu_bar): Handle NS as\r
+       other GUI windowing systems.\r
+       (update_tool_bar, redisplay_tool_bar, redisplay_window): Handle NS as\r
+       GTK.\r
+       (x_consider_frame_title): Under NS, set icon type and frame\r
+       modified-state indicator; use ns_set_name_as_filename() when using\r
+       formatted title.\r
+       (update_window_cursor): Make public when compiling under NS.\r
+       (display_hourglass_p, syms_of_xdisp, hourglass_shown_p)\r
+       (hourglass_atimer, Vhourglass_delay\r
+       * xfaces.c (header section, init_frame_faces, clear_font_table)\r
+       (defined_color, unload_color, x_face_list_fonts)\r
+       (prepare_face_for_display): Add NS support parallel to other GUIs.\r
+       Emulate GCs like other non-X GUIs.\r
+       (split_font_name): Don't lowercase font name under NS.\r
+       (merge_face_ref, Finternal_set_lisp_face_attribute): Support stippling\r
+       under NS.\r
+       * s/darwin.h: Add support for compilation under NS.\r
+\r
+2008-07-15  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32fns.c (Fx_create_frame): Remove duplicate unwind_protect.\r
+       (w32_show_hourglass): Rename from show_hourglass.\r
+       (w32_hide_hourglass): Rename from hide_hourglass.\r
+       (DEFAULT_HOURGLASS_DELAY): Revert from last change.\r
+       (Vhourglass_delay): Declare extern.\r
+       (hourglass_started): Remove.\r
+\r
+       * xdisp.c (Vhourglass_delay): Remove static.\r
+       (hourglass_started, start_hourglass, cancel_hourglass):\r
+       Don't include these versions on WINDOWSNT.\r
+\r
+2008-07-15  Adrian Robert  <Adrian.B.Robert@gmail.com>\r
+\r
+       * dispextern.h (hourglass_shown_p, hourglass_atimer): New extern\r
+       variables (formerly in xfns.c).\r
+       (show_hourglass, hide_hourglass): New prototypes (same).\r
+       * xdisp.c (display_hourglass_p, hourglass_shown_p, hourglass_atimer)\r
+       (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY): New variables (formerly\r
+       in xfns.c).\r
+       (syms_of_xdisp): Declare/initialize display-hourglass,\r
+       hourglass-delay.  Initialize hourglass_atimer, hourglass_shown_p.\r
+       (hourglass_started, start_hourglass, cancel_hourglass): New functions,\r
+       formerly in xfns.c.\r
+       * xfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)\r
+       (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)\r
+       (start_hourglass, cancel_hourglass): Remove.\r
+       (show_hourglass, hide_hourglass): Remove prototypes and static\r
+       modifiers.\r
+       (syms_of_xfns): Remove display-hourglass, hourglass-delay,\r
+       hourglass_atimer, hourglass_shown_p declaration/initialization.\r
+       * macfns.c (display_hourglass_p, hourglass_atimer, hourglass_shown_p)\r
+       (Vhourglass_delay, DEFAULT_HOURGLASS_DELAY, hourglass_started)\r
+       (start_hourglass, cancel_hourglass): Remove.\r
+       (show_hourglass, hide_hourglass): Remove prototypes and static\r
+       modifiers.\r
+       (syms_of_macfns): Remove display-hourglass, hourglass-delay,\r
+       hourglass_atimer, hourglass_shown_p declaration/initialization.\r
+       * w32fns.c (display_hourglass_p, Vhourglass_delay)\r
+       (DEFAULT_HOURGLASS_DELAY): Remove.\r
+       (syms_of_w32fns): Remove display-hourglass, hourglass-delay,\r
+       hourglass_shown_p declaration/initialization.\r
+\r
+2008-07-14  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32fns.c (w32_get_arg): Remove wrapper function.\r
+       (w32_createwindow, x_icon, x_create_tip_frame): Use x_get_arg\r
+       directly.\r
+       (Fx_create_frame): Sync with xfns.c.  Use x_get_arg directly.\r
+\r
+2008-07-14  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xfont.c (xfont_open): Add workaround for X's bug.\r
+\r
+2008-07-14  Emanuele Giaquinta  <emanuele.giaquinta@gmail.com>  (tiny change)\r
+\r
+       * fontset.c: Include <stdio.h> unconditionally.\r
+\r
+2008-07-13  Michael Albinus  <michael.albinus@gmx.de>\r
+\r
+       * dbusbind.c (Fdbus_register_signal): Allow also signal arguments\r
+       for filtering.\r
+\r
+2008-07-13  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * s/vms.h: Use __GNUC__ instead of _GNUC_.\r
+\r
+       * m/macppc.h:\r
+       * m/alpha.h: Use GNU_LINUX instead of LINUX.  Reorganize conditionals.\r
+\r
+       * m/ibms390x.h (XINT, XUINT): Don't define, same as the default\r
+       (SPECIAL_EMACS_INT):\r
+       * m/ia64.h (SPECIAL_EMACS_INT):\r
+       * m/amdx86-64.h (SPECIAL_EMACS_INT):\r
+       * s/gnu.h (NLIST_STRUCT):\r
+       * s/aix4-2.h (X11R5_INHIBIT_I18N):\r
+       * s/gnu-linux.h (LINUX):\r
+       * s/msdos.h (HAVE_FACES):\r
+       * s/ms-w32.h (HAVE_FACES): Don't define, unused.\r
+\r
+       * systty.h:\r
+       * sysdep.c (setup_pty): Don't depend on SYSV_PTYS, it is not used\r
+       anymore.\r
+\r
+2008-07-12  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * syswait.h: Remove old if 0 code.  Do not define WAITTYPE, it was\r
+       always defined as int.\r
+\r
+       * s/netbsd.h (HAVE_UNION_WAIT, HAVE_WAIT_HEADER, WAIT_USE_INT):\r
+       * s/gnu.h (HAVE_WAIT_HEADER, WAIT_USE_INT, HAVE_UNION_WAIT):\r
+       * s/gnu-linux.h (HAVE_WAIT_HEADER):\r
+       * s/freebsd.h (HAVE_WAIT_HEADER):\r
+       * s/bsd-common.h (HAVE_UNION_WAIT):\r
+       * s/aix4-2.h (HAVE_WAIT_HEADER):\r
+       * m/mips.h (HAVE_UNION_WAIT):\r
+       * s/usg5-4.h (HAVE_WAIT_HEADER, WAITTYPE): Do not define, not used.\r
+       (COFF, static): Do not define, they are undefined later in the file.\r
+\r
+       * process.c (update_status): Don't use a union.\r
+       (status_convert):\r
+       (sigchld_handler): Use int instead of WAITTYPE.\r
+\r
+2008-07-12  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * indent.c (Fvertical_motion): Restore hscroll before moving to\r
+       goal column.\r
+\r
+2008-07-11  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * lisp.h: Remove left over code.\r
+\r
+2008-07-11  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * lisp.h: Fix logic in last change.\r
+\r
+       * menu.h: New file.\r
+       * menu.c: Include it.\r
+       * xmenu.c: Likewise.\r
+       * Makefile.in: Update dependencies.\r
+\r
+2008-07-11  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fontset.c (fontset_from_font): Cancel the previous change.\r
+\r
+2008-07-11  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * lisp.h:\r
+       * w32heap.c:\r
+       * emacs.c:\r
+       * alloc.c: Replace all references of NO_UNION_TYPE with\r
+       USE_LISP_UNION_TYPE.\r
+\r
+       * m/xtensa.h (NO_UNION_TYPE):\r
+       * m/vax.h (NO_UNION_TYPE):\r
+       * m/template.h (NO_UNION_TYPE):\r
+       * m/sparc.h (NO_UNION_TYPE):\r
+       * m/mips.h (NO_UNION_TYPE):\r
+       * m/macppc.h (NO_UNION_TYPE):\r
+       * m/m68k.h (NO_UNION_TYPE):\r
+       * m/iris4d.h (NO_UNION_TYPE):\r
+       * m/intel386.h (NO_UNION_TYPE):\r
+       * m/ibms390x.h (NO_UNION_TYPE):\r
+       * m/ibms390.h (NO_UNION_TYPE):\r
+       * m/ibmrs6000.h (NO_UNION_TYPE):\r
+       * m/ia64.h (NO_UNION_TYPE):\r
+       * m/hp800.h (NO_UNION_TYPE):\r
+       * m/arm.h (NO_UNION_TYPE):\r
+       * m/amdx86-64.h (NO_UNION_TYPE):\r
+       * m/alpha.h (NO_UNION_TYPE): Remove definition, all platform were\r
+       defining it the same.\r
+\r
+2008-07-10  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xdisp.c (move_it_to): Backtrack if past the edge of a wrapped line.\r
+\r
+2008-07-10  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * fileio.c:\r
+       * sysdep.c\r
+       * systty.h:\r
+       * m/ibmrs6000.h:\r
+       * m/iris4d.h:\r
+       * s/aix4-2.h:\r
+       * s/freebsd.h:\r
+       * s/gnu-linux.h:\r
+       * s/hpux10-20.h:\r
+       * s/hpux11.h:\r
+       * s/netbsd.h:\r
+       * s/sol2-3.h:\r
+       * s/sol2-4.h:\r
+       * s/sol2.h:\r
+       * s/usg5-4.h:\r
+       * s/vms.h: Remove references to unused variables.\r
+\r
+2008-07-10  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * ftfont.c (ftfont_resolve_generic_family): Remove foundry from\r
+       pattern before matching the generic family.\r
+\r
+2008-07-10  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * unexec.c:\r
+       * s/vms.h:\r
+       * s/usg5-4-2.h:\r
+       * s/sol2-5.h:\r
+       * s/freebsd.h:\r
+       * s/darwin.h: Remove dead code.\r
+\r
+       * m/template.h:\r
+       * m/sparc.h:\r
+       * m/mips.h:\r
+       * m/m68k.h:\r
+       * m/iris4d.h:\r
+       * m/intel386.h:\r
+       * m/ibms390x.h:\r
+       * m/ibms390.h:\r
+       * m/ia64.h:\r
+       * m/hp800.h:\r
+       * m/arm.h:\r
+       * m/amdx86-64.h: Remove dead code and references to unused\r
+       and compiler defined symbols.\r
+\r
+       * unexmips.c:\r
+       * unexelf.c: Remove references to desupported systems.\r
+\r
+       * m/powermac.h: Remove file, it is now identical to m/macppc.h.\r
+\r
+       * m/powermac.h: Remove boilerplate comments.\r
+       (NO_REMAP): Remove unused definition.\r
+\r
+       * m/macppc.h (UNEXEC, NO_TERMIO): Don't define, the s/ files\r
+       define them.\r
+\r
+2008-07-10  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xfont.c (xfont_open): Log the reason of failure.\r
+\r
+2008-07-09  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * fontset.c (fontset_get_font_group):\r
+       * font.c (font_check_otf): Specify argument types.\r
+\r
+2008-07-09  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (detect_coding_utf_8): Set detect_info->found only when\r
+       non-ASCII char is found.\r
+\r
+       * fontset.c (fontset_compare_rfontdef): Fix plus/minus.\r
+       (reorder_font_vector): Change the arg preferred_family to font.\r
+       Prefer the spec matching with font.\r
+       (fontset_get_font_group): New function.\r
+       (fontset_find_font): Change the format of an element of a realized\r
+       fontset.  Use fontset_get_font_group.\r
+       (fontset_font): Try the current fontset, the default fontset, the\r
+       fallbacks of the current fontset, and the fallbacks of the default\r
+       fontset in this order.\r
+       (face_for_char): Delete the shortcut to use the current font.\r
+       (fontset_from_font): Don't set fonts for Latin in the fontset.\r
+\r
+       * font.h (font_make_object, font_match_p): Adjust prototypes.\r
+\r
+       * ftfont.h [FT_BDF_H]: Include FT_BDF_H.\r
+\r
+       * font.c (font_make_object): New arg entity and pixelsize.\r
+       (font_check_otf_features, font_check_otf): New functions.\r
+       (font_match_p): Check :lang, :script, and :otf properties.\r
+\r
+       * xfont.c (xfont_open): Adjust it for the change of\r
+       font_make_object.\r
+       (xfont_text_extents): Fix initial setting of metrics.\r
+\r
+       * ftfont.c (struct ftfont_info): New member index, delete member\r
+       fc_charset_idx.  Make the member order compatible with struct\r
+       xftfont_info.\r
+       (fc_charset_table): Change charset names to registry names.\r
+       (ftfont_pattern_entity): Delete the args registry and\r
+       fc_charset_idx.  Change the value of :font-entity property\r
+       to (FONTNAME . INDEX).  Always set :registry property to\r
+       `iso10646-1'.\r
+       (struct ftfont_cache_data): New struct.\r
+       (ftfont_lookup_cache): New arg for_face.\r
+       (ftfont_get_fc_charset, ftfont_get_otf): New functions.\r
+       (ftfont_driver): Set the member otf_capability.\r
+       (ftfont_get_charset): Adjust it for the change of\r
+       fc_charset_table.\r
+       (OTF_TAG_SYM): New macro.\r
+       (ftfont_spec_pattern): Delete the arg fc_charset_idx.  Adjust it\r
+       for the change of fc_charset_table.\r
+       (ftfont_list): Adjust it for the change of ftfont_spec_pattern and\r
+       ftfont_pattern_entity.  Add FC_INDEX to objset.\r
+       (ftfont_match): Adjust it for the change of ftfont_spec_pattern\r
+       and ftfont_pattern_entity.\r
+       (ftfont_open): Adjust it for the change of ftfont_lookup_cache,\r
+       font_make_object, struct ftfont_info.\r
+       (ftfont_has_char): Use ftfont_get_fc_charset.\r
+       (ftfont_otf_features, ftfont_otf_capability): New functions.\r
+       (ftfont_shape): Use ftfont_get_otf.\r
+       (ftfont_text_extents): Fix initial setting of metrics.\r
+\r
+       * xftfont.c (struct xftfont_info): New member ft_size.  Make the\r
+       member order compatible with struct ftfont_info.\r
+       (xftfont_open): Add FC_CHARSET to the pattern.  Set\r
+       xftfont_info->ft_size.  Don't unlock the face.  Check BDF\r
+       properties if appropriate.\r
+       (xftfont_close): Unlock the face.\r
+       (xftfont_anchor_point, xftfont_shape): Deleted.\r
+       (syms_of_xftfont): Don't set members anchor_point and shape of\r
+       xftfont_driver.\r
+\r
+       * w32uniscribe.c (uniscribe_open): Adjust it for the change of\r
+       font_make_object.\r
+\r
+       * w32font.c (w32font_open): Adjust it for the change of\r
+       font_make_object.\r
+       (w32font_open_internal): Don't set properties of font_object here.\r
+\r
+2008-07-08  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * macfns.c (x_create_tip_frame):\r
+       * w32fns.c (x_create_tip_frame):\r
+       * xfns.c (x_create_tip_frame): Pass parameter argument to\r
+       face-set-after-frame-default.\r
+\r
+       * xfaces.c (Finternal_merge_in_global_face): Save merged\r
+       attributes for the default face back into the face vector.\r
+\r
+2008-07-08  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * fontset.h: Declare fontset_from_font.  Don't declare\r
+       new_fontset_from_font and fontset_from_font_name.\r
+       * xterm.c: Include "fontset.h".\r
+       * Makefile.in (xterm.o): Update dependencies.\r
+\r
+2008-07-08  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * m/sparc.h: Define __sparc__ rather than sparc.  (Bug#507.)\r
+       * alloc.c, ecrt0.c: Use __sparc__ rather than sparc.\r
+\r
+2008-07-07  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * frame.c (Qinhibit_face_set_after_frame_default): Var deleted.\r
+       (x_set_frame_parameters): Don't bind it.\r
+\r
+2008-07-07  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * w32fns.c (map_w32_filename): Declare extern.\r
+\r
+2008-07-07  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32term.c (WS_EX_LAYERED): Define if not already.\r
+\r
+2008-07-06  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xfaces.c (set_font_frame_param): Don't try to set the font\r
+       parameter if it is still unspecified in the lface.\r
+\r
+2008-07-05  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xfaces.c (Finternal_merge_in_global_face): Don't realize default\r
+       face if it didn't already exist.\r
+\r
+       * xdisp.c (try_window_id): Give up if word-wrapping is on.\r
+\r
+2008-07-05  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * xdisp.c (get_it_property): Move out of HAVE_WINDOW_SYSTEM section.\r
+\r
+2008-07-05  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Turn it off if\r
+       word-wrapping.\r
+       (IT_DISPLAYING_WHITESPACE): New macro.\r
+       (move_it_in_display_line_to): Handle MOVE_TO_X requests properly\r
+       when word-wrapping.  Simplify word-wrapping logic.  Use correct\r
+       pixel positions when saving copies of the iterator.\r
+       (display_line): Use proper wrap point if the last character on a\r
+       line was preceded by whitespace.\r
+\r
+2008-07-04  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * Makefile.in (${etc}DOC): Depend on ${lisp} rather than ${shortlisp}.\r
+\r
+2008-07-04  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fns.c (Fstring_to_unibyte): Delete the arg ACCEPT-LATIN-1.\r
+\r
+       * lisp.h: EXFUN adjusted for the change of Fstring_to_unibyte.\r
+\r
+2008-07-02  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * xfns.c (syms_of_xfns): Only define x-select-font when both\r
+       HAVE_FREETYPE and USE_GTK\r
+\r
+       * xdisp.c (next_element_from_display_vector): Move assignment out\r
+       of if statement.\r
+\r
+2008-07-02  Toru Tsuneyoshi  <t_tuneyosi@hotmail.com>\r
+\r
+       * lisp.h (Qdelete_file, Qdelete_directory): Declare extern.\r
+\r
+       * fileio.c (delete_by_moving_to_trash, Qmove_file_to_trash): New vars.\r
+       (syms_of_fileio): Initialize and export them.\r
+       (Fdelete_directory, Fdelete_file): Optionally delete via trash.\r
+\r
+       * w32fns.c (FOF_NO_CONNECTED_ELEMENTS): Define if not already.\r
+       (Fsystem_move_file_to_trash): New function.\r
+       (syms_of_w32fns): Export it to lisp.\r
+\r
+2008-07-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (w32font_text_extents): Don't count overhang as part\r
+       of width.\r
+\r
+2008-06-30  Miles Bader  <miles@gnu.org>\r
+\r
+       * dispextern.h (struct glyph, struct it, struct iterator_stack_entry):\r
+       Add `avoid_cursor_p' field.\r
+\r
+       * xdisp.c (push_it, pop_it): Save/restore avoid_cursor_p field.\r
+       (set_cursor_from_row): Skip glyphs with avoid_cursor_p set.\r
+       (append_glyph, append_composite_glyph, produce_image_glyph)\r
+       (append_stretch_glyph): Initialize avoid_cursor_p.\r
+       (get_it_property): Rename from `get_line_height_property'.\r
+       (x_produce_glyphs): Use get_it_property.\r
+       (handle_line_prefix, push_display_prop): New functions.\r
+       (display_line, move_it_in_display_line_to): Handle line/wrap prefixes.\r
+       (Vwrap_prefix, Qwrap_prefix, Vline_prefix, Qline_prefix):\r
+       New variables.\r
+       (syms_of_xdisp): Initialize them.\r
+\r
+2008-06-30  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xftfont.c (xftfont_open): Don't call FcConfigSubstitute and\r
+       XftDefaultSubstitute (they are called in XftFontMatch).\r
+       (xftfont_open): Fix args to ftfont_font_format.\r
+\r
+       * ftfont.c (fc_charset_table): New member lang.\r
+       (ftfont_resolve_generic_family): New arg pattern.\r
+       (ftfont_spec_pattern): Check fc_cahrset_table[]->lang.\r
+       (ftfont_list): Call ftfont_resolve_generic_family with `pattern'.\r
+       (ftfont_open): Fix args to ftfont_font_format.\r
+       (ftfont_font_format): New arg filename.\r
+\r
+2008-06-30  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xfaces.c (Finternal_merge_in_global_face): If default face was\r
+       modified, realize it again.  Update the font face attribute.\r
+\r
+2008-06-29  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32term.c (x_set_frame_alpha): Fix logic.\r
+\r
+2008-06-29  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fontset.c (Finternal_char_font): Return font-object instead of\r
+       font-name.\r
+\r
+       * composite.c (get_composition_id): Fix the width calculation for TAB.\r
+\r
+2008-06-29  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * indent.c (Fvertical_motion): Properly handle float column arg.\r
+\r
+2008-06-28  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32term.c (pfnGetFontUnicodeRanges): Remove unused function pointer.\r
+       (pfnSetLayeredWindowAttributes): New function pointer.\r
+       (w32_initialize): Initialize it when supported.\r
+       (x_set_frame_alpha): New function.\r
+\r
+       * w32fns.c (Fx_create_frame): Initialize frame parameter `alpha'.\r
+       (w32_frame_parm_handlers): Set alpha handler.\r
+\r
+       * frame.c (x_set_alpha) [HAVE_NTGUI]: Call x_set_frame_alpha.\r
+\r
+2008-06-27  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32fns.c (x_to_w32_font, w32_to_x_font, x_to_w32_weight)\r
+       (w32_to_x_weight, w32_to_all_x_charsets): Remove obsolete functions.\r
+       (w32_to_x_charset, x_to_w32_charset)\r
+       (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)\r
+       (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)\r
+       (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)\r
+       (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)\r
+       (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)\r
+       (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)\r
+       (Qw32_charset_mac, Vw32_charset_info_alist): Move to w32font.c.\r
+       (Qw32_charset_unicode): Remove.\r
+       (syms_of_w32fns): Update for above changes.\r
+\r
+       * w32font.c (w32_to_x_charset, x_to_w32_charset)\r
+       (Qw32_charset_ansi, Qw32_charset_symbol, Qw32_charset_default)\r
+       (Qw32_charset_shiftjis, Qw32_charset_hangeul, Qw32_charset_johab)\r
+       (Qw32_charset_chinesebig5, Qw32_charset_gb2312, Qw32_charset_oem)\r
+       (Qw32_charset_easteurope, Qw32_charset_turkish, Qw32_charset_baltic)\r
+       (Qw32_charset_russian, Qw32_charset_arabic, Qw32_charset_greek)\r
+       (Qw32_charset_hebrew, Qw32_charset_vietnamese, Qw32_charset_thai)\r
+       (Qw32_charset_mac, Vw32_charset_info_alist): Move from w32fns.c.\r
+       (syms_of_w32font): Update for above changes.\r
+\r
+2008-06-27  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * s/usg5-4.h: Fix previous change: keep the correct branch of a\r
+       removed #if.\r
+       (USG_SHARED_LIBRARIES): Remove duplicate definition.\r
+\r
+2008-06-26  Juanma Barranquero  <lekktu@gmail.com>\r
+           Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * makefile.w32-in (LOCAL_FLAGS):\r
+       Don't include WINDOWSNT, DOS_NT and _UCHAR_T.\r
+\r
+       * sysdep.c (_spawnlp, _getpid):\r
+       Declare with explicit _cdecl instead of _CRTAPI1.\r
+\r
+       * editfns.c (Fget_internal_run_time):\r
+       Check for WINDOWSNT with #ifdef, not #if.\r
+\r
+2008-06-26  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.h (FONT_HANDLE, FONT_TEXTMETRIC): New macros.\r
+\r
+       * w32term.c (x_draw_glyph_string_foreground)\r
+       (x_draw_composite_glyph_string_foreground): Sync with xterm.c.\r
+       Use FONT_HANDLE macro.\r
+       (x_draw_glyph_string): Use FONT_TEXTMETRIC macro.\r
+\r
+       * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)\r
+       (uniscribe_encode_char): Use FONT_HANDLE macro.\r
+\r
+       * w32font.c (Fx_select_font): Use FONT_HANDLE macro.\r
+       (w32font_text_extents): Use precast w32_font.\r
+       (w32font_close): Free cached metrics.\r
+       (w32font_open_internal): Allocate space for name on stack.\r
+\r
+2008-06-26  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xdisp.c (extend_face_to_end_of_line): Fix last change.\r
+\r
+2008-06-26  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32term.h (FONT_AVG_WIDTH): Remove obsolete macro.\r
+       (CP_8BIT, CP_UNICODE, CP_UNKNOWN): Remove obsolete constants.\r
+\r
+2008-06-26  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * Makefile.in (SOME_MACHINE_OBJECTS): Remove w32bdf.o.\r
+\r
+2008-06-26  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32bdf.c, w32bdf.h: Remove obsolete files.\r
+\r
+       * makefile.w32-in: Remove refs to w32bdf.h and w32bdf.c.\r
+\r
+       * w32gui.h: Don't include w32bdf.h.\r
+       (XCharStruct, enum w32_char_font_type, W32FontStruct):\r
+       Remove obsolete font support.\r
+\r
+       * w32font.h (struct w32font_info): Remove compat_w32_font.\r
+       Add hfont member.\r
+       (FONT_COMPAT): Remove obsolete macro.\r
+\r
+       * w32font.c (w32font_close): Remove compat code.  Delete hfont member.\r
+       (w32font_encode_char, w32font_text_extents): Use new hfont member.\r
+       (w32font_open_internal): Remove compat code.  Set new hfont member.\r
+       (Fx_select_font): Use new hfont member.\r
+\r
+       * w32uniscribe.c (uniscribe_otf_capability, uniscribe_shape)\r
+       (uniscribe_encode_char): Use new hfont member.\r
+\r
+       * w32term.c (x_draw_glyph_string_foreground)\r
+       (x_draw_composite_glyph_string_foreground): Use new hfont member.\r
+       (x_draw_glyph_string): Use metrics in w32font_info.\r
+\r
+2008-06-26  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xdisp.c (handle_auto_composed_prop): Fix for the terminal case.\r
+\r
+2008-06-26  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * unexnext.c:\r
+       * m/ews4800.h:\r
+       * m/hp9000s300.h:\r
+       * m/ibm370aix.h:\r
+       * m/mips-siemens.h:\r
+       * m/ncr386.h:\r
+       * m/next.h:\r
+       * m/pmax.h:\r
+       * m/powerpcle.h:\r
+       * m/tandem-s2.h:\r
+       * s/386bsd.h:\r
+       * s/bsd386.h:\r
+       * s/bsd4-1.h:\r
+       * s/bsd4-2.h:\r
+       * s/bsdos2-1.h:\r
+       * s/bsdos2.h:\r
+       * s/bsdos3.h:\r
+       * s/bsdos4.h:\r
+       * s/nextstep.h:\r
+       * s/ultrix4-3.h:\r
+       * s/usg5-0.h:\r
+       * s/usg5-2-2.h:\r
+       * s/usg5-2.h:\r
+       * s/usg5-4-3.h:\r
+       * s/ux4800.h:\r
+       * s/uxpds.h:\r
+       * s/uxpv.h: Remove support for obsolete systems.\r
+       * s/hpux.h, s/hpux10.h, s/hpux8.h, s/hpux9.h, s/hpux9shr.h:\r
+       Remove, insert contents in s/hpux-10.20.h.\r
+       * s/aix3-1.h, s/aix3-2-5.h, s/aix3-2.h, s/aix4-1.h, s/aix4.h:\r
+       Remove, insert contents in s/aix4-2.h.\r
+       * s/usg5-3.h: Remove, insert contents in s/usg5-4.h.\r
+       * s/bsd4-3.h: Rename to ...\r
+       * s/bsd-common.h: ... this.\r
+       * data.c:\r
+       * doc.c:\r
+       * ecrt0.c:\r
+       * emacs.c:\r
+       * fileio.c:\r
+       * floatfns.c:\r
+       * keyboard.c:\r
+       * mem-limits.h:\r
+       * print.c:\r
+       * process.c:\r
+       * sysdep.c:\r
+       * syssignal.h:\r
+       * systty.h:\r
+       * syswait.h:\r
+       * term.c:\r
+       * unexec.c:\r
+       * unexelf.c:\r
+       * unexhp9k800.c:\r
+       * m/hp800.h:\r
+       * m/ibmrs6000.h:\r
+       * m/mips.h:\r
+       * m/vax.h:\r
+       * s/darwin.h:\r
+       * s/freebsd.h:\r
+       * s/gnu.h:\r
+       * s/ms-w32.h:\r
+       * s/msdos.h:\r
+       * s/netbsd.h:\r
+       * s/template.h: Remove references to obsolete variables.\r
+\r
+       * Makefile.in: Add dependencies for all unexec files.\r
+       (admindir): Remove unused variable.\r
+       (UNEXEC_SRC): Remove references.\r
+\r
+2008-06-25  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xfns.c (x_default_font_parameter): If Xft is available, first\r
+       try Monospace-12 for the default font.\r
+\r
+2008-06-25  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * xdisp.c (get_glyph_face_and_encoding): Encode invalid glyphs as 0.\r
+\r
+2008-06-25  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * bytecode.c (Fbyte_code): Disable debugging code that doesn't compile.\r
+\r
+       * buffer.c (syms_of_buffer): Remove default-word-wrap.\r
+\r
+2008-06-25  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * xdisp.c (syms_of_xdisp) <truncate-partial-width-windows>: Doc fix.\r
+       <scroll-conservatively>: Fix typo in docstring.\r
+\r
+       * xselect.c (Fx_send_client_event): Doc fix.\r
+\r
+2008-06-25  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xfaces.c (Fx_list_fonts): Call Flist_fonts with the arg PREFER.\r
+\r
+       * font.c (font_parse_fcname): Remove unused variables.\r
+       (font_sort_entites): Delete the arg SPEC.  Caller changed.\r
+       Fix for the case of ! best_only.\r
+       (font_delete_unmatched): Check DPI and AVGWIDTH too.\r
+\r
+       * lisp.h (Fstring_to_unibyte): EXFUN it.\r
+\r
+       * character.h (str_to_unibyte): Extern it.\r
+\r
+       * character.c (str_to_unibyte): New function.\r
+\r
+       * fns.c (Fstring_to_unibyte): New function.\r
+       (syms_of_fns): Defsubr it.\r
+\r
+2008-06-24  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * font.c (font_score): Even if the PIXEL_SIZE is the same, check\r
+       DPI too.\r
+       (font_sort_entites): Setup prefer_prop[FONT_DPI_INDEX] too.\r
+\r
+2008-06-24  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * Makefile.in (${lispsource}loaddefs.el): Rename from\r
+       ../lisp/loaddefs.el.\r
+       (bootstrap-clean): Do what distclean does but don't remove\r
+       Makefile.\r
+       (distclean): Depend on bootstrap-clean and remove Makefile.\r
+\r
+2008-06-24  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * buffer.h (struct buffer): New member word_wrap.\r
+\r
+       * buffer.c (syms_of_buffer): New variables default-word-wrap and\r
+       word-wrap.\r
+       (init_buffer_once): Initialize them.\r
+\r
+       * dispextern.h (struct it): Replace bool truncate_lines_p with a\r
+       line_wrap enum possessing three possible values.\r
+\r
+       * termopts.h: Replace truncate_partial_width_windows with\r
+       Vtruncate_partial_width_windows.\r
+\r
+       * dispnew.c (direct_output_for_insert): Avoid direct output when\r
+       inserting a space with word wrap on.\r
+\r
+       * indent.c (compute_motion): Obey integer values of\r
+       truncate-partial-width-windows.\r
+\r
+       * xdisp.c (Vtruncate_partial_width_windows): New Lisp_Object,\r
+       replacing truncate_partial_width_windows.\r
+       (init_iterator): If Vtruncate_partial_width_windows is an integer,\r
+       truncate only if the window width is below that integer.\r
+       (start_display, resize_mini_window, produce_stretch_glyph)\r
+       (display_string, move_it_in_display_line_to): Use line_wrap.\r
+       (back_to_previous_visible_line_start, reseat_1): Reset\r
+       string_from_display_prop_p.\r
+       (display_line): Extend default face to end of line when wrapping.\r
+\r
+2008-06-24  Kim F. Storm  <storm@cua.dk>\r
+\r
+       * xdisp.c (display_line, move_it_in_display_line_to): Add ability\r
+       to wrap continued lines at word boundaries.\r
+\r
+2008-06-24  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * font.c (Ffont_face_attributes): Multiply pixel size before point\r
+       conversion to avoid multiplying rounding error.\r
+\r
+2008-06-23  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32term.c (x_draw_glyph_string_background)\r
+       (x_draw_glyph_string): Remove old bdf font code.\r
+\r
+       * w32term.h (FONT_TYPE_FOR_UNIBYTE, FONT_TYPE_FOR_MULTIBYTE): Remove.\r
+\r
+2008-06-22  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * font.c (font_find_for_lface): Try the adstyle specified in\r
+       the property of LFACE_FONT of LFACE (if any).\r
+\r
+2008-06-21  Seiji Zenitani  <zenitani@mac.com>\r
+           Ryo Yoshitake  <ryo@shiftmode.net>\r
+\r
+       * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.\r
+\r
+2008-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):\r
+       Use $(BOOTSTRAPEMACS) rather than witness-emacs.\r
+       (bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.\r
+       (witness-emacs): Remove.\r
+       (lisp, shortlisp): Move loaddefs.el earlier.\r
+       (mostlyclean): Forget about witness-emacs.\r
+\r
+2008-06-22  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * Makefile.in (witness-emacs): Depend on temacs${EXEEXT}.\r
+       (.SUFFIXES): Declare .el.elc as a suffix rule, for non-GNU makes.\r
+\r
+2008-06-21  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * Makefile.in (PRECOMP): Remove.\r
+       (${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.\r
+       (witness-emacs): Run `compile-first'.\r
+       (.el.elc): Use the new compile-onefile target.\r
+\r
+2008-06-21  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xftfont.c (xftfont_open): Handle QCembolden only when\r
+       FC_EMBOLDEN is defined.\r
+\r
+2008-06-21  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * Makefile.in (witness-emacs): Use ../lisp, not $(lispsource).\r
+       (.el.elc): Likewise.\r
+\r
+2008-06-21  Miles Bader  <miles@gnu.org>\r
+\r
+       * Makefile.in (../lisp/loaddefs.el): Build autoloads in the lisp\r
+       build dir, not the lisp source dir.\r
+\r
+2008-06-21  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.\r
+       (bootstrapclean): Remove.\r
+       (.el.elc): New rule.\r
+       (PRECOMP): New var.\r
+       (../lisp/subdirs.el): Remove.\r
+       (bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.\r
+       (witness-emacs): New target.\r
+       (mostlyclean): Remove witness-emacs as well.\r
+       (../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):\r
+       Add witness-emacs dependency.\r
+\r
+2008-06-20  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * font.c (Ffont_face_attributes): Omit key-attribute pairs not\r
+       defined by the font.\r
+\r
+2008-06-20  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.\r
+       (bootstrap-clean): New target that keeps TAGS around.\r
+       (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.\r
+       (bootstrap-emacs${EXEEXT}): Depend on subdirs.el.\r
+\r
+2008-06-20  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:\r
+       Remove obsolete font code.\r
+\r
+       * w32font.c (font_matches_spec): Use csb bitfield from font signature\r
+       to determine language support.\r
+\r
+2008-06-20  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * sysdep.c (cfsetspeed): New fun extracted from the code.\r
+       (cfmakeraw): Move before first use.\r
+\r
+2008-06-20  Angelo Graziosi  <angelo.graziosi@alice.it>  (tiny change)\r
+\r
+       * sysdep.c (cfmakeraw): Provide fallback implementation.\r
+       (serial_configure): Provide fallback implementation of cfsetspeed.\r
+\r
+2008-06-20  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xftfont.c (xftfont_open): Add FOUNDRY, SPACING, DPI, SCALABLE to\r
+       the pattern.\r
+\r
+       * fontset.c (fontset_from_font): Copy font_spec before changing\r
+       the elements.\r
+\r
+       * xfns.c (x_default_font_parameter): Try "monospace-12" too.\r
+\r
+2008-06-20  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * w32fns.c, xfns.c (x_default_font_parameter): Only set `font-param'\r
+       for explicit `font' parameters.\r
+\r
+       * frame.c (x_set_font): Remove unexplained call to fix inf-recursion.\r
+\r
+2008-06-19  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * frame.c: Include <ctype.h>.\r
+       (x_set_font_backend): Allow spacing characters in the X resource\r
+       for FontBackend.\r
+\r
+2008-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * w32fns.c, xfns.c (Qfont_param): New var.\r
+       (syms_of_w32fns): Initialize it.\r
+       (x_default_font_parameter): Record explicit `font' into\r
+       `font-parameter'.\r
+\r
+2008-06-18  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * font.c (font_parse_xlfd): Fix previous change.\r
+       (font_parse_fcname): Don't use :fc-unknown-spec.\r
+       (FRAME_X_DISPLAY_INFO): Be sure to have at least 1 pixel height.\r
+       (Fcopy_font_spec): Preserve the order of elements in FONT_EXTRA.\r
+       (font_add_log): Prepend the driver name to the resulting fonts.\r
+\r
+       * ftfont.c (ftfont_pattern_entity): New arg extra.  Caller changed.\r
+       (ftfont_spec_pattern): Don't check QCfc_unknown_spec and QCname.\r
+       (ftfont_list) [FC_FONTFORMAT]: Include FC_FONTFORMAT in objset.\r
+\r
+       * xftfont.c (QChinting , QCautohint, QChintstyle, QCrgba)\r
+       (QCembolden): New variables.\r
+       (syms_of_xftfont): DEFSYM them.\r
+       (xftfont_open): Call XftFontMatch.  Don't trust the result of\r
+       XftTextExtents8 if the pixel_size is less than 5.\r
+\r
+2008-06-18  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * font.c (Ffont_face_attributes): Only define if HAVE_WINDOW_SYSTEM.\r
+       (syms_of_font): Only defsubr if HAVE_WINDOW_SYSTEM.\r
+\r
+2008-06-18  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (w32font_list, w32font_match): Add logging.\r
+\r
+       * w32uniscribe.c (uniscribe_list, uniscribe_match): Add logging.\r
+\r
+2008-06-17  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * font.c (font_parse_fcname): Store divider characters for\r
+       unknown-spec list.  For known key symbols, intern using correct\r
+       symbol name.\r
+\r
+2008-06-17  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xfaces.c (realize_default_face): If the frame is not on window\r
+       system, set the fontset of face to nil.\r
+\r
+2008-06-17  Naohiro Aota  <nao.aota@gmail.com>  (tiny change)\r
+\r
+       * fontset.c (fontset_pattern_regexp): Escape some reg-expr characters.\r
+\r
+2008-06-16  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * dispextern.h (lookup_non_ascii_face, split_font_name_into_vector)\r
+       (build_font_name_from_vector): Delete externs.\r
+\r
+       * xfaces.c (struct font_name): Don't declare.\r
+\r
+2008-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * font.c (font_unparse_gtkname): Use EQ to compare Lisp_Objects.\r
+\r
+2008-06-16  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * font.c (font_parse_fcname): Fix handling of unknown-spec string.\r
+\r
+2008-06-16  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * font.c (Ffont_spec): Fix usage in docstring.\r
+       (Ffont_face_attributes): Doc fix.\r
+\r
+2008-06-16  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * font.c (Ffont_face_attributes): Fix definition.\r
+\r
+2008-06-16  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * font.h (font_style_symbolic_from_value): Remove.\r
+\r
+       * font.c (font_style_symbolic_from_value): Remove.\r
+       (font_style_symbolic): Revert to pre 2008-06-13 version.\r
+\r
+       * w32font.c (w32_to_fc_weight): New function.\r
+       (w32font_full_name, logfont_to_fcname): Use it.\r
+\r
+2008-06-16  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * font.c (font_check_object): Delete it.\r
+       (font_clear_cache): Check if a font-object is alive.\r
+       (font_open_entity): Likewise.  Set FONT_OBJLST_INDEX of a\r
+       font-object to nil.\r
+       (font_close_object): Don't check FONT_CLOSE_OBJECT.\r
+       (font_at): Don't call font_check_object.\r
+       (Ffont_get): Return a symbol for :weight, :slant, and :width.\r
+\r
+2008-06-16  Katsumi Yamaoka  <yamaoka@jpl.org>\r
+\r
+       * puresize.h (BASE_PURESIZE): Increase to 1230000.\r
+\r
+2008-06-16  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * font.c (font_parse_fcname): Correctly parse KEY=VAL values.\r
+\r
+2008-06-15  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * font.c (font_parse_fcname): Only one decimal point.\r
+       (font_unparse_fcname): Handle data in family and foundry indices\r
+       as symbols, not strings.\r
+       (font_unparse_gtkname, Ffont_face_attributes): New functions.\r
+\r
+       * xfns.c (Fx_select_font): Give GTK font dialog the default font name.\r
+\r
+       * font.h (font_unparse_gtkname): Add prototype.\r
+\r
+2008-06-15  Naohiro Aota  <nao.aota@gmail.com>  (tiny change)\r
+\r
+       * fontset.c (fontset_pattern_regexp): Escape `+' characters in pattern.\r
+\r
+2008-06-15  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * font.c (font_update_drivers): Fix crash when no drivers match.\r
+\r
+2008-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * xfns.c (Fx_create_frame): internal-border-width default to 0 for Gtk.\r
+       * gtkutil.c (xg_create_frame_widgets): Don't set internal_border_width.\r
+\r
+2008-06-14  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * xdisp.c (syms_of_xdisp): Default underline-minimum-offset to 1.\r
+\r
+2008-06-13  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * process.c (Fserial_process_configure, Fprocess_send_eof):\r
+       Use EQ to compare Lisp_Objects.\r
+\r
+2008-06-13  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32fns.c (Fw32_select_font): Remove old font API function.\r
+\r
+       * w32font.c (logfont_to_fcname): New function.\r
+       (Fx_select_font): New font dialog function compatible with\r
+       GTK/fontconfig version.\r
+\r
+       * font.c (font_style_symbolic_from_value): New function.\r
+       (font_style_symbolic): Use it.\r
+\r
+       * font.h (font_style_symbolic_from_value): Declare new function.\r
+\r
+2008-06-13  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * font.c (syms_of_font) <font-weight-table, font-slant-table>:\r
+       <font-width-table>: Fix typos in docstrings.\r
+\r
+2008-06-13  Daniel Engeler  <engeler@gmail.com>\r
+\r
+       These changes add serial port access.\r
+       * process.c: Add HAVE_SERIAL.\r
+       (Fdelete_process, Fprocess_status, Fset_process_buffer)\r
+       (Fset_process_filter, Fset_process_sentinel, Fprocess_contact)\r
+       (list_processes_1, select_wrapper, Fstop_process)\r
+       (Fcontinue_process, Fprocess_send_eof, kill_buffer_processes)\r
+       (status_notify): Modify to handle serial processes.\r
+       [HAVE_SERIAL] (Fserial_process_configure)\r
+       [HAVE_SERIAL] (make_serial_process_unwind, Fmake_serial_process):\r
+       New functions.\r
+       * process.h (struct Lisp_Process): Add `type'.\r
+       * sysdep.c [HAVE_TERMIOS] (serial_open, serial_configure):\r
+       New functions.\r
+       * w32.c (_sys_read_ahead, sys_read, sys_write): Modify to handle\r
+       serial ports.\r
+       (serial_open, serial_configure) New functions.\r
+       * w32.h: Add FILE_SERIAL.\r
+       (struct _child_process): Add ovl_read, ovl_write.\r
+\r
+2008-06-13  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * dispextern.h (enum lface_attribute_index): New member\r
+       LFACE_FOUNDRY_INDEX.\r
+\r
+       * font.c (font_score): Delete arg alternate_families.  Check only\r
+       weight, slant, width, and size.  Ignore the difference of alias\r
+       style symbols.\r
+       (font_sort_entites): Adjust for the above change.  Reflect the\r
+       order of font-driver to scores.\r
+       (font_list_entities): Don't check alternate_familes here.\r
+       (font_clear_prop): Handle foundry.\r
+       (font_update_lface): Don't parse "foundry-family" form here.\r
+       Handle FONT_FOUNDRY_INDEX.\r
+       (font_find_for_lface): Likewise.  Handle alternate families here.\r
+       If registry is nil, try iso8859-1 and ascii-0.\r
+       (font_open_for_lface): Pay attention to size in ENTITY.\r
+       (font_open_by_name): Simplify by calling font_load_for_lface.\r
+       (free_font_driver_list): Delete it.\r
+       (font_update_drivers): Preserve the order of backends.\r
+       (syms_of_font): Setting of sort_shift_bits adjusted for the change\r
+       of font_score and font_sort_entites.\r
+       (font_update_sort_order): Likewise.\r
+\r
+       * xfaces.c (LFACE_FOUNDRY): New macro.\r
+       (check_lface_attrs): Check foundry.\r
+       (set_lface_from_font): Don't parse "FOUNDRY-FAMILY" form.\r
+       (merge_face_vectors): Check foundry.\r
+       (merge_face_ref): Likewise.\r
+       (Finternal_set_lisp_face_attribute): Likewise.\r
+       (x_update_menu_appearance): Likewise.\r
+       (Finternal_get_lisp_face_attribute): Likewise.\r
+       (lface_hash): Likewise.\r
+       (lface_same_font_attributes_p): Likewise.\r
+       (x_supports_face_attributes_p): Likewise.\r
+       (tty_supports_face_attributes_p): Likewise.\r
+       (Finternal_set_alternative_font_family_alist): Intern strings.\r
+       (Finternal_set_alternative_font_registry_alist): Downcase strings.\r
+       (realize_default_face): Set LFACE_FOUNDRY (lface).\r
+\r
+       * xfns.c (Fx_create_frame, x_create_tip_frame): Register X\r
+       font-driver at first.\r
+\r
+       * ftfont.c (ftfont_font_format) [! FC_FONTFORMAT]: Declare "int len;".\r
+\r
+2008-06-12  Emanuele Giaquinta  <emanuele.giaquinta@gmail.com>  (tiny change)\r
+\r
+       * lread.c (Fload): Use xfree, not free on saved_doc_string.\r
+\r
+2008-06-12  Jim Meyering  <meyering@redhat.com>\r
+\r
+       Make unexec_free handle NULL the same way free does.\r
+       * unexmacosx.c (unexec_free): Ignore a NULL argument.\r
+\r
+2008-06-12  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * character.h (CHAR_TO_BYTE_SAFE): New macro.\r
+       * character.c (Fmultibyte_char_to_unibyte): Obey the docstring.\r
+       * regex.c (RE_CHAR_TO_UNIBYTE): Use the new macro.\r
+       (WEAK_ALIAS): Simplify.\r
+       * syntax.c (skip_chars): Don't mark non-byte chars in the fastmap\r
+       when searching a unibyte buffer.\r
+\r
+2008-06-12  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xfns.c (Fx_select_font): Rename from x-font-dialog.\r
+\r
+2008-06-12  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * w32font.c: Include ctype.h.\r
+\r
+2008-06-11  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (w32font_encode_char): Detect missing glyphs that are\r
+       misreported as space.\r
+       (add_font_entity_to_list): Support unicode-bmp and unicode-sip\r
+       as aliases for registry iso10646-1.\r
+\r
+2008-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * buffer.c (clone_per_buffer_values): Skip `name'.\r
+\r
+2008-06-11  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * font.c (font_parse_fcname): Fix last change; accept decimal\r
+       points in font size.\r
+\r
+2008-06-10  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32uniscribe.c (add_opentype_font_name_to_list):\r
+       Skip non unicode fonts.\r
+\r
+2008-06-10  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xfns.c (Fx_font_dialog): New function.\r
+\r
+       * gtkutil.c (xg_dialog_response_cb): Rename from\r
+       xg_file_response_callback.\r
+       (pop_down_dialog): Rename from pop_down_file_dialog.\r
+       (xg_get_file_name): Callers changed.\r
+       (xg_get_font_name): New function.\r
+\r
+       * gtkutil.h (xg_get_font_name): Insert prototype.\r
+\r
+2008-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * xdisp.c (underline_minimum_offset): Rename from xterm.c's\r
+       x_underline_minimum_display_offset.\r
+       (syms_of_xdisp): Declare it here rather than in xterm.c.\r
+       * dispextern.h (underline_minimum_offset): Declare it.\r
+       * w32term.c (x_draw_glyph_string): Use it.\r
+       * xterm.c (x_underline_minimum_display_offset): Move to xdisp.c.\r
+       (syms_of_xterm): Don't declare it any more.\r
+       (x_draw_glyph_string): Adjust to the new name.\r
+\r
+2008-06-10  David De La Harpe Golden  <david@harpegolden.net>  (tiny change)\r
+\r
+       * xterm.c (x_underline_minimum_display_offset): New var.\r
+       (x_draw_glyph_string): Use it.\r
+       (syms_of_xterm): Declare it.\r
+\r
+2008-06-10  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * font.c (font_parse_fcname): Accept GTK-style font names too.\r
+\r
+2008-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * dired.c (file_name_completion): Don't return t if the match is exact\r
+       but with different capitalization.\r
+       * minibuf.c (Ftry_completion): Simplify.\r
+\r
+       * window.c (Vwindow_point_insertion_type): New var.\r
+       (set_window_buffer): Use it.\r
+       (syms_of_window): Init and export it to Lisp.\r
+\r
+2008-06-10  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * font.h (font_intern_prop): Prototype adjusted.\r
+\r
+       * font.c (font_intern_prop): New arg force_symbol.\r
+       (font_parse_xlfd, font_parse_fcname, font_parse_family_registry):\r
+       Adjust for the change of font_intern_prop.\r
+\r
+       * ftfont.c (ftfont_pattern_entity):\r
+       * w32font.c (add_font_name_to_list, w32_enumfont_pattern_entity)\r
+       (w32_registry):\r
+       * w32uniscribe.c (add_opentype_font_name_to_list): Adjust for\r
+       the change of font_intern_prop.\r
+\r
+2008-06-09  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * w32menu.c (digest_single_submenu): Declare extern.\r
+\r
+2008-06-09  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32term.c (x_make_frame_visible): Use alternate restore flags.\r
+\r
+       * w32menu.c (Fx_popup_menu): Unwind protect while building menu.\r
+       (parse_single_submenu): Remove.\r
+       (digest_single_submenu): Remove.\r
+       (syms_of_w32menu): Don't initialise variables that have moved\r
+       to menu.c.\r
+       (set_frame_menubar): Sync with version in xmenu.c.\r
+       (w32_menu_show): Sync with xmenu_show in xmenu.c.\r
+\r
+       * menu.c (single_keymap_panes, push_menu_pane, push_menu_item):\r
+       Make static again.\r
+\r
+2008-06-09  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       Changes to w32 files related to the move of common menu code\r
+       to menu.c on 2008-06-08 by Chong Yidong.\r
+\r
+       * menu.c [HAVE_NTGUI]: Include w32term.h, move widget related\r
+       defs to w32gui.h.\r
+       (single_keymap_panes, push_menu_item, push_menu_pane):\r
+       Make globally visible.\r
+\r
+       * w32menu.c (enum button_type, widget_value, local_heap, local_alloc)\r
+       (local_free, malloc_widget_value, free_widget_value)\r
+       (MENU_ITEMS_ITEM_NAME, MENU_ITEMS_ITEM_ENABLE, MENU_ITEMS_ITEM_VALUE)\r
+       (MENU_ITEMS_ITEM_EQUIV_KEY, MENU_ITEMS_ITEM_DEFINITION)\r
+       (MENU_ITEMS_ITEM_TYPE, MENU_ITEMS_ITEM_SELECTED, MENU_ITEMS_ITEM_HELP)\r
+       (MENU_ITEMS_ITEM_LENGTH, enum menu_item_idx): Remove defs.\r
+       (menu_items, menu_items_allocated, menu_items_used)\r
+       (menu_items_n_panes, menu_items_submenu_depth): Remove global vars.\r
+       (init_menu_items, finish_menu_items, discard_menu_items)\r
+       (grow_menu_items, push_submenu_start, push_submenu_end)\r
+       (push_left_right_boundary, push_menu_pane, push_menu_item)\r
+       (keymap_panes, single_keymap_panes, list_of_panes, list_of_items)\r
+       (free_menubar_widget_tree_value, parse_single_submenu)\r
+       (update_submenu_strings): Remove functions.\r
+       (xmalloc_widget_value): Remove and declare extern.\r
+\r
+       * makefile.w32-in ($(SRC)/menu.$(O)): New target.\r
+       (OBJ1): Build it.\r
+\r
+       * w32gui.h (widget_value, XtPointer, Boolean, enum button_type)\r
+       (local_heap, local_alloc, local_free, malloc_widget_value)\r
+       (free_widget_value): Define here.\r
+\r
+2008-06-09  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * font.h (Qascii_0): Extern it.\r
+\r
+       * font.c (Qascii_0): New variable.\r
+       (syms_of_font): DEFSYM it.\r
+       (font_open_by_name): If the registry "iso8859-1" fails, try also\r
+       "ascii-0".\r
+\r
+       * ftfont.c (ftfont_spec_pattern): Accept the registry `ascii-0'.\r
+\r
+2008-06-08  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * .gdbinit (xfont): New command.\r
+\r
+2008-06-08  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * menu.c [HAVE_X_WINDOWS]: Include "xterm.h".\r
+       * Makefile.in (menu.o): Update dependencies.\r
+\r
+       * Makefile.in (obj): Always add menu.o.\r
+       * emacs.c (main): Always call syms_of_menu.\r
+       * keyboard.h: Remove extra #ifdef HAVE_X_WINDOW.\r
+\r
+2008-06-08  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * Makefile.in: Compile menu.c.\r
+\r
+       * lisp.h: Declare syms_of_menu.\r
+\r
+       * emacs.c (main): Call syms_of_menu.\r
+\r
+       * keyboard.h: Relocate platform-independent menu definitions from\r
+       xmenu.c.\r
+\r
+       * menu.c: New file.  Relocate platform-independent menu\r
+       definitions from xmenu.c.  Suggested by Adrian Robert.\r
+\r
+       * xmenu.c: Remove platform-independent menu definitions.\r
+       (menu_items menu_items_inuse, menu_items_allocated)\r
+       (menu_items_used, menu_items_n_panes)\r
+       (menu_items_submenu_depth): Move to keyboard.h.\r
+       (init_menu_items, finish_menu_items, unuse_menu_items)\r
+       (discard_menu_items, restore_menu_items, save_menu_items)\r
+       (grow_menu_items, push_submenu_start, push_submenu_end)\r
+       (push_left_right_boundary, push_menu_pane, push_menu_item)\r
+       (keymap_panes, single_keymap_panes, single_menu_item)\r
+       (list_of_panes, list_of_items, find_and_call_menu_selection)\r
+       (xmalloc_widget_value, free_menubar_widget_value_tree)\r
+       (parse_single_submenu, digest_single_submenu)\r
+       (update_submenu_strings): Move to menu.c.\r
+\r
+2008-06-07  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * dispnew.c (Flast_nonminibuf_frame): Handle the NULL case.\r
+\r
+2008-06-06  Miles Bader  <miles@gnu.org>\r
+\r
+       * xdisp.c (x_produce_glyphs): Calculate tab width based on current\r
+       face, not frame default.\r
+\r
+2008-06-05  Martin Rudalics  <rudalics@gmx.at>\r
+\r
+       * window.c (pop_up_windows, pop_up_frames)\r
+       (display_buffer_reuse_frames, Vpop_up_frame_function)\r
+       (Vdisplay_buffer_function, Veven_window_heights)\r
+       (Vspecial_display_buffer_names, Vspecial_display_regexps)\r
+       (Vspecial_display_function, Vsame_window_buffer_names)\r
+       (Vsame_window_regexps, split_height_threshold)\r
+       (Vsplit_window_preferred_function): Move those vars to window.el.\r
+       (display_buffer_1, Fspecial_display_p, Fsame_window_p)\r
+       (Fdisplay_buffer): Move those functions to window.el.\r
+       (syms_of_window): Remove corresponding declarations.\r
+       (display_buffer): New function.\r
+       (temp_output_buffer_show, Fother_window_for_scrolling): Use it.\r
+       * dispnew.c (Flast_nonminibuf_frame): New function.\r
+       * buffer.c (Fpop_to_buffer): Move to window.el.\r
+\r
+2008-06-05  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * data.c (set_internal): Fix up call to let_shadows_buffer_binding_p.\r
+\r
+2008-06-05  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (detect_coding): Fix previous change.\r
+       (detect_coding_system): Likewise.\r
+\r
+2008-06-05  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * character.h (MAKE_CHAR_MULTIBYTE): Check the arg is a (uni)byte.\r
+\r
+       * keymap.c (Vminibuffer_local_filename_must_match_map):\r
+       Rename from Vminibuffer_local_must_match_filename_map.\r
+       (syms_of_keymap):\r
+       * minibuf.c (Fcompleting_read): Adjust accordingly.\r
+       * commands.h: Rename declaration as well.\r
+\r
+2008-06-05  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * font.c (Ffont_spec): Don't use font_parse_family_registry for\r
+       family name.\r
+       (Ffont_put): Likewise.\r
+\r
+       * fontset.c (fontset_find_font): Call font_open_for_lface with the\r
+       current font-spec.\r
+\r
+       * xfont.c (xfont_list): Don't set registry to iso8859-1 even if it\r
+       is unspecified.\r
+\r
+       * xfaces.c (realize_x_face): If the font-related face attributes\r
+       are the same as those of default face, realize a new fontset from\r
+       default->fontset.\r
+       (Fx_family_fonts): Use font_parse_family_registry instead of Ffont_put.\r
+\r
+2008-06-05  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * xdisp.c (move_it_in_display_line_to): Improve the type of its args.\r
+       (move_it_in_display_line): New wrapper.\r
+\r
+       * window.c (window_scroll_pixel_based_preserve_x)\r
+       (window_scroll_preserve_hpos, window_scroll_preserve_vpos): New vars.\r
+       (window_scroll_pixel_based, window_scroll_line_based):\r
+       Use them to preserve column positions.\r
+       (syms_of_window): Initialize them.\r
+\r
+       * indent.c (Fvertical_motion): Extend first arg to allow passing an\r
+       (HPOS . VPOS) pair.\r
+\r
+       * dispextern.h (move_it_in_display_line): Declare.\r
+\r
+2008-06-05  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * window.c (Fwindow_parameter): Return VALUE, not (PARAMETER . VALUE).\r
+       (Fwindow_parameters): Return copy of parameter alist.  Doc fix.\r
+       (Fset_window_parameter): Return VALUE, not parameter alist.  Doc fix.\r
+\r
+2008-06-04  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * window.c (Fset_window_parameter): Doc fix.\r
+       (Fwindow_parameters, Fwindow_parameter): Remove redundant check.\r
+\r
+2008-06-04  Joakim Verona  <joakim@verona.se>\r
+\r
+       * window.h (struct window): Add new member window_parameters.\r
+\r
+       * window.c (Fwindow_parameters, Fwindow_parameter)\r
+       (Fset_window_parameter): New defuns.\r
+       (syms_of_window): Defsubr the new defuns.\r
+       (make_window): Initialize window_parameters to nil.\r
+\r
+2008-06-04  John Paul Wallington  <jpw@pobox.com>\r
+\r
+       * eval.c (Fdefmacro): Doc fix.\r
+\r
+2008-06-04  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (detect_coding): Fix handling of coding->head_ascii.\r
+       Be sure to call setup_coding_system when we find a proper coding system.\r
+       (detect_coding_system): Fix handling of coding->head_ascii.\r
+\r
+2008-06-03  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * font.c (font_prop_validate_spacing): Fix last change.\r
+\r
+2008-06-03  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * font.c (font_prop_validate_spacing): Handle uppercase symbols.\r
+       (font_parse_fcname): Fix handling of unknown key.\r
+\r
+       * xfont.c (xfont_list): Try an alias.\r
+\r
+       * charset.c (char_charset): Return NULL if the arg charset_list is\r
+       specified and C doesn't belong to any of them.\r
+\r
+2008-06-02  Chip Coldwell  <coldwell@redhat.com>\r
+\r
+       * font.c (font_pixel_size): Don't take cdr of an integer.\r
+\r
+2008-06-02  Jim Meyering  <meyering@redhat.com>\r
+\r
+       Make "xfree (NULL)" a no-op; remove useless if-before-xfree.\r
+       * alloc.c (xfree): Return right away for a NULL arg.\r
+       * lread.c (nosuffix): Remove now-useless if-before-xfree tests.\r
+       * gtkutil.c (xg_gtk_scroll_destroy): Likewise.\r
+       * mac.c (create_apple_event_from_event_ref): Likewise.\r
+       (create_apple_event_from_drag_ref, cfstring_create_normalized):\r
+       Likewise.\r
+       * doprnt.c (doprnt1): Likewise.\r
+       * frame.c (frame): Likewise.\r
+       * keyboard.c (wipe_kboard): Likewise.\r
+       * macterm.c (x_free_frame_resources, xlfdpat_destroy, XFreePixmap)\r
+       (init_font_name_table, mac_unload_font, x_delete_display): Likewise.\r
+       * term.c (tty_default_color_capabilities, maybe_fatal)\r
+       (delete_tty): Likewise.\r
+       * w16select.c (string): Likewise.\r
+       * w32.c (w32_get_resource, SET_ENV_BUF_SIZE): Likewise.\r
+       * w32bdf.c (w32_free_bdf_font): Likewise.\r
+       * w32fns.c (w32_unload_font): Likewise.\r
+       * w32font.c (w32font_close): Likewise.\r
+       * window.c (size_window): Likewise.\r
+       * xselect.c (receive_incremental_selection): Likewise.\r
+       * xterm.c (x_free_frame_resources, x_delete_display): Likewise.\r
+       * mactoolbox.c (create_apple_event_from_drag_ref): Likewise.\r
+       * w32.c (stat): Likewise.\r
+\r
+       Remove useless if-before-free tests.\r
+       * editfns.c (Fset_time_zone_rule): Likewise.\r
+       * lread.c (nosuffix): Likewise.\r
+       * ralloc.c (get_bloc): Likewise.\r
+       * regex.c (reg_free): Likewise.\r
+       * xftfont.c (xftfont_open, xftfont_close): Likewise.\r
+       * xrdb.c (get_user_app, get_environ_db, x_load_resources): Likewise.\r
+       * xsmfns.c (smc_save_yourself_CB): Likewise.\r
+\r
+2008-06-02  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * font.c (font_find_for_lface): Handle float font size.\r
+       (font_open_for_lface): Likewise.\r
+\r
+       * xfaces.c (x_supports_face_attributes_p): Check face->font before\r
+       comparing the properties.\r
+\r
+2008-06-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (w32_enumfont_pattern_entity): Use requested registry.\r
+       Treat iso10646-1 and Windows DEFAULT_CHARSET specially.\r
+       Duplicate iso8859-1 fonts as iso10646-1 if no registry specified.\r
+       Don't add empty script list.\r
+       (w32_registry): Only map DEFAULT_CHARSET to iso10646-1 here.\r
+\r
+2008-06-01  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * Makefile.in (dot, dotdot): Remove, update users.\r
+       ".." has been used elsewhere in the file for a long time.\r
+       (LIBXT_STATIC): Remove conditional based on unused variable.\r
+\r
+2008-06-01  Miles Bader  <miles@gnu.org>\r
+\r
+       * xfaces.c (Vface_remapping_alist): New variable.\r
+       (syms_of_xfaces): Initialize it.\r
+       (enum named_merge_point_kind): New type.\r
+       (struct named_merge_point): Add `named_merge_point_kind' field.\r
+       (push_named_merge_point): Make cycle detection respect different\r
+       named-merge-point kinds.\r
+       (lface_from_face_name_no_resolve): Rename from `lface_from_face_name'.\r
+       Remove face-name alias resolution.\r
+       (lface_from_face_name): New definition using\r
+       `lface_from_face_name_no_resolve'.\r
+       (get_lface_attributes_no_remap): Rename from `get_lface_attributes'.\r
+       Call lface_from_face_name_no_resolve instead of lface_from_face_name.\r
+       (get_lface_attributes): New definition that layers face-remapping on\r
+       top of get_lface_attributes_no_remap.  New arg `named_merge_points'.\r
+       (lookup_basic_face): New function.\r
+       (lookup_derived_face): Pass new last arg to `get_lface_attributes'.\r
+       (realize_named_face): Call `get_lface_attributes_no_remap' instead of\r
+       `get_lface_attributes'.\r
+       (face_at_buffer_position): Use `lookup_basic_face' to lookup\r
+       DEFAULT_FACE_ID if necessary.  When optimizing the default-face case,\r
+       return default_face's face-id instead of the constant DEFAULT_FACE_ID.\r
+\r
+       * xdisp.c (init_iterator): Pass base_face_id through\r
+       `lookup_basic_face' when we actually use it as a face-id.\r
+       (handle_single_display_prop): Use `lookup_basic_face' to lookup\r
+       DEFAULT_FACE_ID.\r
+\r
+       * fontset.c (Finternal_char_font): Use `lookup_basic_face' to\r
+       lookup the initial face-id.\r
+\r
+       * dispextern.h (lookup_basic_face, Vface_remapping_alist): New decls.\r
+\r
+2008-06-01  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * textprop.c (syms_of_textprop) <text-property-default-nonsticky>:\r
+       (Fremove_text_properties): Fix typos in docstrings.\r
+\r
+2008-05-31  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * font.c (font_list_entities): Fix the car part of data to be\r
+       stored in the cache.\r
+\r
+       * ftfont.c (ftfont_font_format): Don't use strcasestr.\r
+\r
+2008-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * chartab.c (Foptimize_char_table, optimize_sub_char_table):\r
+       Add a `test' argument so another predicate than `equal' can be used.\r
+       (map_sub_char_table): Use `eq' rather than `equal' to merge ranges.\r
+       (map_char_table): Remove unused vars `c' and `i'.\r
+       * lisp.h (Foptimize_char_table): Adjust declaration.\r
+       * charset.c (Fclear_charset_maps): Adjust call to Foptimize_char_table.\r
+\r
+2008-05-30  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * font.c (Ffont_info): Define only if HAVE_WINDOW_SYSTEM is defined.\r
+       (syms_of_font): Defsubr Sfont_info only if HAVE_WINDOW_SYSTEM is\r
+       defined.\r
+\r
+2008-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * data.c (Fmake_variable_buffer_local, Fmake_local_variable)\r
+       (Fmake_variable_frame_local): Disallow mixing buffer-local and\r
+       frame-local settings for the same variable.\r
+\r
+2008-05-30  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fontset.c (Ffont_info): Move to font.c.\r
+       (syms_of_fontset): Delete defsubr of Sfont_info.\r
+\r
+       * font.c (font_style_to_value, font_score): Delete casting of the\r
+       args to xstcasecmp.\r
+       (register_font_driver): Increment num_font_drivers only when\r
+       registering the driver globally.\r
+       (Ffont_info): Move from fontset.c.  Handle a font object too.\r
+       (syms_of_font): Defsubr Sfont_info.\r
+\r
+2008-05-29  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.h (enum define_coding_utf8_arg_index): New enum.\r
+       (enum coding_attr_index): Change coding_attr_utf_16_bom to\r
+       coding_attr_utf_bom.\r
+       (enum utf_bom_type): Rename from utf_16_bom_type.\r
+       (struct utf_16_spec): Adjust for the above change.\r
+       (struct coding_system): Add utf_8_bom in `spec' union.\r
+\r
+       * coding.c (CODING_UTF_8_BOM): New macro.\r
+       (enum coding_category): Delete coding_category_utf_8, add\r
+       coding_category_utf_8_auto, coding_category_utf_8_nosig, and\r
+       coding_category_utf_8_sig.\r
+       (CATEGORY_MASK_UTF_8): Delete it.\r
+       (CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG)\r
+       (CATEGORY_MASK_UTF_8_SIG): New macros.\r
+       (CATEGORY_MASK_ANY): Delete CATEGORY_MASK_UTF_8, add\r
+       CATEGORY_MASK_UTF_8_AUTO, CATEGORY_MASK_UTF_8_NOSIG, and\r
+       CATEGORY_MASK_UTF_8_SIG.\r
+       (CATEGORY_MASK_UTF_8): New macro.\r
+       (UTF_BOM, UTF_8_BOM_1, UTF_8_BOM_2, UTF_8_BOM_3): New macros.\r
+       (detect_coding_utf_8): Check BOM.\r
+       (decode_coding_utf_8, encode_coding_utf_8): Handle BOM.\r
+       (decode_coding_utf_16): Adjust for the change of enum utf_bom_type.\r
+       (encode_coding_utf_16): Likewise.\r
+       (setup_coding_system): Likewise.  Set CODING_UTF_8_BOM (coding).\r
+       (detect_coding, detect_coding_system): Handle utf-8-auto.\r
+       (Fdefine_coding_system_internal): Handle `bom' property for utf-8.\r
+       (syms_of_coding): Fix setting up of Vcoding_category_table.\r
+\r
+2008-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * process.c (Faccept_process_output): If `millisec' is non-nil,\r
+       `seconds' default to 0.\r
+       (wait_reading_process_output): Also return non-nil if we read output\r
+       from a non-running process.\r
+\r
+2008-05-29  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (w32font_open_internal): Prefer truetype fonts unless\r
+       `raster' specified.\r
+       (add_font_entity_to_list): Allow non-opentype truetype fonts back\r
+       in the uniscribe backend, but disallow any font that has no\r
+       unicode subrange support.\r
+\r
+2008-05-29  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * xfaces.c (Fx_list_fonts, Finternal_copy_lisp_face):\r
+       Fix typos in docstrings.\r
+\r
+2008-05-29  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xfaces.c (Fx_list_fonts): Make it return a list of font names.\r
+       (Fx_family_fonts): Set frame correctly.\r
+\r
+2008-05-28  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32term.c (x_draw_glyph_string): Use clipmask if specified.\r
+\r
+2008-05-28  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * fileio.c (Fwrite_region): Delay the defaulting to beg&z to after\r
+       calling build_annotations.\r
+\r
+2008-05-28  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * coding.c (Fdecode_coding_region, Fencode_coding_region)\r
+       (Fencode_coding_string):\r
+       (syms_of_coding) <coding-system-for-read, coding-system-for-write>:\r
+       <latin-extra-code-table>: Fix typos in docstrings.\r
+       (syms_of_coding) <coding-system-alist>: Doc fix.\r
+       (syms_of_coding) <translation-table-for-input>: Reflow docstring.\r
+\r
+2008-05-28  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fontset.c (Ffont_info): Don't call font_close_object.\r
+\r
+       * font.c (font_parse_family_registry): Use Ffont_put to validate\r
+       foundry and family.\r
+       (font_delete_unmatched): Don't check spacing.\r
+       (font_list_entities): Add spacing to the spec to list fonts.\r
+\r
+       * ftfont.c (ftfont_spec_pattern): Don't set FC_SPACING to pattern.\r
+       (ftfont_list): Check spacing here.  Don't include FC_CHARSET in objset.\r
+\r
+       * coding.c (encode_coding_raw_text): Fix previous change.\r
+       (encode_coding_object): When the dst_object is a buffer and is\r
+       different from src_object, move gap to PT.\r
+\r
+2008-05-27  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xterm.c (x_draw_glyph_string): If a clipmask is specified, use it.\r
+\r
+2008-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * coding.c (encode_coding_raw_text): Set coding->produced_char for\r
+       all branches.  Compute it differently.\r
+\r
+       * xdisp.c [!HAVE_WINDOW_SYSTEM]: Include font.h for --without-x.\r
+\r
+2008-05-27  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * w32font.c (compute_metrics): Rewrite an "else { if () ... else ... }"\r
+       into "else if () ... else ...".\r
+\r
+2008-05-27  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (w32font_open_internal): Determine if glyph indices\r
+       are likely to work here.\r
+\r
+2008-05-27  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xdisp.c (draw_glyphs): If mouse-highlighting is on, attempt to\r
+       draw overlap glyphs with appropriate highlighting.\r
+\r
+2008-05-27  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xfont.c (xfont_open): Fix calculation of font->average_width.\r
+\r
+2008-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * casefiddle.c (casify_object): Try to guess better whether the\r
+       argument is a byte or a char.\r
+\r
+2008-05-26  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * xselect.c (x_reply_selection_request): Properly handle format == 32.\r
+       Always send multiples of format size.\r
+\r
+       * xterm.c (x_set_frame_alpha): Fix type mismatch.\r
+\r
+2008-05-26  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (w32font_text_extents): Zero whole metrics struct first.\r
+       (compute_metrics): Don't set failure if we just cleared the cache.\r
+       (w32_weight_table): Remove unused variable.\r
+       (w32_enumfont_pattern_entity): Use FONT_SPACING_CHARCELL for\r
+       backwards compatibility.\r
+\r
+2008-05-25  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * w32term.c (x_draw_glyph_string):\r
+       * xterm.c (x_draw_glyph_string): Fix calculation of underline position.\r
+\r
+       * xfaces.c: Delete unused function prototypes.\r
+       (xstrlwr, font_frame): Delete them.\r
+       (clear_face_cache): Delete unused variable.\r
+\r
+       * xftfont.c (xftfont_open): Delete unused variable.\r
+       If underline_thickness is not 1, adjust underline_position.\r
+\r
+       * ftxfont.c (ftxfont_open): Delete unused variable.\r
+\r
+       * fontset.c (face_for_char): Optimize for the case of no charset\r
+       property.\r
+\r
+       * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)\r
+       (check_gstring, check_otf_features, otf_list, otf_tag_symbol)\r
+       (otf_open, font_otf_capability, generate_otf_features)\r
+       (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):\r
+       Comment out by surrounding "#if 0" and "#endif" for the moment.\r
+       (Ffont_drive_otf, Ffont_otf_alternates): Likewise.\r
+       (syms_of_font): Codes for accessing above commented out.\r
+\r
+2008-05-24  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * w32proc.c: Include dispextern.h.\r
+\r
+       * w32.c: Include dispextern.h.\r
+\r
+2008-05-23  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * charset.c (Fencode_char, Fsplit_char): Doc fixes.\r
+       (Fget_unused_iso_final_char, Fdecode_char, Fiso_charset):\r
+       Fix typos in docstrings.\r
+\r
+2008-05-23  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * xsmfns.c: Remove includes that are already included by config.h.\r
+\r
+2008-05-23  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * charset.c (Qemacs, charset_emacs): New variables.\r
+       (char_charset): Fix for non-Unicode characters.\r
+       (syms_of_charset): Define charset_emacs.\r
+\r
+       * w32term.c (x_draw_glyph_string): Be sure to update\r
+       s->underline_thickness and s->underline_position.  Be sure to draw\r
+       underline within the current line area.\r
+\r
+       * xterm.c (x_draw_glyph_string): Be sure to update\r
+       s->underline_thickness and s->underline_position.  Be sure to draw\r
+       underline within the current line area.\r
+\r
+       * fontset.c: Delete unused variables and add casting for char *\r
+       throughout the file.\r
+       (fontset_font): Try the fallback fonts of the current fontset\r
+       before consulting the default fontset.\r
+\r
+       * ftfont.c (ftfont_spec_pattern): Free charset if necessary.\r
+\r
+       * xfont.c (xfont_list_pattern): Free names returned from XListFonts.\r
+\r
+2008-05-22  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * font.c: Don't include strings.h.\r
+\r
+       * dispextern.h, xfaces.c (xstrcasecmp): Rename from xstricmp.\r
+\r
+       * dosfns.c, fileio.c, font.c, fontset.c, image.c, macfns.c:\r
+       * macterm.c, process.c, w32.c, w32fns.c, w32proc.c, xfaces.c:\r
+       * xfns.c, xfont.c: All callers of stricmp and strcasecmp changed\r
+       to call xstrcasecmp.\r
+\r
+       * xfont.c (xfont_list_pattern, compare_font_names): Use xstrcasecmp.\r
+\r
+       * fontset.c (fs_query_fontset): Use xstrcasecmp.\r
+\r
+       * font.c (font_style_to_value, font_score): Use xstrcasecmp.\r
+\r
+       * dosfns.c (msdos_stdcolor_idx): Use xstrcasecmp.\r
+\r
+2008-05-22  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * puresize.h (BASE_PURESIZE): Increase to 1220000.\r
+\r
+       * font.c (font_prop_validate_style): Adjust for the format\r
+       change of font_style_table.\r
+\r
+       * w32font.c (w32font_open_internal): Call Ffont_xlfd_name with\r
+       two args.\r
+\r
+       * xfaces.c (x_update_menu_appearance): Call Ffont_xlfd_name with\r
+       two args.\r
+\r
+2008-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * minibuf.c (keys_of_minibuf): Delete.\r
+       * lisp.h (keys_of_minibuf): Delete.\r
+       * emacs.c (main): Don't call keys_of_minibuf.\r
+\r
+2008-05-22  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * ftfont.c (ftfont_resolve_generic_family): Rename from\r
+       ftfont_list_generic_family.  Return a single family for each\r
+       generic family.\r
+       (ftfont_spec_pattern): Add FC_FAMILY to pattern.\r
+       (ftfont_list): Adjust for the change of ftfont_resolve_generic_family.\r
+       Call font_add_log.\r
+       (ftfont_match): Call font_add_log.\r
+\r
+       * font.h (Ffont_xlfd_name): EXFUN adjusted.\r
+       (FONT_DEBUG): Define it.\r
+       (font_add_log): Extern it.\r
+       (font_assert): Rename from xassert.\r
+\r
+       * xfont.c (xfont_get_pcm): Change xassert to font_assert.\r
+       (xfont_list_family): Call font_add_log.\r
+       (xfont_match): Likewise.\r
+       (memq_no_quit): Delete.\r
+\r
+       * fontset.c (fontset_from_font, Ffontset_info): Add the 2nd arg in\r
+       call of Ffont_xlfd_name.\r
+\r
+       * xfaces.c (struct table_entry, slant_table, weight_table)\r
+       (swidth_table): Move to font.c.\r
+\r
+       * font.c: Checking of FONT_DEBUG is moved to font.h.  All calls of\r
+       xassert are changed to font_assert.  Delete many unused variables.\r
+       (Vfont_weight_table, Vfont_slant_table, Vfont_width_table):\r
+       New variables.\r
+       (struct table_entry): Move from xfaces.c and modified.\r
+       (weight_table, slant_table, width_table): Move from xfaces.c and\r
+       contents adjusted for the change of struct table_entry.\r
+       (font_style_to_value, font_style_symbolic): Adjust for the\r
+       format change of font_style_table.\r
+       (font_parse_family_registry): Don't overwrite existing foundry and\r
+       family of font_spec.\r
+       (font_score): Fix calculation of diff for sizes.\r
+       (font_sort_entites): Call font_add_log.\r
+       (font_delete_unmatched): Return a newly created list.\r
+       (font_list_entities): Fix previous change.  Call font_add_log.\r
+       (font_matching_entity, font_open_entity, font_close_entity):\r
+       Call font_add_log.\r
+       (Ffont_xlfd_name): New arg FOLD-WILDCARDS.\r
+       (Finternal_set_font_style_table): Delete.\r
+       (BUILD_STYLE_TABLE): New macro.\r
+       (build_style_table): New function.\r
+       (Vfont_log, font_log_env_checked): New variables.\r
+       (font_add_log): New function.\r
+       (syms_of_font): Delete defsubr Sinternal_set_font_style_table.\r
+       Declare Lisp variables "font-weight-table", "font-slant-table",\r
+       "font-width-table", and "font-log".  Initialize font_style_table.\r
+\r
+2008-05-21  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * xterm.c (x_set_frame_alpha): Move declarations before statements.\r
+\r
+2008-05-21  Seiji Zenitani  <zenitani@mac.com>\r
+           Ryo Yoshitake  <ryo@shiftmode.net>\r
+\r
+       * frame.c (Qalpha): Add a new frame parameter `alpha'.\r
+       (Vframe_alpha_lower_limit): New variable.\r
+       (x_set_alpha): New function.\r
+\r
+       * frame.h (Qalpha, Vframe_parameter_lower_limit): Export them.\r
+\r
+       * xfns.c (x-create-frame, Qalpha):\r
+       Initialize the frame parameter `alpha'.\r
+       * xterm.c (OPAQUE, OPACITY): New.\r
+       (x_set_frame_alpha): New function.\r
+       (frame_highlight, frame_unhighlight): Call x_set_frame_alpha.\r
+\r
+       * macfns.c (mac_frame_parm_handlers): A null handler for x_set_alpha.\r
+       * w32fns.c (w32_frame_parm_handlers): Likewise.\r
+\r
+2008-05-20  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (add_font_entity_to_list): Don't add non-opentype\r
+       truetype fonts to opentype list.\r
+\r
+2008-05-20  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * fontset.c (Ffontset_info): Doc fix.\r
+       (syms_of_fontset) <font-encoding-charset-alist, use-default-ascent>:\r
+       <ignore-relative-composition>: Fix typos in docstrings.\r
+\r
+       * font.c (syms-of-font) <font-encoding-alist>:\r
+       (Ffontp, Ffont_make_gstring): Fix typos in docstrings.\r
+       (Flist_fonts, Ffont_family_list, Ffont_fill_gstring, Fquery_font)\r
+       (Ffont_otf_alternates): Doc fixes.\r
+\r
+2008-05-20  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * Makefile.in (FONTSRC): Delete it.  Change all $(FONTSRC) to\r
+       font.h through out the file.\r
+       (FONT_DRIVERS): Rename from FONTOBJ.\r
+       (obj): Change $(FONTOBJ) to $(FONT_DRIVERS).  Add font.o.\r
+       (SOME_MACHINE_OBJECTS): Change $(FONTOBJ) to $(FONT_DRIVERS).\r
+\r
+       * emacs.c (main): Call syms_of_font unconditionally.\r
+\r
+       * font.h (find_font_encoding): Extern it.\r
+\r
+       * font.c (Vfont_encoding_alist, find_font_encoding): Move from\r
+       fontset.c.\r
+       (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1.\r
+       (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,\r
+       FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)\r
+       only when HAVE_WINDOW_SYSTEM is defined.\r
+       (font_close_object): Update FRAME_X_DISPLAY_INFO (f)->n_fonts only\r
+       when HAVE_WINDOW_SYSTEM is defined.\r
+\r
+       * fontset.c (Vfont_encoding_alist, find_font_encoding): Move to font.c.\r
+       (syms_of_fontset): Move declaration of font-encoding-alist to font.c.\r
+\r
+       * xfaces.c: Include font.h unconditionally.\r
+       (merge_face_ref, merge_face_vectors)\r
+       (Finternal_set_lisp_face_attribute): Cancel the previous change.\r
+\r
+2008-05-20  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * xdisp.c (select_frame_for_redisplay): Adjust for last change to\r
+       indirect_variable.\r
+       * eval.c (lisp_indirect_variable): New fun.\r
+       (Fuser_variable_p): Use it.\r
+\r
+2008-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * lisp.h (indirect_variable):\r
+       * data.c (indirect_variable, let_shadows_buffer_binding_p):\r
+       Use Lisp_Symbol pointers rather than Lisp_Object.\r
+       Adjust callers.\r
+       * buffer.c (buffer_slot_type_mismatch): Use wrong-type-argument.\r
+       To this end, change calling-convention.\r
+\r
+       * minibuf.c (Finternal_complete_buffer): Only strip out hidden buffers\r
+       if some non-hidden buffers are selected by string&pred.\r
+\r
+2008-05-19  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * process.c (wait_reading_process_output): Always check status\r
+       when in batch mode.\r
+\r
+2008-05-19  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * font.c (font_list_entities): Fix handling of cache.\r
+       (font_matching_entity): Likewise.\r
+\r
+       * ftfont.c (cs_iso8859_1): Delete.\r
+       (ft_face_cache): New variable.\r
+       (struct ftfont_info): New member fc_charset_idx.\r
+       (ftfont_build_basic_charsets): Delete.\r
+       (fc_charset_table): New variable.\r
+       (ftfont_pattern_entity): New arg fc_charset_idx.  Store (FILENAME\r
+       . FC_CHARSET_IDX) as :font-entity property in the font entity.\r
+       Callers changed.\r
+       (ftfont_lookup_cache, ftfont_get_charset): New functions.\r
+       (ftfont_spec_pattern): New argument fc_charset_idx.\r
+       Check registry more rigidly.  Change callers.\r
+       (ftfont_open, ftfont_close, ftfont_has_char): Adjust for the\r
+       change of :font-entity property of the font.\r
+\r
+       * xftfont.c (xftfont_open): Adjust for the change of :font-entity\r
+       property of the font.\r
+\r
+2008-05-18  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * coding.c (Fcoding_system_p): Rename argument to match docstring.\r
+       (Funencodable_char_position, Fcheck_coding_systems_region)\r
+       (Fdecode_coding_string, Fencode_coding_string): Fix typos in docstrings.\r
+       (Fdetect_coding_region, Fdetect_coding_string, Fencode_coding_region)\r
+       (Ffind_operation_coding_system, Fset_coding_system_priority)\r
+       (Fcoding_system_eol_type): Doc fixes.\r
+\r
+2008-05-17  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * sysdep.c (child_setup_tty): Handle systems with NLDLY, without FFDLY.\r
+\r
+2008-05-16  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * dired.c (Ffile_attributes): Shut up GCC warnings about st_uid\r
+       and st_gid.\r
+\r
+       * frame.c (Fdelete_frame): Don't call font_update_drivers if\r
+       HAVE_WINDOW_SYSTEM is not defined.\r
+\r
+       * xfaces.c (merge_face_ref, merge_face_vectors)\r
+       (Finternal_set_lisp_face_attribute): Use FONT_*_INDEX only when\r
+       HAVE_WINDOW_SYSTEM is defined.\r
+       (Fface_font): Fix non-HAVE_WINDOW_SYSTEM case.\r
+\r
+2008-05-16  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * keyboard.c (parse_menu_item): Do not cache key shortcut any more.\r
+\r
+2008-05-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * macterm.c (x_draw_relief_rect): Remove unused variable `dpy'.\r
+\r
+2008-05-15  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * font.c (font_find_for_lface): Reflect LFACE_FONT in the font\r
+       preference.\r
+\r
+2008-05-15  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * emacs.c (USAGE1, standard_args): Remove -disable-font-backend.\r
+\r
+2008-05-15  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * fns.c (init_fns): Don't initialize weak_hash_tables here.\r
+       (init_weak_hash_tables): New fun.  Initialize weak_hash_tables.\r
+\r
+       * alloc.c (init_alloc_once): Call init_weak_hash_tables.\r
+\r
+2008-05-15  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * ftfont.c (ftfont_list): Downcase family name to check generic\r
+       families.\r
+\r
+       * xfaces.c (Finternal_set_lisp_face_attribute): Be sure to make a\r
+       font-spec for QCfont value.\r
+\r
+       * fontset.c (Fnew_fontset): Call font_unparse_xlfd with 256-byte\r
+       buffer.  Check the return value of it.\r
+\r
+2008-05-14  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32term.c (w32_get_glyph_overhangs): Remove.\r
+       (w32_redisplay_interface): Use x_get_glyph_overhangs instead.\r
+\r
+2008-05-14  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * font.c (font_prop_validate): Make nil a valid value.\r
+       (font_clear_cache): Check if the cached vector of entities is nil\r
+       or not.\r
+\r
+2008-05-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * emacs.c (main_thread): Conditionalize on\r
+       FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.\r
+       (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it.\r
+\r
+       * syssignal.h (FORWARD_SIGNAL_TO_MAIN_THREAD): New define.\r
+       (main_thread, SIGNAL_THREAD_CHECK): Conditionalize on\r
+       FORWARD_SIGNAL_TO_MAIN_THREAD instead of HAVE_GTK_AND_PTHREAD.\r
+\r
+2008-05-14  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (detect_coding_iso_2022): Ignore a coding category that\r
+       has no corresponding coding system.\r
+\r
+2008-05-14  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * font.h (struct font) [WINDOWSNT]: Remove codepage member.\r
+\r
+       * w32font.h (w32font_open_internal): Update declaration.\r
+\r
+       * w32font.c (w32font_open_internal): Change last argument from\r
+       w32font_info struct to font object.  Fill in font object from\r
+       font_entity.  Get Outline metrics if possible.  Use them to\r
+       calculate underline position and thickness.  Use xlfd name as name\r
+       property.  Don't set codepage.\r
+       (w32font_open): Pass font_object to w32font_open_internal.  Don't\r
+       update dpyinfo->smallest_font_height and dpyinfo->smallest_char_width.\r
+       (w32font_draw): Use s->font.\r
+       (clear_cached_metrics): Don't clear non-existent blocks.\r
+\r
+       * w32term.c (w32_compute_glyph_string_overhangs): Don't compute if\r
+       font was not found.\r
+       (x_draw_glyph_string): Use underline position and thickness from font.\r
+\r
+       * w32uniscribe.c (uniscribe_open): Pass font_object to\r
+       w32font_open_internal.\r
+\r
+2008-05-14  Kenichi Handa  <handa@m17n.org>\r
+\r
+       These changes are to delete all legacy font-handling codes, and\r
+       make Emacs use only font-backends.\r
+\r
+       * Makefile.in: Delete USE_FONT_BACKEND conditionals.\r
+       (frame.o, image.o, print.o): Depend on $(FONTSRC).\r
+\r
+       * makefile.w32-in (WIN32OBJ): Add w32reg.$(O), remove w32bdf.$(O).\r
+\r
+       * charset.h (Vcharset_non_preferred_head)\r
+       (Vcurrent_iso639_language): Extern them.\r
+\r
+       * charset.c (Vcharset_non_preferred_head): New variable.\r
+       (Vcurrent_iso639_language): New variable.\r
+       (syms_of_charset): Declare it as a Lisp variable.\r
+       (char_charset): Don't check non preferred charsets.  As a last\r
+       resort, return charset_unicode.\r
+       (Fset_charset_priority): Update Vcharset_non_preferred_head.\r
+\r
+       * composite.c: Throughout the file, delete all USE_FONT_BACKEND\r
+       conditionals.  Don't check enable_font_backend.  Delete all codes\r
+       used only when USE_FONT_BACKEND is not defined.\r
+\r
+       * dispextern.h (struct glyph_string): Change type of `font' to\r
+       `struct font *'.\r
+       (struct glyph_string): New member underline_position and\r
+       underline_thickness.\r
+       (enum lface_attribute_index): Remove LFACE_AVGWIDTH_INDEX.\r
+       (struct face): Change type of `font' to `struct font *'.  Remove\r
+       members `font_name', `font_info_id'.\r
+       (per_char_metric, encode_char): Delete externs.\r
+       (calc_pixel_width_or_height): Adjust the prototype.\r
+\r
+       * emacs.c (enable_font_backend): Delete extern.\r
+       (main): Don't set enable_font_backend.  Don't check the command\r
+       line argument "-disable-font-backend".\r
+\r
+       * font.h (Qfont_spec, Qfont_entity, Qfont_object): Extern them.\r
+       (enum font_property_index): New members FONT_DPI_INDEX,\r
+       FONT_SPACING_INDEX, FONT_AVGWIDTH_INDEX, FONT_NAME_INDEX,\r
+       FONT_FULLNAME_INDEX, FONT_FILE_INDEX, FONT_FORMAT_INDEX,\r
+       FONT_OBJECT_MAX.  Delete FONT_FRAME_INDEX.\r
+       (FONT_WEIGHT_NUMERIC, FONT_SLANT_NUMERIC, FONT_WIDTH_NUMERIC)\r
+       (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC, FONT_WIDTH_SYMBOLIC)\r
+       (FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE, FONT_WIDTH_FOR_FACE)\r
+       (FONT_WEIGHT_NAME_NUMERIC, FONT_SLANT_NAME_NUMERIC)\r
+       (FONT_WIDTH_NAME_NUMERIC, FONT_SET_STYLE): New macros.\r
+       (struct font_spec, struct font_entity): New structs.\r
+       (FONT_ENCODING_NOT_DECIDED): Moved from fontset.h.\r
+       (struct font): Many members from old "struct font_info" moved to\r
+       here.  Members font and entity deleted.\r
+       (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P, FONTP): Modified for\r
+       the new font-related objects.\r
+       (CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)\r
+       (CHECK_FONT_GET_OBJECT): Likewise.\r
+       (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, XSETFONT): New macros.\r
+       (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved from font.h.\r
+       (struct font_driver): New members case_sensitive anc check.  Type\r
+       of the member list and open changed.\r
+       (enable_font_backend, font_symbolic_weight, font_symbolic_slant)\r
+       (font_symbolic_width, font_find_object, font_get_spec)\r
+       (font_set_lface_from_name): Delete extern.\r
+       (Fcopy_font_spec, Fmerge_font_spec, Ffont_family_list): New EXFUNs.\r
+\r
+       * font.c: Include <strings.h>.\r
+       (enable_font_backend): Delete it.\r
+       (Qfont_spec, Qfont_entity, Qfont_object): New variables.\r
+       (CHECK_VALIDATE_FONT_SPEC): Delete it.\r
+       (PT_PER_INCH, POINT_TO_PIXEL, PIXEL_TO_POINT): Moved to font.h.\r
+       (null_string): Delete it.\r
+       (null_vector): Make it static.\r
+       (font_family_alist): Delete it.\r
+       (Qnormal): Extern it.\r
+       (QCextra, QClanguage): Delete it.\r
+       (QClang, QCavgwidth, QCfont_entity, QCfc_unknown_spec): New variables.\r
+       (font_make_spec, font_make_entity, font_make_object)\r
+       (font_intern_prop): Renamed from intern_downcase.  Don't downcase\r
+       the string.  Callers changed.\r
+       (font_pixel_size): Adjusted for the format change of font-related\r
+       objects.\r
+       (prop_name_to_numeric, prop_numeric_to_name): Delete them.\r
+       (font_style_to_value, font_style_symbolic): New function.\r
+       (build_font_family_alist): Delete it.\r
+       (font_registry_charsets): Use Fassoc_string instead of\r
+       assq_no_quit.\r
+       (font_prop_validate_symbol): Don't return null_string.\r
+       (font_prop_validate_style): Adjusted for the change of\r
+       style-related values in a font vector.\r
+       (font_property_table): Delete entries for QClanguage and\r
+       QCantialias, add entries for QCavgwidth.\r
+       (get_font_prop_index): Delete the 2nd argument FROM.\r
+       (font_prop_validate): Arguments changed.\r
+       (font_put_extra): Adjusted for the change of font-related objects.\r
+       (font_expand_wildcards, font_parse_xlfd, font_unparse_xlfd)\r
+       (font_parse_fcname, font_unparse_fcname)\r
+       (font_prepare_composition): Likewise.\r
+       (font_parse_family_registry): Renamed from font_merge_old_spec.\r
+       (otf_open): Delete the 1st arg entity.\r
+       (font_otf_capability): Adjusted for the above change.\r
+       (font_score): New arg alternate_families.  Adjusted for the change\r
+       of font-related objects.\r
+       (font_sort_entites): New arg best_only.\r
+       (font_symbolic_weight, font_symbolic_slant, font_symbolic_width):\r
+       Delete them.\r
+       (font_match_p): Check alternate families.\r
+       (font_find_object): Delete it.\r
+       (font_check_object): New function.\r
+       (font_clear_cache): Adjusted for the change of font-related objects.\r
+       (font_delete_unmatched): New arg.\r
+       (font_list_entities): Call font_driver->list with a spec that\r
+       doesn't specify style-related properties.\r
+       (font_matching_entity): Arguments changed.  Caller changed.\r
+       (font_open_entity): Adjusted for the change of font-related objects.\r
+       (font_close_object, font_has_char, font_encode_char)\r
+       (font_get_name, font_get_spec): Likewise.\r
+       (font_spec_from_name, font_clear_prop, font_update_lface):\r
+       New functions.\r
+       (font_find_for_lface, font_open_for_lface, font_load_for_lface)\r
+       (font_prepare_for_face, font_done_for_face, font_open_by_name)\r
+       (font_at): Adjusted for the change of font-related objects.\r
+       (font_range): New function.\r
+       (Ffontp, Ffont_spec, Ffont_get, Ffont_put, Flist_fonts)\r
+       (Ffont_xlfd_name): Adjusted for the change of font-related objects.\r
+       (Fcopy_font_spec, Fmerge_font_spec): New function.\r
+       (Ffont_family_list): Renamed from list-families.\r
+       (Finternal_set_font_style_table): Arguments changed.\r
+       (Ffont_fill_gstring, Ffont_shape_text, Fopen_font)\r
+       (Ffont_drive_otf, Fquery_font, Ffont_match_p): Adjusted for the\r
+       change of font-related objects.\r
+       (syms_of_font): Delete "ifdef USE_FONT_BACKEND".  DEFSYM new symbols.\r
+\r
+       * fontset.h (struct font_info): Delete it.  Most members go to\r
+       struct font.\r
+       (FONT_ENCODING_NOT_DECIDED): Moved to font.h.\r
+       (enum FONT_SPEC_INDEX): Delete it.\r
+       (font_info, list_fonts_func, load_font_func, query_font_func)\r
+       (set_frame_fontset_func, find_ccl_program_func)\r
+       (get_font_repertory_func, new_fontset_from_font_name): Delete\r
+       externs.\r
+       (fontset_from_font_name): Extern it.\r
+       (FS_LOAD_FONT, FONT_INFO_ID, FONT_INFO_FROM_ID)\r
+       (FONT_INFO_FROM_FACE): Deleted.\r
+       (face_for_font): Adjust prototype.\r
+\r
+       * fontset.c: Throughout the file, delete all USE_FONT_BACKEND\r
+       conditionals.  Don't check enable_font_backend.  Delete all codes\r
+       used only when USE_FONT_BACKEND is not defined.\r
+       (get_font_info_func, list_font_func, load_font_func)\r
+       (query_font_func, set_frame_fontset_func, find_ccl_program_func)\r
+       (get_font_repertory_func): Delete them.\r
+       (FONTSET_SPEC, FONT_DEF_NEW, FONT_DEF_SPEC, FONT_DEF_ENCODING)\r
+       (FONT_DEF_REPERTORY, RFONT_DEF_FACE, RFONT_DEF_SET_FACE)\r
+       (RFONT_DEF_FONT_DEF, RFONT_DEF_SPEC, RFONT_DEF_REPERTORY)\r
+       (RFONT_DEF_OBJECT, RFONT_DEF_SET_OBJECT, RFONT_DEF_SCORE)\r
+       (RFONT_DEF_SET_SCORE, RFONT_DEF_NEW): New macros.\r
+       (fontset_compare_rfontdef): New function.\r
+       (reorder_font_vector): Remove the argument CHARSET-ID.  Sort\r
+       rfont-defs by qsort.  Adjusted for the change of font-group vector.\r
+       (load_font_get_repertory): Deleted.\r
+       (fontset_find_font): Use new macros to ref/set elements of\r
+       font-def and rfont-def.\r
+       (fontset_font): Fix the timing of remembering that no font for C.\r
+       (free_face_fontset): Do nothing if the face has no fontset.\r
+       (face_suitable_for_char_p): Use new macros to ref/set elements of\r
+       rfont-def.\r
+       (face_for_char): Likewise.  Call face_for_char with font_object.\r
+       (fs_load_font): Delete.  Delete #pragma surrounding it.\r
+       (fs_query_fontset): Use strcasecmp instead of strcmp.\r
+       (generate_ascii_font_name): Adjusted for the format change of\r
+       font-spec.\r
+       (Fset_fontset_font): Likewise.  Use new macros to set elements of\r
+       font-def.\r
+       (Fnew_fontset): Use font_unparse_xlfd to generate\r
+       FONTSET_ASCII (fontset).\r
+       (new_fontset_from_font_name): Deleted.\r
+       (fontset_from_font): Renamed from new_fontset_from_font.  Check if\r
+       a fontset is already created for the font.  FIx updating of\r
+       Vfontset_alias_alist.\r
+       (fontset_ascii_font): Deleted.\r
+       (Ffont_info): Adjusted for the format change of font-spec.\r
+       (Finternal_char_font): Likewise.\r
+       (Ffontset_info): Likewise.\r
+       (syms_of_fontset): Don't check load_font_func.\r
+\r
+       * fns.c (internal_equal): Handle PREV_FONT.\r
+\r
+       * frame.h: Delete USE_FONT_BACKEND conditional.\r
+\r
+       * frame.c: Throughout the file, delete all USE_FONT_BACKEND\r
+       conditionals.  Don't check enable_font_backend.  Delete all codes\r
+       used only when USE_FONT_BACKEND is not defined.\r
+       (x_set_font): Call x_new_font, not x_new_fontset2.\r
+       (x_set_font_backend): Use FRAME_FONT macro to check if a font is\r
+       already set for the frame.\r
+\r
+       * ftfont.c (ftfont_pattern_entity): Argument FRAME removed.  Make\r
+       a font-entity by font_make_entity.  Use font_intern_prop instead\r
+       of intern_downcase.  Use FONT_SET_STYLE to set a style-related\r
+       font property.  If a font is scalable, set avgwidth property to 0.\r
+       Set font-entity property by font_put_extra.\r
+       (ftfont_list_generic_family): Argument SPEC and REGISTRY removed.\r
+       (ffont_driver): Adjusted for the change of struct font_driver.\r
+       (ftfont_spec_pattern): New function.\r
+       (ftfont_list): Return a list, not vector.\r
+       (ftfont_match): Use ftfont_spec_pattern to get a pattern.\r
+       (ftfont_list_family): Don't downcase names.\r
+       (ftfont_free_entity): Deleted.\r
+       (ftfont_open): Return a font-object.  Adjusted for the change of\r
+       struct font.  Get underline_thickness and underline_position from\r
+       font property.  Don't update dpyinfo->smallest_font_height and\r
+       dpyinfo->smallest_char_width.\r
+       (ftfont_close): Don't free `struct font'.\r
+       (ftfont_has_char): Adjusted for the format change of font-entity.\r
+       (ftfont_encode_char, ftfont_text_extents): Likewise.\r
+\r
+       * ftxfont.c (ftxfont_list): Return a list, not vector.\r
+       (ftxfont_open): Return a font-object.  Adjusted for the change of\r
+       struct font.  Get underline_thickness and underline_position from\r
+       font property.  Don't update dpyinfo->smallest_font_height and\r
+       dpyinfo->smallest_char_width.\r
+       (ftxfont_close): Don't decrease FRAME_X_DISPLAY_INFO (f)->n_fonts.\r
+       (ftxfont_draw): Adjusted for the change of struct font.\r
+\r
+       * image.c (image_ascent): Don't include "charset.h".  Include\r
+       "character.h" and "font.h".\r
+\r
+       * lisp.h (enum pvec_type): New member PREV_FONT.\r
+       (Fassoc_string): EXFUN it.\r
+\r
+       * print.c: Include font.h.\r
+       (print_object): Handle font-related objects.\r
+\r
+       * xdisp.c: Throughout the file, delete all USE_FONT_BACKEND\r
+       conditionals.  Don't check enable_font_backend.  Delete all codes\r
+       used only when USE_FONT_BACKEND is not defined.\r
+       (handle_auto_composed_prop): Do nothing if it->f is not on a\r
+       window system.  Check how many following characters can be\r
+       displayed by the same font.\r
+       (calc_pixel_width_or_height): Type of the 4th arg is changed to\r
+       'struct font *'.\r
+       (get_char_face_and_encoding): Assign the whole encoding task to\r
+       the `encode-char' method of a font driver.\r
+       (fill_composite_glyph_string): Adjusted for the change of `struct\r
+       face' and `struct glyph_string'.\r
+       (fill_glyph_string): Likewise.\r
+       (get_per_char_metric): Arguments changed.\r
+       (x_get_glyph_overhangs): Adjusted for the change of `struct face'\r
+       and `struct glyph_string'.\r
+       (produce_stretch_glyph, calc_line_height_property)\r
+       (x_produce_glyphs): Likewise.\r
+\r
+       * xfaces.c: Throughout the file, delete all USE_FONT_BACKEND\r
+       conditionals.  Don't check enable_font_backend.  Delete all codes\r
+       used only when USE_FONT_BACKEND is not defined.  Use\r
+       FONT_XXX_NAME_NUMERIC instead of face_numeric_xxx.\r
+       (QCfoundry, QCadstyle, QCregistry, QCspacing, QCsize, QCavgwidth)\r
+       (Qp): Extern them.\r
+       (clear_font_table, load_face_font, xlfd_lookup_field_contents):\r
+       Deleted.\r
+       (struct font_name): Deleted.\r
+       (xlfd_numeric_value, xlfd_symbolic_value): Deleted.\r
+       (compare_fonts_by_sort_order): New function.\r
+       (xlfd_numeric_slant, xlfd_symbolic_slant, xlfd_numeric_weight)\r
+       (xlfd_symbolic_weight, xlfd_numeric_swidth, xlfd_symbolic_swidth):\r
+       Deleted.\r
+       (Fx_family_fonts): Use font_list_entities, and sort fonts by\r
+       compare_fonts_by_sort_order.\r
+       (Fx_font_family_list): Call Ffont_family_list.\r
+       (face_numeric_value, face_numeric_weight, face_numeric_slant)\r
+       (face_numeric_swidth, face_symbolic_value, face_symbolic_weight)\r
+       (face_symbolic_slant, face_symbolic_swidth)\r
+       (split_font_name_into_vector, build_font_name_from_vector)\r
+       (xlfd_fixed_p, xlfd_point_size, pixel_point_size)\r
+       (font_rescale_ratio, split_font_name, build_font_name)\r
+       (free_font_names, sort_fonts, x_face_list_fonts)\r
+       (face_font_available_p, sorted_font_list, cmp_font_names)\r
+       (font_list_1, concat_font_list, font_list, remove_duplicates):\r
+       Deleted.\r
+       (Fx_list_fonts): Use Ffont_list.\r
+       (LFACE_AVGWIDTH): Deleted.\r
+       (check_lface_attrs): Don't check LFACE_AVGWIDTH.  Check LFACE_FONT\r
+       by FONTP.\r
+       (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.\r
+       (set_lface_from_font_name): Delete it.\r
+       (set_lface_from_font): Renamed from\r
+       set_lface_from_font_and_fontset.  Caller changed.  Don't set\r
+       LFACE_AVGWIDTH.  Use FONT_XXX_FOR_FACE to get a symbol suitable\r
+       for face.\r
+       (merge_face_vectors): Copy font-spec if necessary.\r
+       Clear properties of the font-spec if necessary.\r
+       (merge_face_ref): Clear properties of the font-spec if necessary.\r
+       (Finternal_set_lisp_face_attribute): Likewise.\r
+       (set_font_frame_param): Use font_load_for_lface to load a\r
+       font-object, and call Fmodify_frame_parameters with it.\r
+       (x_update_menu_appearance): Don't check LFACE_AVGWIDTH.  Get XLFD\r
+       font name by Ffont_xlfd_name.\r
+       (Finternal_lisp_face_attribute_values): Don't check QCweight,\r
+       QCslant, and QCwidth.\r
+       (Fface_font): Get a font name from font->props[FONT_NAME_INDEX].\r
+       (lface_same_font_attributes_p): Don't check LFACE_AVGWIDTH.\r
+       Compare fonts by EQ.\r
+       (lookup_non_ascii_face): Deleted.\r
+       (face_for_font): The 2nd argument changed.\r
+       (x_supports_face_attributes_p): Don't check LFACE_AVGWIDTH.\r
+       Check atomic font properties by case insensitive.\r
+       (realize_non_ascii_face): Set face->overstrike correctly.\r
+       (realize_x_face): Likewise.  Check if LFACE_FONT is a font_object.\r
+       (dump_realized_face): Get font name from\r
+       font->props[FONT_NAME_INDEX].  Don't print font_info_id.\r
+\r
+       * xfns.c: Throughout the file, delete all USE_FONT_BACKEND\r
+       conditionals.  Don't check enable_font_backend.  Delete all codes\r
+       used only when USE_FONT_BACKEND is not defined.\r
+       (xic_create_xfontset): Original code deleted and renamed from\r
+       xic_create_xfontset2.  Use FRAME_FONT, not FRAME_FONT_OBJECT.\r
+       (x_make_gc): Don't set GCFont in GCs.\r
+       (Fx_create_frame) [USE_LUCID]: Set xlwmenu_default_font to a font\r
+       opened by "fixed".\r
+       (syms_of_xfns): Don't set get_font_info_func, load_font_func,\r
+       find_ccl_program_func, query_font_func, set_frame_fontset_func,\r
+       get_font_repertory_func.\r
+\r
+       * xfont.c: Include <stdlib.h> and "ccl.h".\r
+       (struct xfont_info): New structure.\r
+       (xfont_query_font): Deleted.\r
+       (xfont_find_ccl_program): Renamed from x_find_ccl_program and\r
+       moved from xterm.c.\r
+       (xfont_driver): Adjusted for the change of struct font_driver.\r
+       (compare_font_names): New function.\r
+       (xfont_list_pattern): Sort font names case insensitively.  Make\r
+       font_entity by calling font_make_entity.  Avoid auto-scaled fonts.\r
+       (xfont_list): Return a list, not vector.\r
+       (xfont_match): If the font doesn't have QCname property, generate\r
+       a name from the other font properties.\r
+       (xfont_open): Return a font-object.  Adjusted for the change of\r
+       struct font.  Get underline_thickness and underline_position from\r
+       font property.  Don't update dpyinfo->smallest_font_height and\r
+       dpyinfo->smallest_char_width.\r
+       (xfont_close): Don't free struct font.\r
+       (xfont_prepare_face): Adjusted for the change of struct font.\r
+       (xfont_done_face): Deleted.\r
+       (xfont_has_char): Adjusted for the change of struct font.\r
+       (xfont_encode_char, xfont_draw): Likewise.\r
+       (xfont_check): New function.\r
+\r
+       * xftfont.c (xftfont_list): Adjusted for the change of `list'\r
+       callback function.\r
+       (xftfont_match): Adjusted for the format change of font-entity.\r
+       (xftfont_open): Adjusted for the format change of font-entity and\r
+       font-object.  Adjusted for the change of struct font.  Return a\r
+       font-object.  Don't update dpyinfo->smallest_font_height and\r
+       dpyinfo->smallest_char_width.\r
+       (xftfont_close): Block input while calling XftFontClose.\r
+       (xftfont_prepare_face): Don't block input while calling\r
+       xftfont_get_colors.  Adjusted for the change of struct font.\r
+       (xftfont_shape): Return value of error case fixed.\r
+\r
+       * xrdb.c (x_load_resources): Don't setup a fontset resource.\r
+\r
+       * xterm.h: Throughout the file, delete all USE_FONT_BACKEND\r
+       conditionals.\r
+       (FONT_WIDTH): Return (f)->max_width.\r
+       (struct x_display_info): Delete member `font'.\r
+       (x_list_fonts, x_get_font_info, x_load_font, x_query_font)\r
+       (x_find_ccl_program, x_get_font_repertory): Delete externs.\r
+       (struct x_output): Change type of `font' to `struct font *'.\r
+\r
+       * xterm.c: Throughout the file, delete all USE_FONT_BACKEND\r
+       conditionals.  Don't check enable_font_backend.  Delete all codes\r
+       used only when USE_FONT_BACKEND is not defined.  Don't include ccl.h.\r
+       (x_per_char_metric, x_encode_char): Deleted.\r
+       (x_set_cursor_gc, x_set_mouse_face_gc): Don't set GCFont.\r
+       (x_compute_glyph_string_overhangs): Adjusted for the change of\r
+       `struct face'.\r
+       (x_draw_glyph_string_foreground)\r
+       (x_draw_composite_glyph_string_foreground): Likewise.\r
+       (x_draw_glyph_string): Likewise.  Use font->underline_position and\r
+       font->underline_thickness.\r
+       (x_new_font): Renamed from x_new_fontset2.\r
+       (x_new_fontset, x_get_font_info, x_list_fonts): Deleted.\r
+       (x_check_font): Call `check' method of a font driver.\r
+       (x_font_min_bounds, x_compute_min_glyph_bounds, x_load_font)\r
+       (x_query_font, x_get_font_repertory): Deleted.\r
+       (x_find_ccl_program): Renamed and moved to xfont.c.\r
+       (x_redisplay_interface): Adjusted for the change of `struct\r
+       redisplay_interface'.\r
+\r
+       * w32fns.c: Throughout the file, delete all USE_FONT_BACKEND\r
+       conditionals.  Don't check enable_font_backend.  Delete all codes\r
+       used only when USE_FONT_BACKEND is not defined.  Surround non-used\r
+       code by "#ifdef OLD_FONT" and "endif".\r
+       (Fw32_select_font): Use FONT_COMPAT to get old font structure.\r
+\r
+       * w32font.h (struct w32font_info): New member.\r
+       (FONT_COMPAT): New macro.\r
+       (w32font_open_internal): Prototype adjusted.\r
+\r
+       * w32gui.h (XGCValues): Surround `XFontStruct *font' by "if\r
+       OLD_FONT" and "endif".\r
+\r
+       * w32font.c: Throughout the file, delete all USE_FONT_BACKEND\r
+       conditionals.  Don't check enable_font_backend.  Delete all codes\r
+       used only when USE_FONT_BACKEND is not defined.\r
+       (w32font_open): Return a font-object.  Make a font-object by\r
+       font_make_object.  Adjusted for the change of struct w32font_info.\r
+       (w32font_close): Don't free struct font.  Adjusted for the change\r
+       of struct w32font_info.\r
+       (w32font_encode_char, w32font_text_extents, w32font_draw):\r
+       Adjusted for the change of struct w32font_info.\r
+       (w32font_draw): Likewise.\r
+       (w32font_list_internal): Return a list, not vector.\r
+       (w32font_open_internal): Change the 4th arg to font-object.\r
+       Adjusted for the change of struct w32font_info and font-object format.\r
+       (add_font_name_to_list): Don't downcase names.\r
+       (w32_enumfont_pattern_entity): Make a font-entity by\r
+       font_make_entity.  Adjusted for the format change of font-entity.\r
+       Use FONT_SET_STYLE to set a style-related font property.  If a\r
+       font is scalable, set avgwidth property to 0.  Set font-entity\r
+       property by font_put_extra.\r
+       (font_matches_spec): Adjusted for the format change of font-entity.\r
+       (w32_weight_table, w32_decode_weight): New variables.\r
+       (w32_encode_weight): New function.\r
+       (fill_in_logfont): Adjusted for the format change of font-spec.\r
+       (w32font_full_name): Use FONT_WEIGHT_SYMBOLIC to get a symbol\r
+       weight value.\r
+       (w32font_driver): Adjusted for the change of struct font_driver.\r
+\r
+       * w32term.h: Throughout the file, delete all USE_FONT_BACKEND\r
+       conditionals.  Don't check enable_font_backend.  Surround non-used\r
+       code by "#ifdef OLD_FONT" and "endif".\r
+       (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT)\r
+       (FONT_AVG_WIDTH): Adjusted for the change of struct font.\r
+\r
+       * w32term.c: Throughout the file, delete all USE_FONT_BACKEND\r
+       conditionals.  Don't check enable_font_backend.  Delete all codes\r
+       used only when USE_FONT_BACKEND is not defined.  Surround non-used\r
+       code by "#ifdef OLD_FONT" and "endif".\r
+\r
+       * w32uniscribe.c: Delete USE_FONT_BACKEND conditional.\r
+       (uniscribe_open): Return value changed to font-object.\r
+       Adjusted for the format change of font-object.\r
+       (uniscribe_otf_capability): Adjusted for the change of struct font.\r
+       (add_opentype_font_name_to_list): Don't downcase names.\r
+       (uniscribe_font_driver): Adjusted for the change of struct\r
+       font_driver.\r
+\r
+2008-05-13  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * dispnew.c (update_frame_1): Check if tty output is still valid\r
+       before flushing it.\r
+\r
+2008-05-13  Jan Djärv  <jan.h.d@swipnet.se>\r
+\r
+       * xterm.c (handle_one_xevent): Don't pass buttons higher than 3\r
+       to Gtk+ menus.\r
+\r
+2008-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * dired.c (file_name_completion): Tweak the code so as to always do it\r
+       in a single pass.  Tighten the scope of some variables.\r
+\r
+       * dired.c (Qdefault_directory): New var.\r
+       (file_name_completion): Use it instead of Fexpand_file_name.\r
+       (syms_of_dired): Initialize it.\r
+\r
+2008-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * fileio.c (double_dollars): Remove dead code.\r
+\r
+2008-05-10  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * dired.c (Ffile_attributes, Fdirectory_files_and_attributes):\r
+       Mention w32-get-true-file-attributes in doc string.\r
+\r
+       * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.\r
+\r
+2008-05-09  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * fileio.c (Fread_file_name): Remove reference to insdef, deleted\r
+       2008-04-23.\r
+\r
+2008-05-09  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       Support for reporting owner and group of each file on MS-Windows:\r
+       * dired.c (stat_uname, stat_gname): New functions, with special\r
+       implementation for w32.\r
+       (Ffile_attributes): Use them instead of getpwuid and getgrgid.\r
+\r
+       * w32.c: Rename the_passwd_* to dflt_passwd_*.\r
+       (dflt_group_name): New static variable.\r
+       (dflt_group): Rename from the_group.\r
+       (init_user_info): Init dflt_group fields.  Get user's group name\r
+       from LookupAccountSid.\r
+       (g_b_init_get_file_security, g_b_init_get_security_descriptor_owner)\r
+       (g_b_init_get_security_descriptor_group, g_b_init_is_valid_sid):\r
+       New initialization states.\r
+       (globals_of_w32): Initialize them to zero.  Initialize the default\r
+       group name to "None".\r
+       (GetFileSecurity_Name): New global var, the name of the function\r
+       to call for GetFileSecurity.\r
+       (GetFileSecurity_Proc, GetSecurityDescriptorOwner_Proc)\r
+       (GetSecurityDescriptorGroup_Proc, IsValidSid_Proc): New typedefs.\r
+       (get_file_security, get_security_descriptor_owner)\r
+       (get_security_descriptor_group, is_valid_sid)\r
+       (get_file_security_desc, get_rid, get_name_and_id)\r
+       (get_file_owner_and_group): New functions.\r
+       (stat): Use get_file_security_desc and get_file_owner_and_group to\r
+       report the owner and primary group of each file.  Don't ignore the\r
+       high 32 bits of file's size, now that st_size is 64-bit wide.\r
+       Fix test when to get true file attributes.\r
+       (init_user_info): Use get_rid instead of equivalent inline code.\r
+       (fstat): Don't ignore the high 32 bits of file's size.\r
+\r
+2008-05-09  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * image.c (png_load): Use correct bit-depth for setting background\r
+       color.\r
+\r
+2008-05-08  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * Makefile.in (lisp, shortlisp): Rename epa-file-hook.elc to\r
+       epa-hook.elc.\r
+\r
+2008-05-08  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * font.c (Ffont_match_p): Don't use `iff' in docstring.\r
+\r
+2008-05-07  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * macfns.c (Fx_create_frame): Make a copy of frame parameters\r
+       because the original parameters are in pure storage now.\r
+       (mac_window): Remove unused params.  Update callers.\r
+\r
+2008-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * lread.c (substitute_object_recurse): Use lower-level primitives.\r
+       Don't signal errors when traversing sub-char-tables.\r
+       Don't loop over all the possible characters when traversing char-tables.\r
+\r
+       * print.c (print_preprocess): Add sub-char-tables to the print-table,\r
+       just like we do in print.c.\r
+\r
+2008-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * minibuf.c (Ftry_completion): Remove code left over from when we used\r
+       scmp instead of Fcompare_strings.\r
+\r
+2008-05-04  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * w32fns.c (Fw32_battery_status): Fix computation of %t (h:min) format.\r
+\r
+2008-05-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * image.c [USE_MAC_IMAGE_IO] (image_load_image_io):\r
+       Create bitmap context in native byte order.\r
+\r
+       * macterm.c (XDrawLine)\r
+       (XCreatePixmapFromBitmapData) [USE_MAC_IMAGE_IO]: Create bitmap\r
+       context in native byte order.\r
+\r
+2008-05-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * config.in: Regenerate.\r
+\r
+       * image.c (PIX_MASK_DRAW, PIX_MASK_RETAIN) [USE_MAC_IMAGE_IO]:\r
+       New definitions for Image I/O support.\r
+       (XGetImage, XPutPixel, XGetPixel, XDestroyImage)\r
+       (mac_create_cg_image_from_image, x_create_x_image_and_pixmap)\r
+       [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.\r
+       (mac_data_provider_release_data, image_load_image_io)\r
+       [USE_MAC_IMAGE_IO]: New functions.\r
+       (CGImageCreateWithPNGDataProviderProcType) [MAC_OSX]: Remove typedef.\r
+       (MyCGImageCreateWithPNGDataProvider) [MAC_OSX]: Remove variable.\r
+       (init_image_func_pointer) [MAC_OSX]: Remove function.\r
+       (image_load_quartz2d) [MAC_OSX]: Check availability of\r
+       CGImageCreateWithPNGDataProvider at compile time.\r
+       Use lowercase `false' for boolean constant.\r
+       (png_load, jpeg_load, tiff_load, gif_load) [USE_MAC_IMAGE_IO]:\r
+       Use image_load_image_io.\r
+       (png_load) [!USE_MAC_IMAGE_IO && MAC_OSX]:\r
+       Don't check MyCGImageCreateWithPNGDataProvider.\r
+       (init_image) [MAC_OSX && TARGET_API_MAC_CARBON]:\r
+       Don't call init_image_func_pointer.\r
+\r
+       * macgui.h (Pixmap) [USE_MAC_IMAGE_IO]: New definition for Image I/O.\r
+\r
+       * macterm.c (mac_cg_color_space_rgb) [USE_CG_DRAWING]:\r
+       Make variable non-static.\r
+       (XDrawLine, XCreatePixmap, XCreatePixmapFromBitmapData, XFreePixmap)\r
+       [USE_MAC_IMAGE_IO]: Add implementations for Image I/O support.\r
+\r
+       * macterm.h (ARGB_TO_ULONG, ALPHA_FROM_ULONG): New macros.\r
+       (RED_FROM_ULONG): Mask off higher bits.\r
+       (mac_cg_color_space_rgb) [USE_MAC_IMAGE_IO]: New extern.\r
+\r
+       * s/darwin.h [HAVE_CARBON && HAVE_AVAILABILITYMACROS_H]:\r
+       Include AvailabilityMacros.h.\r
+       (USE_MAC_IMAGE_IO, LIBS_IMAGE) [HAVE_CARBON]: New defines.\r
+       (LIBS_CARBON) [HAVE_CARBON]: Use LIBS_IMAGE.\r
+\r
+2008-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * chartab.c (Fset_char_table_range): If range is t, really set all\r
+       chars to that value.\r
+\r
+2008-05-03  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * dired.c (Ffile_attributes): Don't allow the device number become\r
+       negative.\r
+\r
+2008-05-02  Daiki Ueno  <ueno@unixuser.org>\r
+\r
+       * Makefile.in (lisp, shortlisp): Add epa-file-hook.elc.\r
+\r
+2008-05-02  Juri Linkov  <juri@jurta.org>\r
+\r
+       * minibuf.c (Fread_from_minibuffer, Fread_string, Fread_command)\r
+       (Fread_variable, Fread_buffer, Fcompleting_read): Document the\r
+       DEFAULT argument as a list of default values in docstrings.\r
+\r
+2008-05-01  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * puresize.h (BASE_PURESIZE): Increase to 1210000.\r
+\r
+2008-05-01  Martin Rudalics  <rudalics@gmx.at>\r
+\r
+       * dispnew.c (change_frame_size_1): Preserve small windows when\r
+       shrinking frames by calling set_window_height|width with third\r
+       arg 2.\r
+\r
+       * window.h (struct window): Replace field too_small_ok by field\r
+       resize_proportionally.\r
+\r
+       * window.c (make_window): Initialize resize_proportionally.\r
+       (enlarge_window): Temporarily set resize_proportionally to make\r
+       sure that shrink_windows does scale the window proportionally.\r
+       (shrink_windows): When window has resize_proportionally set try\r
+       to shrink it proportionally by stealing from other windows.\r
+       (struct saved_window, Fset_window_configuration)\r
+       (compare_window_configurations): Handle resize_proportionally.\r
+       (WINDOW_TOTAL_SIZE): New macro.\r
+       (window_min_size, shrink_windows, size_window): Use it.\r
+       (check_min_window_sizes): Remove.  Invalid values of\r
+       window-min-height|width are handled by window_min_size_2 now.\r
+       (size_window, Fsplit_window, enlarge_window)\r
+       (adjust_window_trailing_edge, grow_mini_window): Don't call\r
+       check_min_window_sizes.\r
+       (window_min_size_2, window_min_size_1, window_min_size):\r
+       New argument safe_p for retrieving "safe" minimum sizes.\r
+       (Fdisplay_buffer, Fsplit_window, enlarge_window)\r
+       (adjust_window_trailing_edge, grow_mini_window):\r
+       Adjust arguments of window_min_size... functions.\r
+       (shrink_windows): Argument min_size removed.  New argument\r
+       safe_p allows shrinking windows to their safe minimum sizes.\r
+       Calculate minimum size and decide whether a window shall be\r
+       deleted for each window individually.\r
+       (size_window): When nodelete_p equals 2, tell shrink_windows to\r
+       delete windows only if their new minimum size is no more safe.\r
+       (shrink_window_lowest_first): Call window_min_size_1 to make\r
+       sure to preserve modeline of bottom-most window when resizing\r
+       the minibuffer.\r
+       (Fset_window_configuration, Fcurrent_window_configuration)\r
+       (compare_window_configurations): Do not handle\r
+       window-min-height|width any more.\r
+       (syms_of_window): Clarify window-min-height|width doc-strings.\r
+\r
+2008-04-30  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * dired.c (file_name_completion): Fix up the encoding/decoding issue\r
+       some more.  Copy some of the code from Ftry_completions.\r
+       Remove special case code that dates back to initial revision when the\r
+       slash was only added when necessary and that can't trigger nowadays.\r
+\r
+2008-04-27  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * font.c (font_prop_validate): Signal `error' instead of `font'.\r
+\r
+2008-04-29  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32fns.c (Fw32_battery_status): New defun.\r
+       (syms_of_w32fns): Defsubr it.\r
+\r
+2008-04-28  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * dired.c (file_name_completion): Fix another mixing of encoded\r
+       and decoded names.\r
+\r
+2008-04-28  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * w32fns.c (Fw32_define_rgb_color): Fix typo in docstring.\r
+\r
+2008-04-27  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * fringe.c (Fdefine_fringe_bitmap): Doc fix.\r
+\r
+2008-04-27  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * dired.c (file_name_completion): Fix inappropriate mixing of\r
+       encoded and decoded names.\r
+\r
+       * xterm.c (XTread_socket): Fix use of uninitialized variable.\r
+\r
+       * puresize.h (BASE_PURESIZE): Increase to 1200000.\r
+\r
+2008-04-26  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * dired.c (Ffile_attributes) [WINDOWSNT]: Undo change from\r
+       2008-03-31, it's not needed anymore with `struct stat' definition\r
+       on nt/inc/sys/stat.h.  Undo changes from 2007-01-12 and 2007-01-13\r
+       for the same reasons.\r
+\r
+2008-04-25  Dennis Gilmore  <ausil@fedoraproject.org>  (tiny change)\r
+\r
+       * m/sparc.h: Additional redefinitions for GNU/Linux.\r
+\r
+2008-04-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * macterm.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: New variable.\r
+       (syms_of_macterm) [USE_MAC_TSM]: Defvar it.\r
+       (Qmouse_drag_overlay) [MAC_OSX]: New variable.\r
+       (syms_of_macterm) [MAC_OSX]: Intern and staticpro it.\r
+       (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)\r
+       (mac_ax_selected_text_range) [MAC_OSX]: New functions.\r
+       (mac_ax_number_of_characters) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:\r
+       Likewise.\r
+\r
+       * mactoolbox.c (Vmac_ts_active_input_buf) [USE_MAC_TSM]: Add extern.\r
+       (fast_find_position, x_y_to_hpos_vpos, mac_ax_selected_text_range)\r
+       (mac_ax_number_of_characters): Add externs.\r
+       (mac_get_selected_range, mac_store_buffer_text_to_unicode_chars)\r
+       [USE_MAC_TSM]: Likewise.\r
+       (mac_handle_text_input_event) [MAC_OSX]:\r
+       Handle kEventTextInputOffsetToPos for no active input area case.\r
+       Handle kEventTextInputPosToOffset and kEventTextInputGetSelectedText.\r
+       (mac_handle_document_access_event)\r
+       [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: New function.\r
+       (install_application_handler) [MAC_OSX]: Register handlers for\r
+       kEventTextInputPosToOffset and kEventTextInputGetSelectedText.\r
+       (install_application_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:\r
+       Register mac_handle_document_access_event.\r
+\r
+       * xdisp.c (x_y_to_hpos_vpos, fast_find_position) [HAVE_CARBON]:\r
+       Make functions non-static.\r
+\r
+2008-04-23  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * fileio.c (Vread_file_name_function, Vread_file_name_predicate)\r
+       (read_file_name_completion_ignore_case, insert_default_directory)\r
+       (Qdefault_directory): Move to minibuffer.el.\r
+       (Fread_file_name): Call the new `read-file-name' instead.\r
+\r
+2008-04-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * mac.c (create_apple_event) [TARGET_API_MAC_CARBON]:\r
+       Make function non-static.\r
+       (create_apple_event_from_event_ref) [TARGET_API_MAC_CARBON]:\r
+       Remove function.\r
+       (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:\r
+       Move to mactoolbox.c.\r
+       (mac_event_parameters_to_lisp) [TARGET_API_MAC_CARBON]: New function.\r
+\r
+       * macgui.h (CGFloat) [!CGFLOAT_DEFINED]: New typedef.\r
+       (mac_rect_make): New macro.\r
+\r
+       * macterm.c (mac_draw_image_string_atsui) [MAC_OSX]: Use CGFloat\r
+       instead of float.\r
+       (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.\r
+       (init_cg_color, mac_draw_line, mac_draw_cg_image, XSetForeground)\r
+       (XSetBackground) [USE_CG_DRAWING]: Likewise.\r
+       (mac_draw_image_string_atsui) [MAC_OSX]: Use mac_rect_make instead of\r
+       CGRectMake.\r
+       (mac_draw_image_string_cg) [USE_CG_TEXT_DRAWING]: Likewise.\r
+       (mac_erase_rectangle, mac_draw_cg_image, mac_fill_rectangle)\r
+       (mac_set_clip_rectangles) [USE_CG_DRAWING]: Likewise.\r
+       (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window\r
+       instead of WindowRef in argument type.\r
+       (XCreatePixmap) [!MAC_OS8]: Don't call SetPortWindowPort.\r
+       (mac_invert_rectangle): Use CGContextSetBlendMode if available.\r
+       (mac_set_clip_rectangles, mac_reset_clip_rectangles): Take argument F\r
+       instead of DISPLAY.  All uses changed.\r
+       (mac_handle_size_change): Don't call SET_FRAME_GARBAGED.\r
+       (x_calc_absolute_position): Simplify so as not to use\r
+       FRAME_PIXEL_WIDTH/FRAME_PIXEL_HEIGHT.\r
+\r
+       * macterm.h (XCreatePixmap, XCreatePixmapFromBitmapData): Use Window\r
+       instead of WindowRef in argument type.\r
+       (create_apple_event_from_event_ref, create_apple_event_from_drag_ref)\r
+       [TARGET_API_MAC_CARBON]: Remove externs.\r
+       (create_apple_event, mac_event_parameters_to_lisp)\r
+       [TARGET_API_MAC_CARBON]: Add externs.\r
+\r
+       * mactoolbox.c (Vmac_ts_script_language_on_focus)\r
+       (saved_ts_script_language_on_focus) [USE_MAC_TSM]: Remove externs.\r
+       (XTread_socket) [USE_MAC_TOOLBAR]: Select window if its structure part\r
+       is clicked.\r
+       (x_activate_menubar): Remove extern for saved_menu_event_location.\r
+       (create_apple_event_from_drag_ref) [TARGET_API_MAC_CARBON]:\r
+       Move from mac.c.\r
+\r
+2008-04-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT] (uninterrupt_malloc)\r
+       [HAVE_GTK_AND_PTHREAD && !DOUG_LEA_MALLOC]: Don't use recursive mutex.\r
+\r
+2008-04-23  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32.c (stat): When Vw32_get_true_file_attributes is Qlocal, get\r
+       attributes only for local files.\r
+\r
+       * w32proc.c (syms_of_ntproc): Change Vw32_get_true_file attributes\r
+       default to Qlocal.\r
+\r
+2008-04-22  Juri Linkov  <juri@jurta.org>\r
+\r
+       * buffer.c (Fswitch_to_buffer): Change interactive spec to call\r
+       read-buffer-to-switch instead of using the letter "B".\r
+\r
+2008-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * fileio.c (Qdefault_directory): New variable.\r
+       (Fread_file_name): Use it to pass `dir' to the completion functions.\r
+\r
+2008-04-20  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xdisp.c (pos_visible_p): Check if iterator stops on a display string.\r
+\r
+2008-04-19  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * keyboard.c (Vpre_help_message): Remove.\r
+       (show_help_echo): Remove default C code.\r
+\r
+       * dired.c (directory_files_internal, file_name_completion):\r
+       Only call ENCODE_FILE if the string is indeed decoded.\r
+\r
+2008-04-18  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * Makefile.in (TOOLKIT_DEFINES): Remove.\r
+       (LIBW): Use a bit less #if, remove left over OPEN_LOOK stuff.\r
+\r
+2008-04-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * Makefile.in (MAC_OBJ): Add mactoolbox.o.\r
+       (mactoolbox.o): New target.\r
+\r
+       * mac.c [MAC_OSX] (select_and_poll_event, sys_select):\r
+       Use mac_run_loop_run_once instead of CFRunLoopRunInMode.\r
+\r
+       * macfns.c (x_set_background_color, mac_window, x_create_tip_frame):\r
+       Use mac_set_frame_window_background instead of XSetWindowBackground.\r
+       (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]:\r
+       Use mac_is_window_toolbar_visible instead of IsWindowToolbarVisible.\r
+       (x_set_name_internal) [TARGET_API_MAC_CARBON]: Use mac_set_window_title\r
+       instead of SetWindowTitleWithCFString.\r
+       (mac_update_proxy_icon) [TARGET_API_MAC_CARBON]: Remove BLOCK_INPUT.\r
+       Move function to mactoolbox.c.\r
+       (mac_update_title_bar) [TARGET_API_MAC_CARBON]:\r
+       Use mac_set_window_modified instead of SetWindowModified.\r
+       Add BLOCK_INPUT around mac_set_window_modified/mac_update_proxy_icon.\r
+       (mac_window, x_create_tip_frame): Use mac_create_frame_window.\r
+       (Fx_focus_frame): Use mac_front_non_floating_window instead of\r
+       FrontNonFloatingWindow.  Use mac_activate_window instead of\r
+       ActivateWindow.  Use mac_active_non_floating_window instead of\r
+       ActiveNonFloatingWindow.\r
+       (show_hourglass, hide_hourglass) [TARGET_API_MAC_CARBON]:\r
+       Use mac_show_hourglass and mac_hide_hourglass.\r
+       (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use mac_get_global_mouse\r
+       instead of GetGlobalMouse.\r
+       (Fx_show_tip): Use mac_move_window/mac_size_window/mac_show_window\r
+       instead of MoveWindow/SizeWindow/ShowWindow, respectively.\r
+       Use mac_bring_window_to_front instead of BringToFront.\r
+       (Qfile_name_history) [TARGET_API_MAC_CARBON]: Move extern to\r
+       mactoolbox.c.\r
+       (Fx_file_dialog) [TARGET_API_MAC_CARBON]: Move function body to\r
+       mac_file_dialog in mactoolbox.c.  Use mac_file_dialog.\r
+       (mac_nav_event_callback) [TARGET_API_MAC_CARBON]: Move function to\r
+       mactoolbox.c.\r
+\r
+       * macgui.h [!HAVE_CARBON]: Include Quickdraw.h instead of QuickDraw.h.\r
+       (XtPointer): Move typedef from macmenu.c.\r
+       (enum button_type): Move enum from macmenu.c.\r
+       (widget_value): Move typedef from macmenu.c.\r
+       (M_APPLE, I_ABOUT, EXTRA_STACK_ALLOC, ARGV_STRING_LIST_ID)\r
+       (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)\r
+       (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)\r
+       (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)\r
+       (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)\r
+       (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)\r
+       (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)\r
+       (DIALOG_ICON_TOP_MARGIN): Move defines from macmenu.c.\r
+       (Selection): Move typedef from macselect.c.\r
+       (RAM_TOO_LARGE_ALERT_ID, ABOUT_ALERT_ID) [MAC_OS8]: Move defines from\r
+       macterm.c.\r
+       (mac_set_window_title, mac_set_window_modified, mac_is_window_visible)\r
+       (mac_is_window_collapsed, mac_bring_window_to_front)\r
+       (mac_send_window_behind, mac_hide_window, mac_show_window)\r
+       (mac_collapse_window, mac_front_non_floating_window)\r
+       (mac_active_non_floating_window, mac_activate_window)\r
+       (mac_move_window_structure, mac_move_window, mac_size_window)\r
+       (mac_get_global_mouse, mac_is_window_toolbar_visible): New defines.\r
+\r
+       * macmenu.c [!TARGET_API_MAC_CARBON]: Move includes to mactoolbox.c.\r
+       (enum mac_menu_kind): Move enum to mactoolbox.c.\r
+       (min_menu_id): Move variable to mactoolbox.c.\r
+       (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]: Likewise.\r
+       (DIALOG_WINDOW_RESOURCE): Move define to mactoolbox.c.\r
+       (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)\r
+       (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)\r
+       [TARGET_API_MAC_CARBON]: Likewise.\r
+       (XtPointer): Move typedef to macgui.h.\r
+       (enum button_type): Move enum to macgui.h.\r
+       (widget_value): Move typedef to macgui.h.\r
+       (DIALOG_LEFT_MARGIN, DIALOG_TOP_MARGIN, DIALOG_RIGHT_MARGIN)\r
+       (DIALOG_BOTTOM_MARGIN, DIALOG_MIN_INNER_WIDTH, DIALOG_MAX_INNER_WIDTH)\r
+       (DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE)\r
+       (DIALOG_BUTTON_BUTTON_VERTICAL_SPACE, DIALOG_BUTTON_MIN_WIDTH)\r
+       (DIALOG_TEXT_MIN_HEIGHT, DIALOG_TEXT_BUTTONS_VERTICAL_SPACE)\r
+       (DIALOG_ICON_WIDTH, DIALOG_ICON_HEIGHT, DIALOG_ICON_LEFT_MARGIN)\r
+       (DIALOG_ICON_TOP_MARGIN): Move defines to macgui.h.\r
+       (popup_activated_flag): Make variable non-static.\r
+       (x_activate_menubar, install_menu_quit_handler, pop_down_menu)\r
+       (add_menu_item, fill_menu, dispose_menus):\r
+       Move functions to mactoolbox.c.\r
+       (restore_show_help_function, menu_target_item_handler)\r
+       (install_menu_target_item_handler, mac_handle_dialog_event)\r
+       (install_dialog_event_handler, pop_down_dialog, create_and_show_dialog)\r
+       [TARGET_API_MAC_CARBON]: Likewise.\r
+       (menu_quit_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]: Likewise.\r
+       (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.\r
+       (find_and_call_menu_selection, name_is_separator): Make function\r
+       non-static.\r
+       (Vshow_help_function, timer_check) [TARGET_API_MAC_CARBON]: Move extern\r
+       to mactoolbox.c.\r
+       (set_frame_menubar): Don't call install_menu_quit_handler.\r
+       (menu_item_selection): New variable.\r
+       (mac_menu_show): Use create_and_show_popup_menu.\r
+       (create_and_show_dialog) [TARGET_API_MAC_CARBON]: Don't return\r
+       selection but set variable menu_item_selection.  All uses changed.\r
+       (mac_fill_menubar): Rename from fill_menubar.  All uses changed.\r
+       Call install_menu_quit_handler.  Move to mactoolbox.c.\r
+\r
+       * macselect.c [!TARGET_API_MAC_CARBON]: Don't include Scrap.h.\r
+       (Selection): Move typedef to macgui.h.\r
+       (Vselection_converter_alist, Qmac_scrap_name, Qmac_ostype)\r
+       (Vmac_apple_event_map, Qmac_apple_event_class, Qmac_apple_event_id):\r
+       Make variables non-static.\r
+       (Vmac_dnd_known_types) [TARGET_API_MAC_CARBON]: Likewise.\r
+       (mac_handle_apple_event, cleanup_all_suspended_apple_events):\r
+       Make functions non-static.\r
+       (Vmac_service_selection) [MAC_OSX]: Likewise.\r
+       (mac_get_selection_from_symbol, get_flavor_type_from_symbol)\r
+       (mac_valid_selection_target_p, mac_clear_selection)\r
+       (mac_get_selection_ownership_info, mac_valid_selection_value_p)\r
+       (mac_put_selection_value, mac_selection_has_target_p)\r
+       (mac_get_selection_value, mac_get_selection_target_list)\r
+       (init_apple_event_handler, install_drag_handler, remove_drag_handler):\r
+       Move functions to mactoolbox.c.\r
+       (mac_do_track_drag, mac_do_receive_drag) [TARGET_API_MAC_CARBON]:\r
+       Likewise.\r
+       (copy_scrap_flavor_data, mac_handle_service_event)\r
+       (install_service_handler) [MAC_OSX]: Likewise.\r
+       (syms_of_macselect) <Vmac_dnd_known_types>:\r
+       Use mac_dnd_default_known_types.\r
+\r
+       * macterm.h (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y):\r
+       Move to mactoolbox.c.\r
+       (HOURGLASS_WIDTH, HOURGLASS_HEIGHT): Change to 15.\r
+       (Fx_selection_owner_p): Add EXFUN.\r
+       (install_window_handler, remove_window_handler, XSetWindowBackground):\r
+       Remove externs.\r
+       (do_apple_menu) [!TARGET_API_MAC_CARBON]: Likewise.\r
+       (mac_prepare_for_quickdraw) [USE_CG_DRAWING]: Likewise.\r
+       (x_raise_frame, x_lower_frame, mac_alert_sound_play)\r
+       (install_application_handler, mac_get_frame_bounds, mac_get_frame_mouse)\r
+       (mac_convert_frame_point_to_global, mac_set_frame_window_background)\r
+       (mac_update_begin mac_update_end, mac_frame_up_to_date, x_flush)\r
+       (mac_create_frame_window, mac_dispose_frame_window, mac_begin_clip)\r
+       (mac_end_clip, mac_create_scroll_bar, mac_dispose_scroll_bar)\r
+       (mac_set_scroll_bar_bounds, mac_redraw_scroll_bar, mac_fill_menubar)\r
+       (create_and_show_popup_menu, mac_get_selection_from_symbol)\r
+       (mac_valid_selection_target_p, mac_clear_selection)\r
+       (mac_get_selection_ownership_info, mac_valid_selection_value_p)\r
+       (mac_put_selection_value, mac_selection_has_target_p)\r
+       (mac_get_selection_value, mac_get_selection_target_list): Add externs.\r
+       (mac_update_proxy_icon, mac_show_hourglass, mac_hide_hourglass)\r
+       (mac_reposition_hourglass, mac_file_dialog, create_and_show_dialog)\r
+       (mac_dnd_default_known_types) [TARGET_API_MAC_CARBON]: Likewise.\r
+       (mac_run_loop_run_once) [MAC_OSX]: Likewise.\r
+       (mac_dialog) [!TARGET_API_MAC_CARBON]: Likewise.\r
+       (mac_begin_cg_clip, mac_end_cg_clip) [USE_CG_DRAWING]: Likewise.\r
+       (x_set_toolkit_scroll_bar_thumb) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.\r
+       (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Likewise.\r
+\r
+       * mactoolbox.c: New file.\r
+\r
+2008-04-18  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * dired.c (Ffile_attributes) [WINDOWSNT]: Cast uid and gid to unsigned.\r
+\r
+2008-04-18  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * character.c (Fmultibyte_char_to_unibyte):\r
+       Return latin1 chars unchanged.\r
+\r
+       * fileio.c (Fexpand_file_name): Refine last fix so `nm' is only\r
+       relocated if it points to `name'.\r
+\r
+2008-04-17  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * data.c (Faset): Allow setting a multibyte character in an\r
+       ASCII-only unibyte string.\r
+\r
+       * lisp.h (STRING_SET_MULTIBYTE): New macro.\r
+\r
+2008-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * Makefile.in: Don't use HAVE_GTK and don't -DUSE_GTK since it's now\r
+       done in config.h.\r
+\r
+2008-04-16  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * character.c (Fchar_bytes, Fchar_width, Fstring_width)\r
+       (Fchar_direction): Add usage in the docstring.\r
+\r
+2008-04-15  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * keyboard.c (read_key_sequence): Remove always-true checks.\r
+\r
+2008-04-14  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (w32font_open_internal): Set max_bounds.descent in\r
+       compatibility struct, for better underline positioning.\r
+\r
+2008-04-13  David Hansen  <david.hansen@gmx.net>\r
+\r
+       * dbusbind.c (dbus-get-unique-name): Remove extra copying of name\r
+       string.\r
+\r
+2008-04-12  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * m/hp800.h (XUINT, XSET): Remove.\r
+\r
+2008-04-12  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * fileio.c (Fexpand_file_name): Add declaration for `p' missing in\r
+       previous change.\r
+\r
+2008-04-12  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * fileio.c (Fexpand_file_name): Tighten the scope of `p' and `o' vars.\r
+       Relocate `nm' after calling DECODE_FILE, in case the GC was run.\r
+\r
+2008-04-11  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * keymap.h (map_keymap_canonical): Declare.\r
+       * xmenu.c (single_keymap_panes): Use it.\r
+\r
+2008-04-11  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * eval.c (Fdefvaralias): If the alias is bound and the target is not,\r
+       set the target's value to that of the alias.\r
+\r
+2008-04-11  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * term.c (set_tty_color_mode): Left over typo.\r
+\r
+2008-04-10  Michael Albinus  <michael.albinus@gmx.de>\r
+\r
+       * fileio.c (Fmake_symbolic_link): Surround code by #ifdef S_IFLNK\r
+       only after check for file name handler functions.  Signal, when\r
+       native functionality is not supported.\r
+       (syms_of_fileio): Declare it unconditionally.\r
+\r
+2008-04-10  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32menu.c (is_simple_dialog, simple_dialog_show): New functions.\r
+       (Fx_popup_dialog): Handle simple yes/no questions as dialogs.\r
+\r
+       * w32.c (logon_network_drive): Also logon to remote drives that\r
+       are mapped to drive letters.\r
+\r
+2008-04-10  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * xdisp.c (truncate-partial-width-windows): Doc fix.\r
+\r
+2008-04-10  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * fileio.c (read_file_name_cleanup, Fread_file_name_internal):\r
+       Move functions to minibuffer.el.\r
+       (syms_of_fileio): Don't declare them.\r
+\r
+2008-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * minibuf.c (Vcompletion_auto_help): Move to minibuffer.el.\r
+       (syms_of_minibuf): Remove its initialization.\r
+\r
+       * minibuf.c (temp_echo_area_glyphs): Remove unused function.\r
+\r
+2008-04-09  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * editfns.c (Ffield_string_no_properties): Fix typo in docstring.\r
+\r
+2008-04-09  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * makefile.w32-in (distclean): Delete makefile too.\r
+       (maintainer-clean): New target.\r
+\r
+       * xdisp.c (redisplay_internal) [!WINDOWSNT]: Conditionalize last change.\r
+\r
+       * w32term.c (w32_compute_glyph_string_overhangs): Compute overhangs\r
+       for new font backend and composite cases.\r
+\r
+2008-04-09  Jan Djärv  <jan.h.d@swipnet.se>\r
+\r
+       * atimer.c (alarm_signal_handler): Call run_timers if not SYNC_INPUT.\r
+       Most of the code moved to run_timers.\r
+       (do_pending_atimers): Call run_timers.\r
+       (run_timers): New function.\r
+\r
+       * sysdep.c (emacs_write): If SYNC_INPUT and pending_atimers,\r
+       run atimers.\r
+\r
+       * process.c (wait_reading_process_output): The same as above.\r
+\r
+2008-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * minibuf.c (last_exact_completion): Remove variable.\r
+       (Fdelete_minibuffer_contents, do_completion, Fminibuffer_complete)\r
+       (complete_and_exit_1, complete_and_exit_2)\r
+       (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)\r
+       (Fdisplay_completion_list, display_completion_list_1)\r
+       (Fminibuffer_completion_help, Fself_insert_and_exit)\r
+       (Fexit_minibuffer, Fminibuffer_message): Move functions to\r
+       minibuffer.el.\r
+       (syms_of_minibuf): Remove corresponding initializations.\r
+\r
+       * keyboard.c (Qdeactivate_mark): New var.\r
+       (command_loop_1): Use it to call `deactivate-mark'.\r
+       (syms_of_keyboard): Initialize it.\r
+\r
+       * xdisp.c (redisplay_internal): Reset tty's color_mode when switching\r
+       to another frame.\r
+       * frame.c (do_switch_frame): Refine the top_frame/async_visible code.\r
+       Don't call set_tty_color_mode.\r
+       (store_frame_param): Reset previous_frame rather than call\r
+       set_tty_color_mode.\r
+       * term.c (set_tty_color_mode): Rewrite.\r
+       * dispextern.h (set_tty_color_mode): New type.\r
+       * termchar.h (struct tty_display_info): Add `previous_color_mode'.\r
+\r
+2008-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * keymap.c (access_keymap): Remove the value 2 for t_ok which was used\r
+       for generic chars, which do not exist any more in emacs-unicode.\r
+\r
+2008-04-08  Michael Albinus  <michael.albinus@gmx.de>\r
+\r
+       * coding.c (detect_coding_emacs_mule)\r
+       (Ffind_operation_coding_system): Fix typo.\r
+\r
+2008-04-08  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32uniscribe.c (SNAME): Extract only symbol name.\r
+\r
+       * w32font.h (struct w32_metric_cache): New struct.\r
+       (w32font_info): Use it.\r
+       (W32METRIC_NO_ATTEMPT, W32METRIC_SUCCESS, W32METRIC_FAIL)\r
+       (CACHE_BLOCKSIZE): New constants.\r
+\r
+       * w32font.c (Qja, Qko, Qzh): New symbols.\r
+       (syms_of_w32font): Initialise them.\r
+       (font_matches_spec): Use them to filter by language.\r
+       (recompute_cached_metrics): Remove function.\r
+       (compute_metrics, clear_cached_metrics): New functions.\r
+       (w32font_encode_char): Use them to manage metric cache.\r
+       (w32font_text_extents): Cache metrics for all glyphs on demand.\r
+       Delay converting glyph indices to WORD until needed.\r
+       (w32font_open_internal): Initialize metric cache to empty.\r
+       (registry_to_w32_charset): Charset should always be a symbol.\r
+       (fill_in_logfont, list_all_matching_fonts): Family should\r
+       always be a symbol.\r
+\r
+2008-04-06  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32uniscribe.c (uniscribe_shape): Increase items buffer size.\r
+       Give up if glyph indices not supported.  Use uniscribe obtained\r
+       ABC widths for individual metrics.  Map glyph clusters back to\r
+       characters using fClusterStart flag.  Return number of glyphs\r
+       produced, not chars processed.\r
+       (uniscribe_shape): Map char at FROM to current glyph.\r
+\r
+2008-04-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * macmenu.c (fill_menu) [TARGET_API_MAC_CARBON]:\r
+       Use SetMenuItemHierarchicalMenu.\r
+\r
+2008-04-05  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * image.c (pbm_load): Allow color values up to 65535.\r
+       Throw an error if max_color_idx is outside the supported range.\r
+       Report an error when image size is invalid.\r
+       Read two bytes at a time when raw images have max_color_idx above 255.\r
+\r
+2008-04-05  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * w32.c (readdir): If FindFirstFile/FindNextFile return in\r
+       cFileName a file name that includes `?' characters, use the 8+3\r
+       alias in cAlternateFileName instead.\r
+\r
+2008-04-05  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * ccl.c (ccl_driver): If ccl->quit_silently is nonzero, don't\r
+       append "CCL: Quitted" when the CCL program is quitted.\r
+       (setup_ccl_program): Initialize ccl->quit_silently to zero.\r
+\r
+       * ccl.h (struct ccl_program): New member quit_silently.\r
+\r
+2008-04-05  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * search.c (compile_pattern_1): Treat non-nil and non-string of\r
+       search-spaces-regexp as nil.\r
+\r
+       * minibuf.c (Fassoc_string): Tweak docstring.\r
+\r
+2008-04-05  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * dired.c (Ffile_attributes): Support inode numbers wider than 32\r
+       bits.  Remove ugly WINDOWSNT-specific kludge introduced on\r
+       2008-03-14 to force inode be positive.\r
+\r
+       * w32.c (sys_chown, stat, fstat): Use S_* constants instead of\r
+       _S_* ones, since we now use our own sys/stat.h.\r
+       (stat, fstat): Don't mangle the inode number.\r
+       (init_user_info): Don't restrict UID and GID to 0-60000 range.\r
+\r
+2008-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * frame.h (struct frame): Give one more bit to `visible' since we use\r
+       values larger than 1 to indicate obscured frames on ttys.\r
+\r
+       * keymap.c (Qkeymap_canonicalize): New var.\r
+       (Fmap_keymap_internal): New fun.\r
+       (describe_map): Use keymap-canonicalize.\r
+\r
+       * undo.c (last_boundary_buffer, last_boundary_position): New vars.\r
+       (Fundo_boundary): Set them.\r
+       (syms_of_undo): Initialize them.\r
+       (record_point): Use them instead of last_point_position*.\r
+       (last_undo_buffer): Change type.\r
+\r
+2008-04-04  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (w32font_text_extents): Use font's ascent and descent.\r
+       (recompute_cached_metrics): Don't set ascent and descent per char.\r
+\r
+       * w32uniscribe.c (uniscribe_check_otf): Fix last change.\r
+       (uniscribe_check_otf): Add GC protection before consing.\r
+       Rearrange loop for counting features.\r
+\r
+2008-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * insdel.c (insert_from_buffer_1): Don't compare bytes in destination\r
+       buffer with byte-size of source buffer.\r
+\r
+2008-04-03  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * callint.c (Fcall_interactively): Handle temporary region even\r
+       when shift-select-mode is off.\r
+\r
+2008-04-03  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32uniscribe.c (uniscribe_check_otf): Sanity check otf_spec.\r
+\r
+2008-04-03  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (CATEGORY_MASK_ANY): Add CATEGORY_MASK_UTF_16_AUTO.\r
+       (CATEGORY_MASK_UTF_16): Likewise.\r
+       (detect_coding_utf_16): Add heuristics to reject utf-16 for a\r
+       binary file.\r
+       (detect_coding): Add null-byte detection for a binary file.\r
+       (detect_coding_system): Likewise.\r
+\r
+2008-04-03  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32uniscribe.c: New file.\r
+\r
+       * font.h (uniscribe_font_driver) [WINDOWSNT]: Declare for w32fns.c.\r
+\r
+       * w32font.h (uniscribe_check_otf): Declare for w32font.c.\r
+\r
+       * w32font.c (Qbalinese, Qbuginese, Qbuhid, Qcuneiform, Qcypriot)\r
+       (Qdeseret, Qglagolitic, Qgothic, Qhanunoo, Qkharoshthi)\r
+       (Qlimbu, Qlinear_b, Qold_italic, Qold_persian, Qosmanya)\r
+       (Qphags_pa, Qphoenician, Qshavian, Qsyloti_nagri)\r
+       (Qtagalog, Qtagbanwa, Qtai_le, Qtifinagh, Qugaritic)\r
+       (Qphonetic): New symbols.\r
+       (syms_of_w32font): Initialize them.\r
+       (font_supported_scripts): Use them.\r
+       (w32font_list_family): List all charsets.\r
+       (w32font_text_extents, recompute_cached_metrics): Fix metric\r
+       calculations.\r
+       (w32_enumfont_pattern_entity): Make full_type a DWORD.\r
+       Give opentype fonts their own format.\r
+       (font_matches_spec): New arguments backend and logfont.\r
+       Handle :otf spec for uniscribe backend.\r
+       (add_font_entity_to_list): Match truetype fonts in uniscribe backend.\r
+       (fill_in_logfont): Use DEFAULT_CHARSET when charset not supplied.\r
+\r
+       * w32fns.c (Fx_create_frame): Conditionally register uniscribe\r
+       font backend.\r
+       (globals_of_w32fns): Initialize uniscribe font backend.\r
+\r
+       * makefile.w32-in (CONFIG_H): New variable.  Use it to clean up\r
+       dependencies.\r
+       (w32uniscribe.$(O)): New file to build.\r
+       (FONT_OBJ): Include w32uniscribe.$(O).\r
+       (LIBS): Add uniscribe libraries.\r
+\r
+       * ftfont.c (ftfont_get_open_type_spec): Check spec->script, not val.\r
+\r
+2008-04-02  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * callint.c (Vshift_select_mode): New var.\r
+       (Finteractive): Document new ^ spec.\r
+       (Fcall_interactively): Call handle-shift-selection if the ^ spec\r
+       is present.\r
+\r
+       * keyboard.c (Vthis_command_keys_shift_translated): New var.\r
+       (command_loop_1): Avoid running the direct display versions of\r
+       forward-char and backward-char if shift-selection may occur.\r
+       (read_key_sequence): Set Vthis_command_keys_shift_translated if\r
+       shift-translation takes place.\r
+\r
+       * buffer.c (Vtransient_mark_mode): Move docstring to simple.el to\r
+       avoid clobbering by define-minor-mode.\r
+\r
+       * cmds.c (Fforward_char, Fbackward_char, Fforward_line)\r
+       (Fbeginning_of_line, Fend_of_line): Add ^ interactive spec.\r
+\r
+       * syntax.c (Fforward_word): Add ^ interactive spec.\r
+\r
+       * window.c (Fscroll_up, Fscroll_down, Fscroll_left)\r
+       (Fscroll_right): Add ^ interactive spec.\r
+\r
+2008-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * xdisp.c (try_window_id): Don't forget to reset delta_bytes.\r
+\r
+       * casefiddle.c (casify_object): Fix up int/EMACS_INT mixup.\r
+\r
+       * charset.c (Funibyte_charset, Fset_unibyte_charset): Remove.\r
+\r
+2008-03-31  Juri Linkov  <juri@jurta.org>\r
+\r
+       * window.c (Fdisplay_buffer): Reinitialize `tem' to nil.\r
+\r
+2008-03-30  Jan Djärv  <jan.h.d@swipnet.se>\r
+\r
+       * gtkutil.c (xg_set_geometry): Fix indentation.\r
+       (xg_resize_outer_widget): Remove.\r
+       (x_wm_size_hint_off): Fix indentation.\r
+       (xg_frame_set_char_size): Call flush_and_sync after\r
+       gtk_window_resize.\r
+       (x_wm_set_size_hint): Pass NULL as geometry window to\r
+       gtk_window_set_geometry_hints due to Gtk+ bug nr 68668.\r
+       Add menu bar and tool bar height to base height.\r
+       (xg_update_frame_menubar, free_frame_menubar)\r
+       (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)\r
+       (update_frame_tool_bar, free_frame_tool_bar):\r
+       Change xg_resize_outer_widget to xg_frame_set_char_size.\r
+\r
+2008-03-30  Michael Albinus  <michael.albinus@gmx.de>\r
+\r
+       * dbusbind.c (QCdbus_timeout): New D-Bus internal symbol.\r
+       (Fdbus_call_method): New parameter TIMEOUT.\r
+       (dbus-send-signal): Optimize UNGCPRO call.\r
+\r
+2008-03-29  Juri Linkov  <juri@jurta.org>\r
+\r
+       * window.c (Fdisplay_buffer): Move call to\r
+       Vsplit_window_preferred_function out of conditions that check\r
+       if window is eligible for vertical splitting.\r
+       When Vsplit_window_preferred_function is non-nil, call it and use\r
+       its non-nil return value as window.  Otherwise, continue doing\r
+       vertical splitting using Fsplit_window with arg horflag=nil.\r
+       (syms_of_window) <Vsplit_window_preferred_function>: Change the\r
+       default value from `split-window' to nil.\r
+\r
+2008-03-29  Juri Linkov  <juri@jurta.org>\r
+\r
+       * callint.c (Fcall_interactively): Revert 2008-03-16 change\r
+       for interactive code letters 'b' and 'B'.\r
+\r
+2008-03-29  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * fileio.c (Fexpand_file_name): Convert the value of $HOME to a\r
+       multibyte string.\r
+\r
+2008-03-29  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * keyboard.c (pending_funcalls): New var.\r
+       (timer_check): Run it.\r
+       (syms_of_keyboard): Initialize it.\r
+       * terminal.c (Qrun_hook_with_args, Qdelete_terminal_functions)\r
+       (Vdelete_terminal_functions): New vars.\r
+       (syms_of_terminal): Initialize them.\r
+       (Fdelete_terminal): Run delete-terminal-functions.\r
+       * xdisp.c (safe_eval): Rewrite.\r
+       (safe_call2): New fun.\r
+       * frame.c (Qdelete_frame_functions): New var.\r
+       (syms_of_frame): Initialize it.\r
+       (Fdelete_frame): Use it and use safe_call2 and pending_funcalls.\r
+       * lisp.h (safe_call2, pending_funcalls): Declare.\r
+\r
+2008-03-28  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * indent.c (Fmove_to_column): Move declaration before statements.\r
+\r
+2008-03-27  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * frame.h (enum fullscreen_type): Give it a name.  Move it before use.\r
+       (struct frame): Use bit fields for boolean vars.\r
+\r
+       * process.c (server_accept_connection): Simplify naming.\r
+       (emacs_get_tty_pgrp): Use SDATA.\r
+\r
+       * coding.c (decode_coding_object): Fix last change.\r
+\r
+2008-03-27  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32fns.c (start_hourglass): Suppress hourglass on tty frames.\r
+\r
+2008-03-27  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * charset.c (Fdefine_charset_internal): Change the way of\r
+       registering charsets in Vcharset_order_list.\r
+       (syms_of_charset): Make the charset `eight-bit' supplementary.\r
+\r
+2008-03-26  Alexandre Oliva  <aoliva@redhat.com>  (tiny change)\r
+\r
+       * regex.c (EXTEND_BUFFER): Change order of pointer addition\r
+       operations, to avoid having the difference between pointers\r
+       overflow.\r
+\r
+2008-03-26  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * indent.c (check_display_width): New fun.\r
+       (scan_for_column): Use it.\r
+\r
+       * data.c (syms_of_data): Mark most-positive-fixnum and\r
+       most-negative-fixnum as constants.\r
+\r
+       * xdisp.c (redisplay_internal): Reset selected_frame earlier.\r
+\r
+       * indent.c (scan_for_column): Extract from current_column_1.\r
+       Merge with the same code from Fmove_to_column.\r
+       (current_column_1, Fmove_to_column): Use it.\r
+\r
+2008-03-25  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * keymap.c (map_keymap_internal): New fun.\r
+       (map_keymap): Use it.\r
+       (Fmap_keymap_internal): New fun.\r
+       (Fmap_keymap): Remove left-out test from before make_save_value.\r
+\r
+       * keymap.c (Fmap_keymap): Use `map-keymap-sorted.\r
+\r
+       * frame.c (Fmodify_frame_parameters, x_set_frame_parameters):\r
+       Use XCAR/XCDR.\r
+\r
+       * process.h (struct Lisp_Process): Remove filter_multibyte.\r
+       * process.c (QCfilter_multibyte): Remove.\r
+       (setup_process_coding_systems): Don't use filter_multibyte.\r
+       (Fstart_process, Fmake_network_process): Don't set filter_multibyte.\r
+       (read_process_output): Don't adjust multibyteness to filter_multibyte.\r
+       (Fset_process_filter_multibyte): Change the coding-system to\r
+       approximate the previous behavior.\r
+       (Fprocess_filter_multibyte_p): Get the multibyteness straight from the\r
+       coding-system.\r
+\r
+       * coding.c (decode_coding_object): When not decoding into a buffer,\r
+       obey the coding system's preference of (uni|multi)byte.\r
+\r
+2008-03-24  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * casefiddle.c (casify_object): Avoid pathological N^2 worst case if\r
+       every char is changed and has a different byte-length.\r
+       (Fupcase_word, Fdowncase_word, Fcapitalize_word, operate_on_word):\r
+       Fix int -> EMACS_INT.\r
+\r
+2008-03-23  David Hansen  <david.hansen@gmx.net>\r
+\r
+       * dbusbind.c (xd_read_message): Remove extra copying of message\r
+       strings.  Check for NULL `interface' or `member'.\r
+\r
+2008-03-22  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * w32.c (readdir): If FindFirstFile/FindNextFile return in\r
+       cFileName a file name that includes `?' characters, use the 8+3\r
+       alias in cAlternateFileName instead.\r
+\r
+2008-03-21  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * buffer.c (enlarge_buffer_text): Fix int -> EMACS_INT.\r
+\r
+2008-03-20  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * intervals.c (temp_set_point, temp_set_point_both): Use EMACS_INT.\r
+       (set_point, set_point_both): Use EMACS_INT.  Remove `buffer' arg,\r
+       work on current_buffer only instead (that was already the case\r
+       for some of the code anyway).\r
+       * buffer.h (set_point, set_point_both): Remove buffer arg, use long int.\r
+       (temp_set_point, temp_set_point_both): Use EMACS_INT.\r
+       (SET_PT, SET_PT_BOTH): Adjust.\r
+       * intervals.h (set_point, temp_set_point, set_point_both)\r
+       (temp_set_point_both): Remove redundant declarations.\r
+\r
+2008-03-20  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * fileio.c (Finsert_file_contents):\r
+       * lread.c (Feval_buffer): Use BUF_TEMP_SET_PT.\r
+       * buffer.h (BUF_SET_PT): Remove.  set_point_both doesn't work right\r
+       when buffer != current_buffer anyway.\r
+\r
+2008-03-20  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * callint.c (Fcall_interactively) [case 'B']: Use other-buffer\r
+       as default.\r
+\r
+2008-03-19  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32fns.c (hourglass_timer, hourglass_hwnd): New variables.\r
+       (syms_of_w32fns): Initialize them.\r
+       (HOURGLASS_ID): New constant.\r
+       (x_window_to_frame): Don't check hourglass_window.\r
+       (w32_wnd_proc) <WM_TIMER>: Handle hourglass_timer.\r
+       (w32_wnd_proc) <WM_EXITMENULOOP>: Set pending hourglass cursor.\r
+       (w32_wnd_proc) <WM_SETCURSOR>: Set the hourglass or current cursor.\r
+       (w32_wnd_proc) <WM_EMACS_SETCURSOR>: Set frame's current_cursor.\r
+       Only change the cursor if hourglass is not active.\r
+       (Fx_create_frame): Initialize frame's current_cursor.\r
+       (hourglass_atimer): Remove.\r
+       (hourglass_started): New function.\r
+       (start_hourglass, cancel_hourglass, hide_hourglass): Adapt to w32.\r
+       (show_hourglass): Adapt to w32, changing argument to frame.\r
+\r
+       * w32term.h (struct w32_output): Remove hourglass_window.\r
+       Add current_cursor.\r
+\r
+       * eval.c (call_debugger, Fsignal):\r
+       * keyboard.c (recursive_edit_1, cmd_error, Ftop_level)\r
+       (command_loop_1, Fread_key_sequence, Fread_key_sequence_vector)\r
+       (Fexecute_extended_command, cancel_hourglass_unwind):\r
+       * minibuf.c (read_minibuf):\r
+       * fns.c (Fy_or_n_p): Enable hourglass when HAVE_WINDOW_SYSTEM.\r
+\r
+2008-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * window.c (run_funs): New fun.\r
+       (run_window_configuration_change_hook): Use it to run the buffer-local\r
+       and the global part of the hook.\r
+\r
+       * xdisp.c (format_mode_line_unwind_data): Add window argument.\r
+       (unwind_format_mode_line): Restore selected window.\r
+       (x_consider_frame_title, Fformat_mode_line): Set selected window.\r
+\r
+2008-03-17  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * editfns.c (Fchar_equal): Check they are valid characters.\r
+\r
+       * buffer.h (Fbuffer_list): Declare (for use in callint.c).\r
+\r
+2008-03-17  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * regex.c (re_match_2_internal): Properly match raw 8-bit bytes\r
+       against a charset.\r
+\r
+       * lisp.h (Fbuffer_list): Declare.\r
+\r
+2008-03-17  Jan Djärv  <jan.h.d@swipnet.se>\r
+\r
+       * gtkutil.c (free_frame_tool_bar): Only call gtk_container_remove if\r
+       handlebox_widget is != 0.\r
+\r
+2008-03-16  Juri Linkov  <juri@jurta.org>\r
+\r
+       * callint.c (Fcall_interactively): For interactive code letters\r
+       'b' and 'B' put the buffer list into the list of default "future"\r
+       values of the minibuffer.\r
+\r
+2008-03-16  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * keyboard.c (read_key_sequence): Fix downcasing of letters with\r
+       modifiers.\r
+\r
+       * regex.c (re_match_2_internal): Correct matching of a charset\r
+       against latin-1 characters.\r
+\r
+2008-03-16  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY)\r
+       (STRING_CHAR_ADVANCE_NO_UNIFY): New macros.\r
+       (coding_alloc_by_making_gap): Fix the way to preserve data in the gap.\r
+       (alloc_destination): Fix the 2nd arg to coding_alloc_by_making_gap.\r
+       (encode_coding_utf_8): Use CHAR_STRING_ADVANCE_NO_UNIFY instead of\r
+       CHAR_STRING_ADVANCE.\r
+       (produce_chars): Fix for the case that the source and the\r
+       destination are the same buffer.  Use CHAR_STRING_ADVANCE_NO_UNIFY\r
+       instead of CHAR_STRING_ADVANCE.\r
+       (consume_chars): Use STRING_CHAR_ADVANCE_NO_UNIFY instead of\r
+       STRING_CHAR_ADVANCE.\r
+\r
+2008-03-15  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * regex.c (re_match_2_internal): Correct matching of eight bit\r
+       characters in unibyte strings.\r
+\r
+2008-03-15  Martin Rudalics  <rudalics@gmx.at>\r
+\r
+       * buffer.c (overlays_in, Foverlays_in): Include empty overlays\r
+       at end of range when it coincides with the end of the buffer.\r
+\r
+2008-03-14  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * dired.c (Ffile_attributes) [WINDOWSNT]: Force inode be positive.\r
+\r
+       * w32fns.c (globals_of_w32fns, Fx_create_frame): Fix last change.\r
+\r
+2008-03-14  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * editfns.c (initial_tz): New variable.\r
+       (syms_of_editfns): Initialize it.\r
+       (Fset_time_zone_rule): Set it when first called.\r
+       Use it when TZSTRING is nil.\r
+\r
+       * w32fns.c (MONITOR_DEFAULT_TO_NEAREST, struct MONITOR_INFO)\r
+       (MonitorFromPoint_Proc, GetMonitorInfo_Proc): New definitions.\r
+       (monitor_from_point_fn, get_monitor_info_fn): New globals.\r
+       (globals_of_w32fns): Initialize them.\r
+       (compute_tip_xy): Use them to position tooltips.\r
+\r
+2008-03-14  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * emacs.c (main): Revert previous change.\r
+       (standard_args): Revert -internal-script back to -scriptload,\r
+       and remove the long-option form.\r
+\r
+2008-03-13  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * emacs.c (main, standard_args): Rename -scriptload to -internal-script.\r
+       Remove option -enable-font-backend.\r
+\r
+2008-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer.\r
+\r
+2008-03-11  Jan Djärv  <jan.h.d@swipnet.se>\r
+\r
+       * xterm.c (x_connection_closed): For GTK: If this is the last\r
+       terminal just exit without closing the display.\r
+\r
+2008-03-11  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (w32font_full_name): Use floor to round.\r
+\r
+2008-03-10  dhruva  <dhruvakm@gmail.com>  (tiny change)\r
+\r
+       * sound.c (alsa_configure): Declare vol at beginning of block.\r
+\r
+       * fontset.c (Ffontset_info): Remove extra semicolon.\r
+\r
+2008-03-10  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * fileio.c (Fsubstitute_in_file_name): Fix up computation of maximum\r
+       size of resulting string.\r
+\r
+2008-03-10  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * dispnew.c (adjust_glyph_matrix): Initialize window_height.\r
+\r
+2008-03-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * xdisp.c (handle_single_display_spec): Undo 2007-10-16 changes.\r
+       Don't pretend as if characters with display property haven't been\r
+       consumed for string-replacing-string case.\r
+\r
+2008-03-08  Kim F. Storm  <storm@cua.dk>\r
+\r
+       * xdisp.c (GET_NEXT_DISPLAY_ELEMENT): New macro.\r
+       (get_next_display_element, next_element_from_string)\r
+       (next_element_from_ellipsis, next_element_from_buffer): Use it.\r
+\r
+2008-03-08  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * process.h (struct Lisp_Process): Declare bit fields as unsigned.\r
+\r
+2008-03-06  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (w32_registry): Take font_type argument.  Use ANSI\r
+       when charset not specified.  Only translate ANSI to unicode when\r
+       font_type is truetype.\r
+       (w32font_coverage_ok): New function.\r
+       (add_font_entity_to_list): Use it to filter unsuitable fonts.\r
+\r
+2008-03-05  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * lread.c (Fread_char): Resolve modifiers.\r
+       (Fread_char_exclusive): Likewise.\r
+\r
+       * character.c (char_resolve_modifier_mask): New function.\r
+       (char_string): Use char_resolve_modifier_mask.\r
+       (Fchar_resolve_modifiers): New function.\r
+       (syms_of_character): Declare Fchar_resolve_modifiers as Lisp\r
+       function.\r
+\r
+2008-03-04  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * makefile.w32-in: Always include w32font.c in the build.\r
+       * w32font.c: Wrap in USE_FONT_BACKEND conditional.\r
+\r
+2008-03-04  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * Makefile.in (clean): Remove emacs-*.*.* instead of emacs-*.\r
+       (versionclean): Likewise.\r
+\r
+2008-03-04  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * .cvsignore: Add oo.\r
+\r
+2008-03-03  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * coding.c (decode_coding_object): Inhibit gap shrinking while\r
+       decoding in place.\r
+\r
+2008-03-03  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * w32term.c: Remove unused include "gnu.h".\r
+       * makefile.w32-in (w32term.o): Don't depend on gnu.h.\r
+\r
+       * gnu.h: Rename to ...\r
+       * emacs-icon.h: ... this.\r
+       * xterm.c: Use emacs-icon.h instead of gnu.h.\r
+       * Makefile (xterm.o): Depend on emacs-icon.h, not gnu.h.\r
+\r
+2008-03-03  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * w32font.c: Include math.h.\r
+\r
+2008-03-03  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (recompute_cached_metrics): Change font arg to w32font_info.\r
+       Compute options separately.\r
+       (w32font_open_internal): Set glyph_idx before caching metrics.\r
+\r
+       * w32font.h (NTM_PS_OPENTYPE, NTM_TT_OPENTYPE, NTM_TYPE1):\r
+       Define if system headers don't.\r
+       (struct w32font_info): Enlarge ascii_metrics.  Add glyph_idx.\r
+       (w32font_encode_char): Don't declare here.\r
+\r
+       * w32font.c (Quniscribe, QCformat): New symbols.\r
+       (syms_of_w32font): Define them.\r
+       (w32font_has_char): Indicate uncertainty.\r
+       (w32font_encode_char): Encode as glyph point.  Make static.\r
+       (recompute_cached_metrics): New function.\r
+       (w32font_open_internal): Use it.  Set font to use glyph points\r
+       initially.  Set format based on type of font.\r
+       (w32font_text_extents, w32font_draw): Optionally use glyph points.\r
+       (w32_enumfont_pattern_entity): Accept backend arg.  Set type based\r
+       on it.  Set format based on information available here.\r
+       (add_font_entity_to_list): Identify backend based on opentype_only.\r
+\r
+2008-03-02  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * ftfont.c (ftfont_pattern_entity): Fix aliasing violations.\r
+\r
+       * coding.c (decode_coding_big5, produce_chars):\r
+       Fix typos in last change.\r
+\r
+2008-03-02  Kentaro Ohkouchi  <nanasess@fsm.ne.jp>\r
+\r
+       * gnu.h: New icon.\r
+\r
+2008-03-02  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (decode_coding_utf_8): When eol-type of CODING is\r
+       `dos', don't decode '\r' if that is the last in the source.\r
+       (decode_coding_utf_16, decode_coding_emacs_mule)\r
+       (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)\r
+       (decode_coding_raw_text, decode_coding_charset): Likewise.\r
+       (produce_chars): Don't decode EOL here.  Use EMACS_INT.\r
+\r
+2008-03-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (w32font_full_name): Report point size for scalable fonts.\r
+\r
+2008-03-01  Kim F. Storm  <storm@cua.dk>\r
+\r
+       * dispextern.h (CHAR_GLYPH_SPACE_P): Check for default face.\r
+\r
+2008-03-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (w32font_full_name): New function.\r
+       (w32font_open_internal): Use it.\r
+\r
+2008-03-01  Kim F. Storm  <storm@cua.dk>\r
+\r
+       * dispnew.c (line_draw_cost): Fix invalid glyph check.\r
+\r
+2008-03-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * font.c (font_unparse_fcname): Increase len when style is a symbol.\r
+\r
+2008-03-01  Jan Djärv  <jan.h.d@swipnet.se>\r
+\r
+       * xterm.c (handle_one_xevent): For Gtk+ and ConfigureNotify, call\r
+       xg_frame_resized when the event is for the edit widget.\r
+\r
+       * gtkutil.h (xg_frame_resized): Renamed from xg_resize_widgets.\r
+\r
+       * gtkutil.c (xg_resize_outer_widget): Only do one of set_geometry or\r
+       set_char_size.\r
+       (xg_frame_resized): Renamed from xg_resize_widgets.  Remove all\r
+       operations on widgets here.  Just set frame size if needed.\r
+       (flush_and_sync, x_wm_size_hint_off, xg_pack_tool_bar): New functions.\r
+       (xg_frame_set_char_size): Call x_wm_size_hint_off before resizing.\r
+       (x_wm_set_size_hint): Set size hints on the edit widget only, not\r
+       the whole frame.\r
+       (xg_create_tool_bar): Move attachment of the tool bar to\r
+       xg_pack_tool_bar.  Do not attach the tool bar if there are no items.\r
+       (free_frame_tool_bar): Remove call to SET_FRAME_GARBAGED.\r
+\r
+2008-03-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32fns.c (w32_msg_pump): Disable debug code.\r
+\r
+2008-03-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * m/intel386.h [MAC_OSX || DARWIN]: Define NO_ARG_ARRAY if _LP64.\r
+\r
+2008-02-29  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xdisp.c (next_overlay_string): Don't set\r
+       overlay_strings_at_end_processed_p if we're currently reading from\r
+       a display string.\r
+\r
+2008-02-29  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * xdisp.c (get_overlay_strings_1): Fix typo.\r
+\r
+2008-02-29  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xdisp.c (get_overlay_strings_1): Add missing argument type.\r
+\r
+2008-02-28  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * ftfont.c (ftfont_match): Explicitly set pixelsize in pattern.\r
+\r
+       * xdisp.c (display_mode_element): Cancel the previous change.\r
+       (decode_mode_spec): Likewise.\r
+       (handle_auto_composed_prop): Don't make composition if it->string\r
+       is a string.\r
+\r
+2008-02-27  Kim F. Storm  <storm@cua.dk>\r
+\r
+       * lisp.h (GLYPH): Change type from int to struct with separate char\r
+       and face_id members.\r
+       (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Delete macros.\r
+       (GLYPH_CHAR, GLYPH_FACE): Remove slow versions with frame arg.\r
+       (FAST_GLYPH_CHAR, FAST_GLYPH_FACE): Rename macros to ...\r
+       (GLYPH_CHAR, GLYPH_FACE): ... these.  Change users.\r
+       (FAST_MAKE_GLYPH, MAKE_GLYPH): Remove.  Rewrite users to use ...\r
+       (SET_GLYPH, SET_GLYPH_CHAR, SET_GLYPH_FACE): ... these macros instead.\r
+       (GLYPH_CODE_CHAR, GLYPH_CODE_FACE, GLYPH_CODE_P)\r
+       (GLYPH_CODE_CHAR_VALID_P, SET_GLYPH_FROM_GLYPH_CODE): New macros to\r
+       handle new Lisp glyph code encoding, either an integer or a cons.\r
+\r
+       * disptab.h (GLYPH_SIMPLE_P): Rewrite.\r
+       (GLYPH_ALIAS): Delete.\r
+       (GLYPH_ALIAS_P, GLYPH_FOLLOW_ALIASES): Rewrite.\r
+       (GLYPH_LENGTH, GLYPH_STRING): Use GLYPH_CHAR.\r
+       (GLYPH_FROM_CHAR): Replace macro by ...\r
+       (SET_GLYPH_FROM_CHAR): ... this macro.  Change users.\r
+\r
+       * dispextern.h (CHAR_GLYPH_SPACE_P): Simplify.\r
+       (GLYPH_FROM_CHAR_GLYPH): Replace macro by ...\r
+       (SET_GLYPH_FROM_CHAR_GLYPH): ... this macro.  Change users.\r
+       (GLYPH_INVALID_P): New macro.\r
+       (spec_glyph_lookup_face): Update prototype.\r
+\r
+       * dispnew.c (line_draw_cost): Adapt to new glyph type.\r
+       (build_frame_matrix_from_leaf_window): Adapt to new glyph type and\r
+       new glyph code encoding.\r
+       (spec_glyph_lookup_face): No return value; update passed glyph instead.\r
+       (init_display): Use SET_CHAR_GLYPH to initialize space_glyph.\r
+\r
+       * xdisp.c (get_next_display_element, next_element_from_display_vector):\r
+       Adapt to new glyph type and new glyph code encoding.\r
+\r
+       * term.c (encode_terminal_code, produce_special_glyphs): Likewise.\r
+\r
+       * indent.c (current_column, current_column_1, Fmove_to_column)\r
+       (compute_motion): Adapt to new glyph code encoding.\r
+\r
+       * msdos.c (IT_write_glyphs): Adapt to new glyph type.\r
+\r
+2008-02-27  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * process.c (wait_reading_process_output): Check for window\r
+       changes caused by timers.\r
+       Suggested by Johan Bockgård.\r
+\r
+2008-02-27  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * emacs.c (USAGE1): Add `--disable-font-backend'.\r
+\r
+2008-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * fileio.c (Finsert_file_contents): Don't reset undo_list if no change\r
+       is made to the buffer.\r
+\r
+2008-02-26  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * dispextern.h (face_at_buffer_position, face_for_overlay_string)\r
+       (face_at_string_position):\r
+       * xfaces.c (face_at_buffer_position, face_for_overlay_string)\r
+       (face_at_string_position):\r
+       * xdisp.c (display_string, next_overlay_change):\r
+       * buffer.h (overlays_at):\r
+       * buffer.c (overlays_at): Use EMACS_INT for buffer positions.\r
+       Update callers.\r
+\r
+2008-02-26  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * editfns.c (Fformat): Doc fix.\r
+\r
+2008-02-26  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * font.c (Ffont_spec, Ffont_at): Fix typos in docstrings.\r
+       (Ffont_put, Flist_families, Ffont_fill_gstring, Ffont_drive_otf)\r
+       (Ffont_otf_alternates, Fquery_font): Doc fixes.\r
+\r
+2008-02-25  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * buffer.c (Fbuffer_swap_text): New function.\r
+       (syms_of_buffer): Defsubr it.\r
+\r
+2008-02-25  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * keyboard.c (command_loop_1): Revert 2006-10-09 change.\r
+\r
+2008-02-25  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (w32font_draw): Draw one character at a time when padding.\r
+\r
+2008-02-25  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * window.c (Fdelete_window, Fadjust_window_trailing_edge):\r
+       Handle a nil arg.  Use run_window_configuration_change_hook.\r
+       (delete_window, adjust_window_trailing_edge): Don't handle nil any more.\r
+       (Fenlarge_window, Fshrink_window, Fset_window_configuration):\r
+       Use run_window_configuration_change_hook.\r
+\r
+2008-02-25  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * xdisp.c (x_produce_glyphs): For a visible glyph, assure at least\r
+       1-pixel width.\r
+\r
+2008-02-25  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * xdisp.c (fill_glyph_string): Pay attention to glyph->padding_p.\r
+       (append_glyph): Set glyph->pixel_width and glyph->padding_p to 1\r
+       if the glyph in the font is zero pixel with.\r
+\r
+       * dispextern.h (struct glyph_string): New member padding_p.\r
+\r
+       * w32font.c (w32font_draw): Pay attention to s->padding_p.\r
+\r
+       * ftxfont.c (ftxfont_draw): Pay attention to s->padding_p.\r
+\r
+       * xfont.c (xfont_draw): Pay attention to s->padding_p.\r
+\r
+       * xftfont.c (xftfont_draw): Pay attention to s->padding_p.\r
+\r
+       * font.c: If the font driver doesn't have `shape' function, return Qnil.\r
+\r
+2008-02-25  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32fns.c (enum_font_cb2): Don't use raster fonts for Unicode.\r
+\r
+2008-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       Allow fine-grained image-cache flushing.\r
+       * dispextern.h (struct image): Add `dependencies' field.\r
+       (clear_image_caches): Change arg to Lisp_Object.\r
+       * image.c (make_image): Initialize `dependencies' field.\r
+       (clear_image_cache): Change arg to allow fine-grained flushing.\r
+       Perform the flush even if image-cache-eviction-delay is nil.\r
+       (clear_image_caches): Change arg to Lisp_Object.\r
+       (Fclear_image_cache): Expand meaning of the argument.\r
+       (mark_image): Mark `dependencies' field.\r
+       * xfaces.c (clear_face_cache): Adapt arg to call to clear_image_caches.\r
+       (lface_hash): Use XHASH rather than XFASTINT.\r
+       (face_at_buffer_position): Fix int -> EMACS_INT position.\r
+       * xdisp.c (next_overlay_change): Fix int -> EMACS_INT position.\r
+       (select_frame_for_redisplay): Remove code duplication.\r
+       (redisplay_internal): Adapt arg to call to clear_image_caches.\r
+\r
+2008-02-24  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * s/vms4-0.h:\r
+       * s/vms4-2.h:\r
+       * s/vms4-4.h:\r
+       * s/vms5-5.h: Remove, unused.\r
+\r
+       * s/irix5-2.h:\r
+       * s/irix6-0.h:\r
+       * s/riscos5.h:\r
+       * s/mach-bsd4-3.h:\r
+       * m/mips4.h: Remove files for obsolete systems.\r
+\r
+       * Makefile.in:\r
+       * filelock.c:\r
+       * unexmips.c:\r
+       * m/hp9000s300.h:\r
+       * m/iris4d.h:\r
+       * s/aix3-1.h:\r
+       * s/hpux.h:\r
+       * s/msdos.h:\r
+       * s/usg5-0.h:\r
+       * s/usg5-2-2.h:\r
+       * s/usg5-2.h:\r
+       * s/usg5-3.h: Remove references to obsolete variables.\r
+\r
+       * s/irix5-0.h: Remove, move all the contents ...\r
+       * s/irix6-5.h: ... here.  Simplify.\r
+       * config.in: Regenerate.\r
+\r
+2008-02-24  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32term.c (x_draw_glyph_string_background): Clear the background\r
+       manually when cleartype is in use.\r
+       (x_draw_glyph_string_foreground): Draw text transparently when\r
+       cleartype is in use.\r
+\r
+       * w32font.c (w32font_text_extents): Avoid getting HDC and selecting\r
+       a font into it unless we have to.\r
+\r
+2008-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * intervals.h (INT_LISPLIKE): Remove.  It may misfire.\r
+       (NULL_INTERVAL_P, SET_INTERVAL_PARENT): Don't use it.\r
+\r
+2008-02-18  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32fns.c (Fw32_shell_execute): Encode parameters.\r
+\r
+2008-02-09  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * fileio.c (syms_of_fileio) <insert-default-directory>: Doc fix.\r
+\r
+2008-02-05  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * unexhp9k800.c (read_header): Replace `legal' with `valid'.\r
+\r
+2008-02-24  Ulrich Neumerkel  <ulrich@complang.tuwien.ac.at>  (tiny change)\r
+\r
+       * xterm.c (x_set_offset): Don't change the gravity if\r
+       CHANGE_GRAVITY is -1.\r
+\r
+2008-02-23  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * fileio.c (auto_save_error_occurred): New var.\r
+       (auto_save_error): Set it.\r
+       (Fdo_auto_save): Don't overwrite the error message if an auto-save\r
+       error occurred.\r
+\r
+2008-02-23  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * w32.c (globals_of_w32): Add initializations for\r
+       g_b_init_get_sid_sub_authority and\r
+       g_b_init_get_sid_sub_authority_count.\r
+\r
+2008-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * font.c (font_match_xlfd, font_check_xlfd_parse): New funs.\r
+       (font_parse_xlfd): Use them for sanity check.\r
+       (Finternal_set_font_style_table): Make sure the table is bijective.\r
+\r
+       Consolidate the image_cache to the terminal struct.\r
+       * termhooks.h (P_): Remove redundant def.\r
+       (struct terminal): New field `image_cache'.\r
+       * frame.h (FRAME_IMAGE_CACHE): New macro.  Use it everywhere in place\r
+       of FRAME_X_IMAGE_CACHE.\r
+       * xterm.h (struct x_display_info): Remove image_cache field.\r
+       (FRAME_X_IMAGE_CACHE): Remove.  Use FRAME_IMAGE_CACHE instead.\r
+       * w32term.h (struct w32_display_info): Remove image_cache field.\r
+       (FRAME_X_IMAGE_CACHE): Remove.  Use FRAME_IMAGE_CACHE instead.\r
+       * macterm.h (struct mac_display_info): Remove image_cache field.\r
+       (FRAME_X_IMAGE_CACHE): Remove.  Use FRAME_IMAGE_CACHE instead.\r
+       * xterm.c (x_term_init):\r
+       * w32term.c (w32_term_init):\r
+       * macterm.c (mac_term_init): Set the image_cache in the terminal.\r
+       * dispextern.h (clear_image_cache, forall_images_in_image_cache):\r
+       Remove declarations.\r
+       (clear_image_caches, mark_image_cache): New declarations.\r
+       * xfaces.c (clear_face_cache):\r
+       * xdisp.c (redisplay_internal): Use clear_image_caches.\r
+       * image.c (clear_image_cache): Don't check that a frame is on\r
+       a window-system before checking if it shares the same cache.\r
+       (clear_image_caches): New function.\r
+       (Fclear_image_cache): Use it.\r
+       (mark_image): Move from allo.c.\r
+       (mark_image_cache): Move from alloc.c and forall_images_in_image_cache.\r
+       * alloc.c (mark_image, mark_image_cache): Move to image.c.\r
+       (mark_object): Don't call mark_image_cache for frames.\r
+       (mark_terminals): Call mark_image_cache.\r
+\r
+       * lisp.h (Fdelete_terminal): Declare.\r
+\r
+       * charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID)\r
+       (CHECK_CHARSET_GET_ATTR): Don't use the inexistent return value of\r
+       wrong_type_argument.\r
+\r
+2008-02-22  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * Makefile.in (lisp): Remove devanagari.el, kannada.el,\r
+       malayalam.el, and tamil.el.  Add sinhala.el.\r
+\r
+2008-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * xterm.c (x_connection_closed): Consolidate identical tests.\r
+       (x_delete_terminal): Don't crash if called via x_connection_closed.\r
+\r
+2008-02-21  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * xdisp.c (decode_mode_spec): New arg string.\r
+       (display_mode_element): Adjust for the above change.\r
+\r
+2008-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * callint.c (Fcall_interactively): Use AREF.\r
+\r
+2008-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * font.c (font_unparse_xlfd): Don't ignore integer pixel size specs.\r
+\r
+2008-02-18  Jan Djärv  <jan.h.d@swipnet.se>\r
+\r
+       * xfns.c (Fx_show_tip): Set string to " " if empty.\r
+\r
+2008-02-17  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * callint.c (syms_of_callint): Initialize Vmark_even_if_inactive\r
+       with Qt.\r
+\r
+2008-02-17  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * ftfont.c (ftfont_shape): Return Lispy number.\r
+\r
+       * xfaces.c (prepare_face_for_display): Use display_info->font->fid\r
+       for GCs.\r
+       (Finternal_set_font_selection_order): Call font_update_sort_order\r
+       only when enable_font_backend is set.\r
+       (realize_x_face): Set face->font_info to that of default face only\r
+       when enable_font_backend is set.\r
+\r
+       * xdisp.c (handle_composition_prop): Set it->c to the fist\r
+       character of the composed region.\r
+       (fill_composite_glyph_string): Set base_face->font_info to\r
+       s->font_info.  Get a face for ascii from base_face->ascii_face.\r
+       (BUILD_COMPOSITE_GLYPH_STRING): Call fill_composite_glyph_string\r
+       with a face already decided.\r
+       (x_produce_glyphs): Be sure to set it->ascent and it->descent to\r
+       non-negative.\r
+       (x_produce_glyphs): If the composition method is ..._WITH_GLYPH_STRING,\r
+       call font_prepare_composition unconditionally.\r
+\r
+       * xfns.c (x_make_gc): Use the default font id of the frame for GCs.\r
+\r
+       * xterm.h (struct x_display_info): New member font.\r
+\r
+       * xterm.c (x_set_cursor_gc): Use display_info->font->fid for GCs.\r
+       (x_set_mouse_face_gc, x_new_font): Likewise.\r
+       (x_term_init): Setup display_info->font.\r
+       (x_delete_terminal): Free display_info->font.\r
+\r
+       * xfont.c (xfont_draw): Use BLOCK_INPUT and UNBLOCK_INPUT.\r
+\r
+       * ftxfont.c (ftxfont_default_fid): Delete it.\r
+       (ftxfont_open): Set xfont->fid to 0.\r
+       (ftxfont_end_for_frame): Clear data specific to the frame and the\r
+       font-driver.\r
+\r
+       * xftfont.c (xftfont_default_fid): Delete it.\r
+       (xftfont_open): Set xfont->fid to 0.\r
+\r
+       * fontset.c (FONTSET_OBJLIST): New macro.\r
+       (fontset_find_font): Update font-object list of the fontset.\r
+       (free_realized_fontset): New function.\r
+       (free_face_fontset): Call free_realized_fontset.\r
+       (Ffont_info): Call font_close_object only when enable_font_backend\r
+       is set.\r
+\r
+       * font.c [HAVE_X_WINDOWS]: Include xterm.h.\r
+       [HAVE_NTGUI]: Include w32term.h.\r
+       [MAC_OS]: Include macterm.ch.\r
+       (font_otf_ValueRecord): Use make_number.\r
+       (font_finish_cache): Fix handling of reference count.\r
+       (font_clear_cache): Update num_fonts.\r
+       (font_open_entity): Update smallest_char_width and\r
+       smallest_font_height of the frame.\r
+       (font_close_object): Update num_fonts.\r
+       (Fclear_font_cache): Fix finding the target cache data.\r
+\r
+2008-02-16  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * fontset.c (Finternal_char_font): Fix compilation warning.\r
+\r
+2008-02-16  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * w32.c (init_user_info): Use TOKEN_USER and TOKEN_PRIMARY_GROUP\r
+       instead of char arrays.  Enlarge the size of array passed to\r
+       get_token_information.\r
+\r
+       * font.c (Ffont_fill_gstring, Fget_font_glyphs): Fix compilation\r
+       warnings.\r
+\r
+2008-02-15  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * .gdbinit: Don't set `args', it breaks gdb --args.\r
+\r
+2008-02-14  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * fileio.c (Finsert_file_contents): Adjust offsets when replacing\r
+       within a narrowed buffer.\r
+\r
+2008-02-14  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * coding.c (decode_coding_object, encode_coding_object):\r
+       Preserve Vdeactivate_mark.  Delete unnecessary call of Fcurrent_buffer.\r
+\r
+2008-02-12  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * coding.c (coding_set_destination): Use BEG_BYTE rather than\r
+       hardcoding 1.\r
+       (detect_coding_system):\r
+       * lisp.h (detect_coding_system, chars_in_text, multibyte_chars_in_text)\r
+       (string_char_to_byte, string_byte_to_char, insert_from_gap):\r
+       * insdel.c (insert_from_gap):\r
+       * fns.c (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)\r
+       (string_char_to_byte, string_byte_to_char, string_make_multibyte)\r
+       (string_to_multibyte):\r
+       * character.c (chars_in_text, multibyte_chars_in_text):\r
+       * fileio.c (Finsert_file_contents): Use EMACS_INT for buffer positions.\r
+\r
+       * character.h (FETCH_STRING_CHAR_ADVANCE)\r
+       (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE)\r
+       (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Use SDATA and SREF.\r
+       (DEC_POS, BUF_DEC_POS): Use BEG_BYTE rather than hardcoding 1.\r
+\r
+       * casefiddle.c (casify_region): Only call after-change and composition\r
+       functions on the part of the region that was changed.\r
+\r
+       * keyboard.c (read_avail_input):\r
+       * frame.c (Fdelete_frame): Call Fdelete_terminal.\r
+\r
+2008-02-11  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)\r
+       (Fbuffer_local_value, Fbuffer_local_variables): Don't forget undo_list.\r
+\r
+2008-02-11  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * w32menu.c (push_submenu_start, push_submenu_end)\r
+       (push_left_right_boundary, push_menu_pane, push_menu_item):\r
+       * keyboard.c (read_key_sequence): Don't pass args with side effects\r
+       to AREF, it fails when compiling with -DENABLE_CHECKING.\r
+\r
+2008-02-11  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * Makefile.in (${lispsource}international/charprop.el):\r
+       Delete this target.\r
+\r
+       * search.c (boyer_moore): Fix incorrect synching of the trunk and\r
+       emacs-unicode-2.\r
+\r
+2008-02-11  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * terminal.c (Fdelete_terminal): Clean up the `force' path.\r
+\r
+2008-02-10  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * frame.c (Qnoelisp): New symbol.\r
+       (syms_of_frame): Initialize it.\r
+       (Fdelete_frame): Use it to distinguish a mere `force' passed from some\r
+       harmless Elisp code, from a strong `force' from x_connection_closed.\r
+       * frame.h (Qnoelisp): Declare.\r
+       * xterm.c (x_connection_closed): Pass `noelisp'.\r
+\r
+       * lisp.h (struct Lisp_Misc_Any, struct Lisp_Marker)\r
+       (struct Lisp_Overlay, struct Lisp_Kboard_Objfwd)\r
+       (struct Lisp_Save_Value, struct Lisp_Free): Use enum Lisp_Misc_Type\r
+       rather than `int' for the type of `type'.\r
+\r
+2008-02-10  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * s/gnu-linux.h: Remove support for non-ELF and linux-1.x.\r
+\r
+       * Makefile.in (GNUC): Remove support for gcc-1.x.\r
+\r
+2008-02-10  Richard Stallman  <rms@gnu.org>\r
+\r
+       * lisp.h (ASET): Use AREF, not ASLOT.\r
+\r
+2008-02-10  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * lisp.h (ASET): Check bounds.\r
+\r
+2008-02-10  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * buffer.c (mode-name): Doc fix.\r
+\r
+2008-02-09  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * Makefile.in:\r
+       * emacs.c:\r
+       * gmalloc.c:\r
+       * keyboard.c:\r
+       * lisp.h:\r
+       * m/ibm370aix.h:\r
+       * process.c:\r
+       * regex.c:\r
+       * s/hpux.h:\r
+       * sysdep.c:\r
+       * sysselect.h:\r
+       * systty.h:\r
+       * unexec.c:\r
+       * w32term.c:\r
+       * xsmfns.c:\r
+       * xterm.c: Remove code that deals with obsolete variables.\r
+\r
+       * s/msdos.h (DONT_NEED_ENVIRON): Don't define.\r
+\r
+       * ecrt0.c: Replace the DONT_NEED_ENVIRON test with MSDOS test,\r
+       nothing else needs it anymore.\r
+\r
+2008-02-09  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use unibyte_to_multibyte_table\r
+       instead of unibyte_char_to_multibyte.\r
+\r
+2008-02-09  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * s/gnu-linux.h: Remove commented out code.\r
+\r
+       * unexec.c: Remove references to obsolete variable COFF_ENCAPSULATE.\r
+\r
+       * Makefile.in: Update what RMS says about using autoconf.\r
+       (C_COMPILER, COFF_ENCAPSULATE, MAKE_PARALLEL): Remove obsolete variable.\r
+       (C_SWITCH_MACHINE_1, C_SWITCH_SYSTEM_1, C_SWITCH_SITE_1)\r
+       (C_SWITCH_X_SITE_1, C_SWITCH_X_MACHINE_1)\r
+       (C_SWITCH_X_SYSTEM_1): Move invariant code outside conditional.\r
+\r
+2008-02-08  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * keymap.c (Fkey_description): Move side effect outside of macro call.\r
+\r
+       * xfaces.c (Finternal_make_lisp_face):\r
+       * keyboard.c (add_command_key, parse_menu_item): Use ASET.\r
+\r
+       * fontset.c (free_face_fontset): Use FONTSET_FROM_ID.\r
+       (syms_of_fontset): Use ASET.\r
+\r
+       * fns.c (concat): Move side effect outside of macro call.\r
+       (hash_clear): Use ASET.\r
+\r
+2008-02-08  Richard Stallman  <rms@gnu.org>\r
+\r
+       * frame.c (Fdelete_frame): If FORCE, don't call hooks.\r
+       If FORCE, and frame has a surrogate minibuffer for another frame,\r
+       delete the other frame first.\r
+\r
+2008-02-07  Timo Savola  <timo.savola@iki.fi>\r
+\r
+       * xterm.c (x_detect_focus_change): Handle embed client message.\r
+       (handle_one_xevent): Ditto.\r
+       (handle_one_xevent): If embedded and we get a button press/release,\r
+       request focus.\r
+       (xembed_set_info, xembed_send_message): New functions.\r
+       (x_make_frame_visible): Call xembed_set_info if embedded.\r
+       (x_make_frame_invisible): Call xembed_set_info if embedded.\r
+       (x_term_init): Initialize Xatom_XEMBED.\r
+       (x_make_frame_visible): Check for FRAME_X_EMBEDDED_P also.\r
+       (x_iconify_frame): Ditto.\r
+\r
+       * xterm.h (struct x_display_info): Add AtomXatom_XEMBED.\r
+       (enum xembed_info, enum xembed_message, enum xembed_focus)\r
+       (enum xembed_modifier, enum xembed_accelerator): New.\r
+       (xembed_set_info, xembed_send_message): Declare.\r
+       (FRAME_X_EMBEDDED_P): New.\r
+\r
+       * gtkutil.c (xg_create_frame_widgets): If frame is embedded, call\r
+       gtk_plug_new.\r
+\r
+       * xfns.c (Fx_create_frame): Do not override the explicitly set parent\r
+       window ID of a frame.\r
+       (x_window): Reparent frame if embedded.\r
+       (Fx_create_frame): Don't set border width if embedded.\r
+\r
+       * emacs.c (USAGE3): Add --parent-id.\r
+       (standard_args): Ditto.\r
+\r
+2008-02-07  Jan Djärv  <jan.h.d@swipnet.se>\r
+\r
+       * coding.c (DECODE_EMACS_MULE_COMPOSITION_CHAR): Use "do...while (0)".\r
+\r
+2008-02-07  Jim Meyering  <meyering@redhat.com>\r
+\r
+       Use "do...while (0)", not "if (1)...else" in macro definitions.\r
+       The latter provokes a warning from gcc about the empty else, when\r
+       followed by ";".  Also, without that trailing semicolon, it would\r
+       silently swallow up any following statement.\r
+       * syntax.h (SETUP_SYNTAX_TABLE)\r
+       (SETUP_SYNTAX_TABLE_FOR_OBJECT): Likewise.\r
+       * buffer.h (DECODE_POSITION): Likewise.\r
+       * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.\r
+       (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): Likewise.\r
+       (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): Likewise.\r
+       (FETCH_CHAR_ADVANCE): Likewise.\r
+       (FETCH_CHAR_ADVANCE_NO_CHECK): Likewise.\r
+\r
+2008-02-07  Jim Meyering  <meyering@redhat.com>\r
+\r
+       * lread.c [lint]: Don't include <sys/inode.h>.\r
+\r
+2008-02-07  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * xselect.c (x_handle_dnd_message):\r
+       * xmenu.c (digest_single_submenu, xmenu_show):\r
+       * xdisp.c (with_echo_area_buffer_unwind_data)\r
+       (format_mode_line_unwind_data, unwind_format_mode_line)\r
+       (display_menu_bar):\r
+       * eval.c (Ffetch_bytecode):\r
+       * doc.c (store_function_docstring):\r
+       * ccl.c (resolve_symbol_ccl_program, ccl_get_compiled_code)\r
+       (Fccl_execute, Fccl_execute_on_string, Fregister_code_conversion_map):\r
+       * buffer.c (add_overlay_mod_hooklist): Use ASET.\r
+\r
+2008-02-07  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * ftxfont.c (ftxfont_open): Don't set\r
+       dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 0.\r
+\r
+       * ftfont.c (ftfont_open): Fix previous change.\r
+\r
+2008-02-06  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (w32font_text_extents): Fill in lbearing metric.\r
+       Use cached metrics for ASCII characters.\r
+       (w32font_open_internal): Don't set font's owning_frame.\r
+       Cache metrics for ASCII characters.\r
+\r
+       * w32font.h (struct w32font_info): Add ascii_metrics.\r
+       Remove owning_frame.\r
+\r
+2008-02-06  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * xdisp.c (x_produce_glyphs): Don't set it->ascent and it->descent\r
+       to negative value.\r
+\r
+       * ftxfont.c (ftxfont_draw): Use s->font_info, not face->font_info.\r
+\r
+       * ftfont.c (ftfont_open): Fix calculation of font->font.average_width.\r
+\r
+       * charset.c (syms_of_charset): Set QCtest and Qeq.\r
+\r
+2008-02-06  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * process.c (Fstart_process):\r
+       * callproc.c (Fcall_process): Handle the case where\r
+       Funhandled_file_name_directory returns nil.\r
+\r
+       * font.h (enum lgstring_indices, enum lglyph_indices): New enums.\r
+       (LGSTRING_SLOT, LGSTRING_SET_SLOT): New macros.\r
+       * font.c (check_gstring): Use them and AREF to access the vector before\r
+       we know it's really a gstring.\r
+       (Ffont_shape_text): Fix typo.\r
+       (Ffont_shape_text, Ffont_otf_alternates): Fix up int/Lisp_Oject mixups.\r
+\r
+       * composite.h (Fcompose_region_internal, Fcompose_string_internal):\r
+       Declare.\r
+\r
+       * chartab.c (make_sub_char_table): Remove noop-yet-incorrect statement.\r
+\r
+2008-02-05  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (w32font_open_internal): Fill min_width with tmAveCharWidth.\r
+       Set smallest_font_height and smallest_char_width in display info.\r
+\r
+2008-02-05  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * coding.c (decode_eol): Pay attention to coding->dst_multibyte.\r
+\r
+2008-02-05  Miles Bader  <miles@gnu.org>\r
+\r
+       * xfaces.c (get_lface_attributes, merge_named_face)\r
+       (lookup_named_face, lookup_derived_face, realize_named_face):\r
+       Revert 2008-02-01 change by cyd@stupidchicken.com.\r
+\r
+2008-02-04  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * fontset.c (Ffontset_info): Handle the case of inhibitting the\r
+       fallback fonts.\r
+       (Ffontset_info) [USE_FONT_BACKEND]: Fix getting of opened font names.\r
+\r
+2008-02-04  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (w32font_open_internal): Use font_unparse_fcname to\r
+       set full_name.\r
+       (w32font_open_internal): Use xmalloc, xrealloc, xfree.\r
+\r
+2008-02-03  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * makefile.w32-in (OBJ1): Include font.o here.\r
+       (FONTOBJ) [USE_FONTBACKEND]: Instead of here.\r
+\r
+2008-02-02  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * makefile.w32-in (temacs): Bump EMHEAP to 21.\r
+\r
+2008-02-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * s/cygwin.h: Define VIRT_ADDR_VARIES.\r
+\r
+       * puresize.h [VIRT_ADDR_VARIES]: Don't include CYGWIN in condition.\r
+\r
+2008-02-01  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * Makefile.in (shortlisp, lisp): Update for rename of\r
+       ../lisp/language/myanmar.el.\r
+\r
+2008-02-01  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xfaces.c (get_lface_attributes): Delete function.\r
+       (merge_named_face, lookup_named_face, lookup_derived_face)\r
+       (realize_named_face): Call lface_from_face_name directly, and use\r
+       the fact that merge_face_vectors does not alter its FROM argument.\r
+\r
+2008-02-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32term.c (w32_read_socket) <WM_CHAR>: Decode non-Unicode\r
+       input in the default locale.  Handle non-Unicode multibyte input.\r
+\r
+2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * fontset.c (reorder_font_vector): Exclude nil elements from the\r
+       font group.  Don't try multiple fonts.\r
+       (fontset_font): Adjust for the above change.\r
+       (Finternal_char_font): Return nil if the found font doesn't\r
+       contain the character ch.\r
+\r
+       * Makefile.in (lisp, shortlisp): Add cham.el.\r
+\r
+2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * font.h (FONTP): Make it return 1 also for a font-object.\r
+\r
+       * .gdbinit (xfontset): New function.\r
+\r
+       * font.c (font_find_for_lface): Check if the character C is\r
+       supported or not only for the first font.\r
+\r
+       * fontset.c (reorder_font_vector): Fix typo.\r
+       (fontset_find_font): Don't add a font-spec specifying a script.\r
+       Use 0 (not Qt) for the indication of empty font-group.  Change the\r
+       format of RFONT-DEF.  Return Qt if no font in the font-group\r
+       support the character.\r
+       (fontset_font): Adjust for the above change.  If no font was\r
+       found the character, remember that.\r
+       (face_for_char): Adjust for the change of RFONT-DEF.\r
+       (Fset_fontset_font): Allow nil for FONT-SPEC to explicitly specify\r
+       no font for the target.\r
+       (Finternal_char_font): Adjust for the change of RFONT-DEF.\r
+\r
+2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * font.c (font_load_for_face): Handle the case that the font in\r
+       face->lface is a string.\r
+\r
+2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * xfaces.c (set_lface_from_font_and_fontset): Set the fontname in lface.\r
+\r
+2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * xfaces.c (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]:\r
+       Fix previous change.  If the frame is not on a window system,\r
+       signal an error.\r
+\r
+2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * coding.c (decode_coding_object, encode_coding_object): Adjust\r
+       marker positions after conversion.\r
+\r
+       * lisp.h (struct Lisp_Marker): New member need_adjustment.\r
+\r
+2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * font.c (font_find_for_lface): Fix the handling of the return\r
+       value of font_has_char.\r
+       (Ffont_shape_text): Fix previous change.\r
+\r
+       * fontset.c (FONTSET_REF_AND_RANGE): Delete it.\r
+       (fontset_ref_and_range): Delete it.\r
+       (fontset_find_font): Call char_table_ref_and_range instead of\r
+       FONTSET_REF_AND_RANGE.\r
+       (make_fontset): Don't setup font groups of Latin here.\r
+       (Fset_fontset_font): Don't overwrite the setting of FONTSET_ASCII.\r
+       (new_fontset_from_font): Make the specified font the default for\r
+       all Latin characters.\r
+\r
+2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * xfaces.c (Finternal_set_lisp_face_attribute): Check if the frame\r
+       is on a window system before accessing the fontset of the frame.\r
+\r
+2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * Makefile.in (lisp, shortlisp): Add kherm.el and myanmar.el.\r
+\r
+       * ftfont.c (ftfont_driver): Set ftfont_shape in ftfont_driver only\r
+       when both HAVE_M17N_FLT and HAVE_LIBOTF are defined.\r
+\r
+       * font.c (Ffont_shape_text): If the font driver doesn't have a\r
+       shaper function, make zero-width glyphs to have at least one-pixel\r
+       width.  Fix setting of `to' field of glyphs.\r
+\r
+2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * ftfont.c (ftfont_drive_otf): Fix setting of FROM and TO slots of\r
+       glyphs.\r
+\r
+       * font.h (struct font_driver): Improve docstring of member `shape'.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * composite.c (syms_of_composite): Fix docstring of\r
+       auto-composition-function.\r
+\r
+       * font.h (LGLYPH_SIZE): New macro.\r
+\r
+       * font.c (Ffont_fill_gstring): Stop filling when a character not\r
+       supported by the font is found.\r
+       (Ffont_shape_text): When a shape callback function returns nil,\r
+       try at most two more times with larger gstring.\r
+       (Ffont_at): Fix getting of w.  Call font_at with correct 5th argument.\r
+\r
+       * xdisp.c (handle_auto_composed_prop): Change the argument to\r
+       auto-composition-function.\r
+\r
+       * ftfont.c (ftfont_encode_char): Use the macro FONT_INVALID_CODE.\r
+       (ftfont_shape_by_flt): If an element of lgstring is nil, make a\r
+       Lispy glyph and store it in the lgstring.\r
+\r
+       * xfont.c (xfont_encode_char): Use the macro FONT_INVALID_CODE.\r
+\r
+       * xftfont.c (xftfont_encode_char): Use the macro FONT_INVALID_CODE.\r
+\r
+2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * font.c (Ffont_shape_text): Avoid unnecessary composition.\r
+\r
+       * fontset.c (Vfont_encoding_charset_alist): New variable.\r
+       (syms_of_fontset): DEFVAR it.\r
+       (reorder_font_vector, fontset_find_font): Optimize for the case of\r
+       no need of reordering.\r
+       (face_for_char): Map the charset property by\r
+       Vfont_encoding_charset_alist.\r
+\r
+2008-02-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (logfonts_match): Don't check adstyle here.\r
+       (font_matches_spec): Check here against physical font instead.\r
+       (add_font_entity_to_list): Avoid some substitutions.\r
+\r
+       * font.c (font_parse_fcname): Default weight and slant to normal.\r
+       (font_score): Prefer normal fonts if weight or slant unspecified.\r
+       (font_score) [WINDOWSNT]: Scale weight difference down to closer\r
+       match freetype scores.\r
+\r
+2008-02-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (w32font_text_extents): Don't use the frame stored in the\r
+       font, as it may have been deleted.\r
+       (w32_enumfont_pattern_entity): Map generic family to adstyle using\r
+       most common hyphenless variation.\r
+       (logfonts_match): Check generic family.\r
+       (font_matches_spec): Don't check generic family here.\r
+       (fill_in_logfont): Set generic family based on adstyle.\r
+\r
+       * w32font.h (w32font_get_cache): Update declaration.\r
+\r
+2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * ftfont.c (ftfont_get_cache): Adjust the argument type.\r
+\r
+       * frame.c (x_set_font_backend): Don't call Fclear_font_cache.\r
+       If none of the new drivers are available, call font_update_drivers\r
+       with the old drivers.\r
+\r
+       * w32font.c (w32font_get_cache): Adjust the argument type.\r
+\r
+       * xfont.c (xfont_get_cache): Adjust the argument type.\r
+\r
+       * font.h (struct font_driver): Change argument type of get_cache.\r
+\r
+       * xftfont.c (xftfont_start_for_frame): Delete prototype.\r
+\r
+       * font.c (Ffont_get): Fix arguments to Fassoc.\r
+       (font_prepare_cache, font_finish_cache, font_get_cache): New functions.\r
+       (font_clear_cache): New function.\r
+       (font_list_entities, font_matching_entity): Use font_get_cache.\r
+       (font_update_drivers): Call font_clear_cache when finishing a driver.\r
+\r
+       * fontset.c (fontset_find_font): Fix previous change.\r
+\r
+2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * xterm.c (x_check_font) [USE_FONT_BACKEND]: Don't access\r
+       dpyinfo->font_table.\r
+       (x_delete_display) [USE_FONT_BACKEND]: Likewise.\r
+       (x_delete_terminal) [USE_FONT_BACKEND]: Likewise.\r
+\r
+       * font.c (font_at): Handle the case that the arg C is negative.\r
+       Handle the unibyte case.\r
+       (Ffont_at): Call font_at with the arg C -1.\r
+\r
+       * xdisp.c (handle_auto_composed_prop): Don't get a character at\r
+       the position here, and call font_at with the arg C -1.\r
+       Don't check the range of the existing composition at the point.\r
+\r
+2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * fontset.c (fontset_add): New args charset_id and family.\r
+       Change caller.\r
+       (load_font_get_repertory, fontset_find_font): Assume that\r
+       font_spec is always a font-spec object.\r
+       (Fset_fontset_font): Always store a font-spec object in a fontset.\r
+\r
+       * xdisp.c (handle_auto_composed_prop): Use Fget_text_property\r
+       instead of get_property_and_range.\r
+\r
+2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * xftfont.c (struct xftfont_info): Delete the member ft_face.\r
+       (xftfont_open): Don't keep locking face.\r
+       (xftfont_close): Don't unlock face.\r
+       (xftfont_anchor_point, xftfont_shape): Lock and unlock face.\r
+\r
+       * fontset.c (fontset_find_font): Don't prefer a font of\r
+       supplementary charset.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * ftfont.c (struct OpenTypeSpec): Rename members script_tag to\r
+       script, langsys_tag to langsys, new member script.\r
+       (OTF_TAG_STR): Terminate by '\0'.\r
+       (ftfont_get_open_type_spec): If :otf prop is is spec, Limit the\r
+       listing to the script specified in that property.  Fix arg to\r
+       OTF_check_features.\r
+\r
+2008-02-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.h: New file.\r
+\r
+       * w32font.c: Include it.\r
+       (struct w32font_info): Add owning_frame field.  Move to w32font.h.\r
+       (w32font_open): Set owning_frame.\r
+       (w32font_text_extents): Use owning_frame.\r
+       (struct font_callback_data): Add opentype_only field.\r
+       (add_font_entity_to_list): Use it to filter fonts.\r
+       Don't check against full name.\r
+       (w32font_list_internal): New function.\r
+       (w32font_list): Use it.\r
+       (w32font_match_internal): New function.\r
+       (w32font_match): Use it.\r
+       (w32font_open_internal): New function.\r
+       (w32font_open): Use it.\r
+       (w32font_get_cache, w32font_close, w32font_has_char)\r
+       (w32font_encode_char, w32font_text_extents, w32font_draw):\r
+       Make non-static.\r
+\r
+       * makefile.w32-in (w32font.o): Depend on w32font.h.\r
+\r
+2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * charset.c (Fdefine_charset_internal): Record a supplementary\r
+       charset at the tail of Vcharset_order_list.\r
+\r
+       * font.c (Ffont_shape_text): Fix the return value.\r
+\r
+       * ftfont.c (OTF_SYM_TAG, OTF_TAG_STR): Fix argument names.\r
+\r
+       * xdisp.c (handle_auto_composed_prop): Fix previous change.\r
+\r
+2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * ftfont.c (struct OpenTypeSpec): New struct.\r
+       (OTF_SYM_TAG, OTF_TAG_STR): New macros.\r
+       (ftfont_get_open_type_spec): New function.\r
+       (ftfont_list) [HAVE_LIBOTF]: Check otf-spec property.\r
+\r
+       * lread.c (read1): Redo the previous change with checking Vpurify_flag.\r
+\r
+2008-02-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (add_font_entity_to_list): Compare only the beginning\r
+       of full name.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xdisp.c (handle_auto_composed_prop): Simplify the code.\r
+       Never return HANDLED_RECOMPUTE_PROPS.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * font.c (font_gstring_produce): Delete it.\r
+\r
+       * composite.h (COMPOSITION_METHOD):\r
+       Handle COMPOSITION_WITH_GLYPH_STRING.\r
+\r
+2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * xfont.c (Qx): Delete.\r
+       (syms_of_xfont): Don't initialize Qx.\r
+\r
+       * composite.h (enum composition_method):\r
+       Define COMPOSITION_WITH_GLYPH_STRING unconditionally.\r
+\r
+2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * xfaces.c [HAVE_WINDOW_SYSTEM]: Include "font.h" unconditionally.\r
+       (choose_face_font): Accept new form of font-spec.\r
+\r
+       * frame.h (font_driver_list): Declare it unconditionally.\r
+       (struct frame): Define members font_driver_list and font_data_list\r
+       unconditionally.\r
+\r
+       * fontset.c: Include "font.h" unconditionally.\r
+       (generate_ascii_font_name): Use font_parse_xlfd and font_unparse_xlfd.\r
+       (Fset_fontset_font): Accept a font-spec object.\r
+\r
+       * font.c (font_unparse_xlfd): If pixel_size is zero, make the\r
+       PIXEL_SIZE part a wild card.\r
+\r
+       * dispextern.h (struct glyph_string): Define members clip and\r
+       num_clips unconditionally.\r
+       (struct face): Define members font_info and extra unconditionally.\r
+\r
+       * ftfont.c (ftfont_open): Set members maybe_otf and otf of\r
+       ftfont_info only when HAVE_LIBOTF is defined.\r
+\r
+2008-02-01  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * xdisp.c (back_to_previous_visible_line_start): Fix type of beg\r
+       and end.\r
+\r
+2008-02-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (w32font_driver): Add new fields.\r
+\r
+2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * Makefile.in (ALL_CFLAGS): Add @M17N_FLT_CFLAGS@.\r
+       (FONTSRC, FONTOBJ) [HAVE_WINDOW_SYSTEM]: Set them unconditionally.\r
+       (LIBES): Add @M17N_FLT_CFLAGS@.\r
+\r
+       * composite.c (compose_text): Don't treat the new style\r
+       composition specially.\r
+\r
+       * emacs.c (main): Call syms_of_font unconditionally.\r
+\r
+       * font.h (FONT_ENTITY_NOT_LOADABLE)\r
+       (FONT_ENTITY_SET_NOT_LOADABLE): New macros.\r
+       (LGSTRING_XXXX, LGLYPH_XXX): Adjust for the change of lispy gstring.\r
+       (struct font_driver): New member shape.\r
+       (font_registry_charsets): Extern it.\r
+       (font_find_for_lface, font_prepare_composition): Adjust prototype.\r
+       (font_otf_capability, font_drive_otf): Delete their externs.\r
+\r
+       * font.c [HAVE_M17N_FLT]: Include <m17n-flt.h>.\r
+       (font_charset_alist, font_registry_charsets): Move from xfont.c\r
+       and rename.\r
+       (font_prop_validate_otf): New function.\r
+       (font_property_table): Register it for QCotf.\r
+       (DEVICE_DELTA, adjust_anchor, REPLACEMENT_CHARACTER)\r
+       (font_drive_otf): Delete.\r
+       (font_prepare_composition): New arg F.  Adjust for the change of\r
+       lispy gstring.\r
+       (font_find_for_lface): New arg C.\r
+       (font_load_for_face): Adjust for the change of font_find_for_lface.\r
+       (Ffont_make_gstring, Ffont_fill_gstring): Adjust for the change of\r
+       lispy gstring.\r
+       (Ffont_shape_text): New function.\r
+       (Fopen_font): If the font size is not given, use 12-pixel.\r
+       (Ffont_at): New arg STRING.\r
+       (syms_of_font): Initalize font_charset_alist.\r
+       Declare Ffont_shape_text as a Lisp function.  Call syms_of_XXfont\r
+       conditionally.\r
+\r
+       * fontset.c (fontset_find_font) [USE_FONT_BACKEND]: Try multiple\r
+       fonts of the same font-spec.  Change the format of RFONT-DEF.\r
+       (face_for_char, make_fontset_for_ascii_face, Finternal_char_font):\r
+       Adjust for the change of RFONT-DEF.\r
+       (Fset_fontset_font) [USE_FONT_BACKEND]: Handle new format of font-spec.\r
+\r
+       * ftfont.h: New file.\r
+\r
+       * ftfont.c: Don't include Freetype headers.  Include "ftfont.h".\r
+       (struct ftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.\r
+       (ftfont_open) [HAVE_LIBOTF]: Initialize the above members.\r
+       (ftfont_driver) [HAVE_LIBOTF, HAVE_M17N_FLT]: Don't set\r
+       font_otf_capability and font_drive_otf, set ftfont_shape.\r
+       (ftfont_list): Adjust for the change of :otf property value.\r
+       (struct MFLTFontFT) [HAVE_LIBOTF, HAVE_M17N_FLT]: New struct.\r
+       (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_check_otf)\r
+       (adjust_anchor, ftfont_drive_otf, ftfont_shape_by_flt)\r
+       (ftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.\r
+       (DEVICE_DELTA) [HAVE_LIBOTF, HAVE_M17N_FLT]: New macro.\r
+       (otf_gstring, gstring, m17n_flt_initialized): New variables.\r
+\r
+       * w32term.c (x_draw_composite_glyph_string_foreground):\r
+       Adjust for the change of lispy gstring.\r
+\r
+       * xdisp.c (handle_composition_prop): Adjust for the change of\r
+       lispy gstring.  Call a function for auto-composition with the\r
+       third arg it->window.\r
+       (fill_composite_glyph_string): Adjust for the change of lispy string.\r
+       (x_produce_glyphs): Adjust for the change of font_prepare_compositionl.\r
+\r
+       * xfaces.c (set_font_frame_param): Adjust for the change of\r
+       font_find_for_lface.\r
+\r
+       * xfont.c (x_font_charset_alist): Move to font.c and rename.\r
+       (xfont_registry_charsets): Likewise.  Change caller.\r
+       (syms_of_xfont): Don't handle x_font_charset_alist.\r
+\r
+       * xftfont.c: Include "ftfont.h".\r
+       (struct xftfont_info) [HAVE_LIBOTF]: New members maybe_otf and otf.\r
+       (xftfont_open) [HAVE_LIBOTF]: Initialize the above members.\r
+       (xftfont_close) [HAVE_LIBOTF]: Close otf.\r
+       (xftfont_shape) [HAVE_LIBOTF, HAVE_M17N_FLT]: New function.\r
+       (syms_of_xftfont) [HAVE_LIBOTF, HAVE_M17N_FLT]:\r
+       Set xftfont_driver.shape to xftfont_shape.\r
+\r
+       * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for\r
+       the change of lispy gstring.\r
+\r
+2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * ftxfont.c (ftxfont_end_for_frame): Fix array indexing error.\r
+\r
+2008-02-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (w32font_draw): Fill background manually.\r
+\r
+2008-02-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * font.c (Qfontp): Remove unused symbol.\r
+       (QCantialias): New symbol.\r
+       (syms_of_font): Define it.\r
+       (font_property_table): Set a validator for QCantialias.\r
+\r
+       * w32font.c (CLEARTYPE_QUALITY, CLEARTYPE_NATURAL_QUALITY):\r
+       Define if not already.\r
+       (QCfamily): Share with xfaces.c.\r
+       (Qstandard, Qsubpixel, Qnatural): New symbols.\r
+       (syms_of_w32font): Define them.  Don't define QCfamily here.\r
+       (w32_antialias_type, lispy_antialias_type): New functions.\r
+       (w32_enumfont_pattern_entity): New arg requested_font.\r
+       Set antialias parameter if non-default was requested.\r
+       (fill_in_logfont): Fill in lfQuality if :antialias specified.\r
+\r
+2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * lread.c (read1): Undo the previous change.\r
+\r
+2008-02-01  CHENG Gao  <chenggao@gmail.com>  (tiny change)\r
+\r
+       * frame.c (Fdelete_frame): Call font_update_drivers only when\r
+       USE_FONT_BACKEND is defined.\r
+\r
+2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * font.h (struct font_bitmap): New member bits_per_pixel.\r
+       (struct font_driver): New members start_for_frame and end_for_frame.\r
+       (struct font_data_list): New struct.\r
+       (font_put_frame_data, font_get_frame_data): Extern them.\r
+\r
+       * frame.h (struct frame): New member font_data_list.\r
+\r
+       * font.c (font_update_drivers): Call driver->start_for_frame and\r
+       driver->end_for_frame at proper timings.\r
+       (font_put_frame_data, font_get_frame_data): New functions.\r
+       (Ffont_spec): Add usage in the docstring.\r
+\r
+       * frame.c (make_frame): Initialize f->font_data_list to NULL.\r
+       (Fdelete_frame): Call font_update_drivers.\r
+\r
+       * xftfont.c (struct xftface_info): Delete the member xft_draw.\r
+       (xftfont_prepare_face, xftfont_done_face): Adjust for the above change.\r
+       (xftfont_get_xft_draw): New function.\r
+       (xftfont_draw): Get XftDraw by xftfont_get_xft_draw.\r
+       (xftfont_end_for_frame): New function.\r
+       (syms_of_xftfont): Set xftfont_driver.end_for_frame.\r
+\r
+       * ftxfont.c (ftxfont_get_gcs): Rename from ftxfont_create_gcs.\r
+       Change argument.  Cache GCs in the per-frame data.\r
+       (struct ftxfont_frame_data): New struct.\r
+       (ftxfont_draw_bitmap): New arg gc_fore and flush.\r
+       (ftxfont_prepare_face, ftxfont_done_face): Delete them.\r
+       (ftxfont_draw): Get GCs by ftxfont_get_gcs.  Reflect s->clip in GCs.\r
+       (ftxfont_end_for_frame): New function.\r
+       (syms_of_ftxfont): Set ftxfont_driver.end_for_frame.\r
+\r
+       * ftfont.c (ftfont_get_bitmap): Set bitmap->bits_per_pixel.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xselect.c (Vselection_coding_system)\r
+       (Vnext_selection_coding_system): Delete them.\r
+       (syms_of_xselect): Don't declare selection-coding-system and\r
+       next-selection-coding-system.  They are declared in select.el.\r
+\r
+2008-02-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32term.h (WM_UNICHAR, UNICODE_NOCHAR): Define if not already.\r
+\r
+       * w32fns.c: Include imm.h.\r
+       (get_composition_string_fn, get_ime_context_fn): New optional\r
+       system functions.\r
+       (globals_of_w32fns): Load them from imm32.dll.\r
+       (ignore_ime_char): New flag.\r
+       (w32_wnd_proc): Handle WM_UNICHAR, WM_IME_CHAR and\r
+       WM_IME_ENDCOMPOSITION messages.\r
+\r
+       * w32term.c (w32_read_socket) [WM_UNICHAR]: Handle as\r
+       MULTIBYTE_CHAR_KEYSTROKE_EVENT.\r
+\r
+2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * lread.c (READCHAR): Call readchar with the 2nd arg NULL.\r
+       (READCHAR_REPORT_MULTIBYTE): New macro.\r
+       (readchar): New 2nd arg MULTIBYTE.\r
+       (read1): Use READCHAR_REPORT_MULTIBYTE for the first read.\r
+       Make symbol's name multibyte according to the multibyteness of the\r
+       source.\r
+\r
+2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * xfaces.c (face_for_overlay_string): Call lookup_face with\r
+       correct arguments (fix of synching with the trunk).\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * font.c (font_prop_validate_symbol, font_prop_validate_style)\r
+       (font_prop_validate_non_neg, font_prop_validate_spacing):\r
+       Delete argument prop_index.\r
+       (font_property_table): Change arguments to validater.  Change Callers.\r
+       (font_lispy_object): Delete.\r
+       (font_at): Use font_find_object instead fo font_lispy_object.\r
+\r
+2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * fileio.c (Fexpand_file_name): Adjust multibyteness of directory\r
+       and file names.\r
+\r
+2008-02-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (add_font_name_to_list): Avoid vertical fonts.\r
+       (font_matches_spec): Remove debug output.\r
+       (add_font_entity_to_list): Avoid using substituted fonts.\r
+\r
+2008-02-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * doc.c (Fsnarf_documentation):\r
+       * Makefile.in (temacs${EXEEXT}, mostlyclean): Undo last change.\r
+\r
+2008-02-01  Miles Bader  <miles@gnu.org>\r
+\r
+       * dispextern.h (struct glyph_row): Only define "clip" field if\r
+       HAVE_WINDOW_SYSTEM is defined.\r
+\r
+2008-02-01  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       Fix up multi-tty merge.\r
+\r
+       * xterm.c (handle_one_xevent): Remove duplicate code and fix up nesting\r
+       and indentation.\r
+\r
+       * xfaces.c (free_realized_face, clear_face_gcs):\r
+       Include font_done_for_face in the input_blocked section, just in case.\r
+\r
+       * xdisp.c (decode_mode_spec): Use terminal-local coding systems.\r
+       (get_char_face_and_encoding): Undo last change and remove the *other*\r
+       duplicate definition (i.e. keep the one that's better scoped and that\r
+       includes code for the font-backend).\r
+\r
+       * terminal.c (create_terminal): Default keyboard_coding to\r
+       `no-conversion' and terminal_coding to `undecided'.\r
+\r
+       * lread.c (read1): Use XSETPVECTYPE to set a pseudovector's tag.\r
+\r
+       * fontset.c (free_realized_fontsets): Check that the table entry does\r
+       contain a fontset before trying to compare it to `base'.\r
+\r
+       * emacs.c (main): Move syms_of_data, syms_of_fileio, syms_of_alloc,\r
+       syms_of_charset, and syms_of_coding earlier because init_window_once\r
+       now needs Vcoding_system_hash_table to be setup.\r
+\r
+       * coding.h (default_buffer_file_coding): Remove.\r
+\r
+       * coding.c (default_buffer_file_coding): Remove.\r
+       (Fterminal_coding_system, Fkeyboard_coding_system): Use ->id rather\r
+       than ->symbol, and use the terminal-local coding system.\r
+       (syms_of_coding): Don't setup the coding-systems that are not\r
+       terminal-local.\r
+       (Fdefine_coding_system_internal): Use XCAR/XCDR.\r
+\r
+       * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):\r
+       Use XSETPVECTYPE now that XSETCHAR_TABLE doesn't set the tag anymore.\r
+\r
+       * alloc.c (Fmake_char_table, make_sub_char_table): Remove.  They're now\r
+       in chartab.c and were re-added here by mistake.\r
+       (Fpurecopy): Use XSETPVECTYPE after copying a COMPILED pseudovector.\r
+\r
+       * doc.c (Fsnarf_documentation):\r
+       * Makefile.in (temacs${EXEEXT}, mostlyclean): Move buildobj.lst from\r
+       src to etc.\r
+\r
+       * ChangeLog.10: Add mistakenly removed entry.\r
+\r
+2008-02-01  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * Makefile.in (fringe.o, minibuf.o): Fix dependencies.\r
+\r
+2008-02-01  Miles Bader  <miles@gnu.org>\r
+\r
+       * xdisp.c (get_char_face_and_encoding): Remove extraneous definition.\r
+       Add extra args to FACE_FOR_CHAR.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * keymap.c (where_is_internal_1): If key is a cons, store the copy\r
+       in sequence.\r
+\r
+       * chartab.c (map_sub_char_table, map_char_table): If the range\r
+       contains just one character, call the function with that character\r
+       even if the depth is not 3.\r
+\r
+2008-02-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (w32font_text_extents): Calculate metrics for the\r
+       whole string.\r
+\r
+2008-02-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32xfns.c (get_next_msg): Consolidate WM_PAINT messages.\r
+\r
+2008-02-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32term.c (x_set_glyph_string_clipping): Use\r
+       get_glyph_string_clip_rects.\r
+       (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):\r
+       Adjust for the change of struct glyph_string.\r
+\r
+       * w32font.c (w32font_draw): Do clipping here.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xftfont.c (xftfont_draw): Adjust for the change of struct\r
+       glyph_string.\r
+\r
+       * xterm.c (x_set_glyph_string_clipping): Use\r
+       get_glyph_string_clip_rects.\r
+       (x_set_glyph_string_clipping_exactly, x_draw_glyph_string):\r
+       Adjust for the change of struct glyph_string.\r
+\r
+       * xdisp.c (get_glyph_string_clip_rects): Reflect s->row->clip to\r
+       the resulting clip(s}.\r
+       (expose_overlaps): Add arg r.  Change callers.  Set it to\r
+       row->clip temporarily.\r
+       (expose_window): Redraw rows overlapping the exposed area.\r
+\r
+       * dispextern.h (struct glyph_row): New member clip.\r
+       (struct glyph_string): Delete members clip_x, clip_y, clip_width,\r
+       clip_height, new member clip, and num_clips.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * data.c (Fchar_or_string_p): Fix docstring.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xftfont.c (xftfont_draw): If s->font_info != s->face->font_info,\r
+       create a temporary XftDraw object.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * font.c (Ffontp): Fix docstring.\r
+\r
+       * coding.c (detect_coding_iso_2022): Don't treat SI/SO codes as a\r
+       strong evidence of ISO-2022.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * abbrev.c (abbrev_check_chars): Use CHAR_TABLE_REF, not\r
+       SYNTAX_ENTRY_FOLLOW_PARENT.\r
+\r
+2008-02-01  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and change\r
+       its type.\r
+       (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):\r
+       Update to the new type of weak_hash_tables and next_weak.\r
+\r
+       * lisp.h (struct Lisp_Hash_Table): Change next_weak from Lisp_Object to\r
+       a plain C pointer to Lisp_Hash_Table.\r
+\r
+       * lisp.h (XGCTYPE, GC_HASH_TABLE_P, GC_NILP, GC_NUMBERP, GC_NATNUMP)\r
+       (GC_INTEGERP, GC_SYMBOLP, GC_MISCP, GC_VECTORLIKEP, GC_STRINGP)\r
+       (GC_CONSP, GC_FLOATP, GC_VECTORP, GC_OVERLAYP, GC_MARKERP)\r
+       (GC_INTFWDP, GC_BOOLFWDP, GC_OBJFWDP, GC_BUFFER_OBJFWDP)\r
+       (GC_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP)\r
+       (GC_KBOARD_OBJFWDP, GC_PSEUDOVECTORP, GC_WINDOW_CONFIGURATIONP)\r
+       (GC_PROCESSP, GC_WINDOWP, GC_SUBRP, GC_COMPILEDP, GC_BUFFERP)\r
+       (GC_SUB_CHAR_TABLE_P, GC_CHAR_TABLE_P, GC_BOOL_VECTOR_P, GC_FRAMEP)\r
+       (GC_EQ): Remove since they've been identical to their non-GC_\r
+       alter-egos ever since the markbit was eradicated.\r
+\r
+       * alloc.c:\r
+       * buffer.c:\r
+       * buffer.h:\r
+       * data.c:\r
+       * fileio.c:\r
+       * filelock.c:\r
+       * fns.c:\r
+       * frame.h:\r
+       * lisp.h:\r
+       * macterm.c:\r
+       * print.c:\r
+       * process.c:\r
+       * w32fns.c:\r
+       * w32menu.c:\r
+       * w32term.c:\r
+       * xfns.c:\r
+       * xmenu.c:\r
+       * xterm.c: Replace uses of GC_* macros with the non-GC_ versions.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * chartab.c (map_sub_char_table): Make it work for the top-level\r
+       char-table.  Fix handling of parent char-table.\r
+       (map_char_table): Adjust for the above change.\r
+\r
+2008-02-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (Qgdi): Rename from Qw32.\r
+\r
+2008-02-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32bdf.c (get_quoted_string): Make function static.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xftfont.c (xftfont_open): If one of font's ASCII glyph has\r
+       bigger ascent and descent than those of the font, use them as\r
+       font's ascent and descent.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * Makefile.in (${lispsource}international/charprop.el): Move this\r
+       target within "#ifdef HAVE_UNIDATA" and "#endif".\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * Makefile.in (lisp): Add ${lispsource}language/tai-viet.el.\r
+       (shortlisp): Add ../lisp/language/tai-viet.el.\r
+\r
+2008-02-01  Ulrich Mueller  <ulm@gentoo.org>\r
+\r
+       * Makefile.in (${lispsource}international/charprop.el): Depend on\r
+       temacs${EXEEXT}.\r
+\r
+2008-02-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (w32font_close): Delete the GDI font object.\r
+\r
+       * w32menu.c: Include character.h.\r
+\r
+       * w32proc.c: Likewise.\r
+\r
+       * w32select.c: Likewise.\r
+\r
+       * makefile.w32-in (w32proc.o): Depend on character.h.\r
+\r
+2008-02-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32fns.c (syms_of_w32fns): Use DEFSYM macro.\r
+\r
+       * w32menu.c (syms_of_w32menu): Likewise.\r
+\r
+       * w32proc.c (syms_of_ntproc): Likewise.\r
+\r
+       * w32select.c (syms_of_w32select): Likewise.\r
+\r
+       * w32term.c (syms_of_w32term): Likewise.\r
+\r
+2008-02-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (w32font_draw): Delete brush after using it.\r
+\r
+2008-02-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (w32font_open): Don't set font_idx.\r
+       (w32font_text_extents): Try GetTextExtentPoint32W before defaulting\r
+       to font settings.\r
+       (w32font_draw): Fill background explicitly.\r
+\r
+2008-02-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32term.c (w32_initialize): Don't call w32font_initialize.\r
+\r
+       * w32font.c (w32font_info): Remove subranges.\r
+       (QCsubranges, Qmodern, Qswiss, Qroman): Remove.\r
+       (QCfamily, Qmonospace, Qsans_serif, Qmono, Qsans, Qsans__serif)\r
+       (Qraster, Qoutline, Qlatin, Qgreek, Qcoptic, Qcyrillic, Qarmenian)\r
+       (Qhebrew, Qarabic, Qsyriac, Qnko, Qthaana, Qdevanagari, Qbengali)\r
+       (Qgurmukhi, Qgujarati, Qoriya, Qtamil, Qtelugu, Qkannada)\r
+       (Qmalayalam, Qsinhala, Qthai, Qlao, Qtibetan, Qmyanmar, Qgeorgian)\r
+       (Qhangul, Qethiopic, Qcherokee, Qcanadian_aboriginal, Qogham)\r
+       (Qrunic, Qkhmer, Qmongolian, Qsymbol, Qbraille, Qhan)\r
+       (Qideographic_description, Qcjk_misc, Qkana, Qbopomofo, Qkanbun)\r
+       (Qyi, Qbyzantine_musical_symbol, Qmusical_symbol, Qmathematical):\r
+       New symbols.\r
+       (font_callback_data): New struct.\r
+       (w32font_list, w32font_match): Use it.\r
+       (w32font_open): Don't populate subranges.\r
+       (w32font_has_char): Use script Lisp symbols, not subrange bitmask.\r
+       (w32font_encode_char): Always return unicode code-point as-is.\r
+       (w32font_text_extents): Supply a transformation matrix to\r
+       GetGlyphOutline.  Never look up by glyph index.  Avoid looping\r
+       twice.  Use unicode version of GetTexExtentPoint32 instead of\r
+       glyph index version.\r
+       (set_fonts_frame): Remove.\r
+       (w32_enumfont_pattern_entity): Add frame parameter, use it to\r
+       set frame parameter.  Use backward compatible fake foundries.\r
+       Save generic family in extra slot under QCfamily.  Make width slot\r
+       constant.  Save QCspacing value.  Save list of scripts instead of\r
+       binary subranges.\r
+       (w32_generic_family, logfonts_match, font_matches_spec): New functions.\r
+       (add_font_entity_to_list): Use font_callback_data struct.  Filter\r
+       unwanted fonts.\r
+       (add_one_font_entity_to_list): Use font_callback_data struct.\r
+       (w32_registry): Default to iso10646_1.\r
+       (fill_in_logfont): Use dpi from extra slot.  Don't bother with\r
+       string font registries.  Don't fill in font name if it is a generic\r
+       family name, fill family instead.  Use spacing, family and script\r
+       extra info to fill pitch, family and charset fields.\r
+       (list_all_matching_fonts): Use font_callback_data struct.\r
+       (unicode_range_for_char): Remove.\r
+       (font_supported_scripts): New function.\r
+       (w32font_initialize): Remove.\r
+       (syms_of_w32font): Update which symbols are defined.\r
+\r
+2008-02-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * font.c (font_pixel_size): Reverse assq_no_quit args.\r
+\r
+       * w32term.h (FONT_WIDTH): Report max width, not average.\r
+       (FONT_MAX_WIDTH): Remove.\r
+       (FONT_AVG_WIDTH): New macro.\r
+\r
+       * xfaces.c (Fx_list_fonts) [WINDOWSNT]: Remove Windows only\r
+       redefinition of FONT_WIDTH.\r
+\r
+       * w32term.c (x_font_min_bounds): Use FONT_AVG_WIDTH.\r
+       (w32_cache_char_metrics): Use FONT_WIDTH.\r
+\r
+       * w32fns.c (w32_load_system_font, w32_list_fonts): Use FONT_AVG_WIDTH.\r
+\r
+2008-02-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (w32font_open): Make lfHeight negative.\r
+\r
+       * w32fns.c (x_default_font_parameter): Use new style font name.\r
+       (Fx_create_frame, x_create_tip_frame): Initialize resx and resy.\r
+\r
+2008-02-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32font.c (QCsubranges): New symbol.\r
+       (w32font_open, w32font_has_char): Get subranges from subproperty\r
+       of extra.\r
+       (w32_enumfont_pattern_entity): Set subranges as subproperty of extra.\r
+       (syms_of_w32font): Define :subranges symbol.\r
+\r
+       * font.c (font_put_extra): Expose externally.\r
+\r
+       * font.h (font_put_extra): Move declaration from font.c.\r
+\r
+       * font.c (Ffont_get): Use font driver to determine otf capability.\r
+       (adjust_anchor): Check if driver defines anchor_point before using.\r
+\r
+       * w32font.c (w32font_open): Handle size, height and pixel_size better.\r
+       (w32font_draw): Use options.\r
+       (w32_enumfont_pattern_entity): Set size to 0 for scalable fonts.\r
+       Fix detection of truetype fonts.\r
+       (registry_to_w32_charset): Handle charsets other than iso8859-1\r
+       expressed as lisp symbols.\r
+       (w32_registry): Express charset as lisp symbol.\r
+       (fill_in_logfont): Reverse pixel and point height logic.\r
+       Don't set width here.  Set quality to default.\r
+\r
+       * w32fns.c (w32_load_system_font): Fix detecting FIXED_PITCH fonts.\r
+       (x_to_w32_font): Fill in lfPitchAndFamily correctly.\r
+\r
+       * xterm.c (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:\r
+       Remove redundant loop and allocation.\r
+\r
+       * makefile.w32-in (font.o, w32font.o): New objects.\r
+       (fontset.o, xdisp.o, xfaces.o, w32fns.o, w32term.o): Depend on font.h.\r
+       (FONTOBJ): New group of objects conditioned on USE_FONT_BACKEND.\r
+\r
+       * xdisp.c (fill_composite_glyph_string): Make the first arg to\r
+       STORE_XCHARB a valid l-value.\r
+\r
+       * w32term.c (w32_native_per_char_metric): Swap width and rbearing\r
+       calculations for non-Truetype fonts.\r
+       (x_draw_glyph_string): Sync with xterm.c.\r
+       (x_draw_glyph_string_foreground) [USE_FONT_BACKEND]:\r
+       Remove redundant code.\r
+       (w32_initialize) [USE_FONT_BACKEND]: Call w32font_initialize.\r
+\r
+       * w32term.h (w32_output_data) [USE_FONT_BACKEND]: Add fontp member.\r
+       (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro from xterm.h.\r
+\r
+       * w32fns.c [USE_FONT_BACKEND]: Port font backend changes from xfns.c.\r
+       (x_to_w32_charset, w32_to_x_charset): Expose externally.\r
+\r
+       * w32font.c: New file for w32 font backend.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * term.c: Don't include "buffer.h" twice.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * character.c (Funibyte_string): New function.\r
+       (syms_of_character): Defsubr it.\r
+\r
+2008-02-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32term.c [USE_FONT_BACKEND]:\r
+       (x_get_font_repertory, note_mouse_movement, x_set_mouse_face_gc)\r
+       (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly)\r
+       (x_draw_glyph_string, x_draw_glyph_string_foreground)\r
+       (x_draw_composite_glyph_string_foreground, x_new_fontset2)\r
+       (x_free_frame_resources): Sync with xterm.c.\r
+\r
+2008-02-01  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * lread.c (read1): Use CHAR_TABLE_STANDARD_SLOTS to validate\r
+       char-table size.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * font.c (check_otf_features): Define it regardless of HAVE_LIBOTF.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * ftfont.c (ftfont_driver): Delete font_otf_gsub and\r
+       font_otf_gpos, add font_drive_otf.\r
+\r
+       * fontset.c (fontset_find_font): Pay attention to font size\r
+       specified for a font.\r
+       (reorder_font_vector): Check contents of font_def.\r
+\r
+       * font.c (struct otf_list): Delete it.\r
+       (otf_list): Make it a lisp variable.\r
+       (otf_open): Use lispy otf_list.\r
+       (generate_otf_features): Rename from parse_gsub_gpos_spec.\r
+       (check_otf_features): New function.\r
+       (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):\r
+       New functions.\r
+       (font_drive_otf): New function merging font_otf_gsub and\r
+       font_otf_gpos.\r
+       (font_open_for_lface): New arg spec.  Change argument order.\r
+       (font_load_for_face): Adjust for the change of font_open_for_lface.\r
+       (Ffont_drive_otf): New function merging Ffont_otf_gsub and\r
+       Ffont_otf_gpos.\r
+       (syms_of_font): Staticpro otf_list.  Delete defsubr of\r
+       Sfont_otf_gsub and Sfont_otf_gpos.  Defsubr Sfont_drive_otf.\r
+\r
+       * xfaces.c (set_font_frame_param): Adjust for the change of\r
+       font_open_for_lface.\r
+\r
+       * font.h (font_open_for_lface): Adjust prototype.\r
+       (struct font_driver): Delete members otf_gsub and otf_gpos, add\r
+       member otf_drive.\r
+       (font_otf_gsub, font_otf_gpos): Delete externs.\r
+       (font_drive_otf): Extern it.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * font.c (font_at): If the window W is not on a window system,\r
+       return Qnil.\r
+\r
+       * coding.c (produce_chars, encode_coding): Don't call\r
+       insert_from_gap if no characters to produce.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fontset.c (free_realized_fontsets): Avoid unnecessary call of\r
+       Fclear_face_cache.\r
+\r
+       * xfaces.c (face_for_font): Check also face->font==font->font.font.\r
+\r
+2008-02-01  Miles Bader  <miles@gnu.org>\r
+\r
+       * emacs.c (main): Change default value of `enable_font_backend' to 1.\r
+       Parse "--disable-font-backend" option.\r
+       (standard_args): Add "--disable-font-backend" option.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fontset.c (fontset_find_font): New function.\r
+       (fontset_font): Use fontset_find_font.\r
+       (make_fontset_for_ascii_face): Don't set face ID in rfont_def.\r
+       Register the specified font for all Latin characters.\r
+       (new_fontset_from_font): Register the specified font for all Latin\r
+       characters.\r
+       (dump_fontset): For a realized fontset, include the base fontset\r
+       name in the returned vector.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * character.h (CHAR_STRING): Cast C to unsigned on calling\r
+       char_string.\r
+\r
+       * character.c (char_string): Type of arg C changed to unsigned.\r
+       Signal an error if C is an invalid character code.\r
+\r
+       * editfns.c (general_insert_function, Fchar_to_string):\r
+       Use CHARACTERP, not INTEGERP.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * character.h (MIN_MULTIBYTE_LEADING_CODE)\r
+       (MAX_MULTIBYTE_LEADING_CODE): New macros.\r
+\r
+       * regex.c (analyse_first): Fix for multibyte characters in "case\r
+       charset:" and "case categoryspec:".\r
+\r
+2008-02-01  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * Makefile.in (LIBES): Move standard libraries to the end.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * alloc.c (Fgarbage_collect): If nextb->text->inhibit_shrinking is\r
+       nonzero, don't shrink the buffer nextb.\r
+\r
+       * buffer.h (struct buffer_text): New member inhibit_shrinking.\r
+\r
+       * coding.c (coding_alloc_by_making_gap): New arg offset.\r
+       (alloc_destination): Call coding_alloc_by_making_gap with the arg\r
+       offset.\r
+       (decode_coding_iso_2022): Update coding->safe_charsets.\r
+       (decode_coding_gap): Temporarily set\r
+       current_buffer->text->inhibit_shrinking to 1.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xterm.c (x_draw_composite_glyph_string_foreground): Fix\r
+       indexing into elements of s->cmp and s->char2b.\r
+\r
+2008-02-01  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * regex.c (RE_STRING_CHAR_AND_LENGTH) [! emacs]: Add missing arg `len'.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * regex.c (GET_CHAR_BEFORE_2, GET_CHAR_AFTER): Check the variable\r
+       target_multibyte instead of multibyte.\r
+       (re_match_2_internal): Call bcmp_translate with target_multibyte.\r
+       (bcmp_translate): Change the argument name from multibyte to\r
+       target_multibyte.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       These changes are to compile a regexp into a pattern that can be\r
+       used both for multibyte and unibyte targets.\r
+\r
+       * Makefile.in (search.o): Depend on charset.h.\r
+\r
+       * character.c (multibyte_char_to_unibyte_safe): New function.\r
+\r
+       * search.c: Include "charset.h".\r
+       (compile_pattern_1): Delete argument multibyte.  Don't set\r
+       cp->buf.target_multibyte here.  Set cp->buf.charset_unibyte.\r
+       (compile_pattern): Don't compare cp->buf.target_multibyte.\r
+       Compare cp->buf.charset_unibyte.\r
+       (compile_pattern): Set cp->buf.target_multibyte.\r
+\r
+       * lisp.h (multibyte_char_to_unibyte_safe): Extern it.\r
+\r
+       * regex.h (struct re_pattern_buffer): New member charset_unibyte.\r
+\r
+       * regex.c (RE_STRING_CHAR, RE_STRING_CHAR_AND_LENGTH): New arg\r
+       multibyte.  Change callers.\r
+       (RE_CHAR_TO_MULTIBYTE, RE_CHAR_TO_UNIBYTE): New macros.\r
+       (MAKE_CHAR_MULTIBYTE, MAKE_CHAR_UNIBYTE): Delete.  Change callers\r
+       to use RE_CHAR_TO_MULTIBYTE and RE_CHAR_TO_UNIBYTE, respectively.\r
+       (SETUP_ASCII_RANGE, SETUP_UNIBYTE_RANGE): New macros.\r
+       (SETUP_MULTIBYTE_RANGE): Generate a more compact range_table.\r
+       (regex_compile): Make the compiled pattern usable both for\r
+       multibyte and unibyte targets.\r
+       (analyse_first): Make the fastmap usable both for multibyte and\r
+       unibyte targets.\r
+       (TRANSLATE_VIA_MULTIBYTE): Delete.\r
+       (re_match_2_internal): Pay attention to the case that the\r
+       multibyteness of bufp and target may be different.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xdisp.c (x_produce_glyphs): When a font is not found, make the\r
+       empty box occupy at least one column width.\r
+\r
+2008-02-01  Miles Bader  <miles@gnu.org>\r
+\r
+       * Makefile.in: Remove redundant HAVE_XFT clause.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xrdb.c (x_load_resources): Setup the default fontSet X resource.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fontset.c (Finternal_char_font): Fix for the case of POSITION\r
+       being nil.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xftfont.c (xftfont_open): Call FcConfigSubstitute.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xftfont.c (xftfont_open): Don't enable antialias explicitly.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * search.c (simple_search): Fix previous change.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xftfont.c (ftfont_font_format): Extern declaration.\r
+\r
+       * frame.c (x_set_font): Fix the second arg to fs_query_fontset.\r
+\r
+       * xfont.c (xfont_driver): Initialize ftfont_driver.type by 0.\r
+       (xfont_list): Don't directly use Lisp_Object as an operand of &&.\r
+\r
+       * ftfont.c (ftfont_driver): Initialize ftfont_driver.type by 0.\r
+       (ftfont_font_format): Fix previous change.\r
+\r
+       * font.h (Ffont_xlfd_name): EXFUN it.\r
+\r
+       * font.c (font_parse_xlfd): Fix the array size of `f'.\r
+       (register_font_driver): Use EQ to compare driver->type.\r
+\r
+       * xfns.c (xic_create_xfontset2) [USE_FONT_BACKEND]: New function.\r
+       (create_frame_xic) [USE_FONT_BACKEND]: Call xic_create_xfontset2.\r
+       (xic_set_xfontset) [USE_FONT_BACKEND]: Likewise.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * ftfont.c (ftfont_pattern_entity, ftfont_list_generic_family)\r
+       (ftfont_list, ftfont_font_format): Check if FC_FONTFORMAT is defined.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xfont.c (xfont_open): Set font->format.\r
+\r
+       * xftfont.c (xftfont_open): Set font->format.\r
+\r
+       * ftfont.c (ftfont_pattern_entity): Add fontformat in a pattern.\r
+       (ftfont_list): Include FC_FONTFORMAT in FcObject.\r
+       (ftfont_open): Set font->format.\r
+       (ftfont_font_format): New function.\r
+\r
+       * font.h (struct font): New member format.\r
+\r
+       * font.c (Qopentype): New variable.\r
+       (syms_of_font): Defsym it.\r
+       (Fquery_font): Change the format of the last element of the return\r
+       value.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xfns.c (xic_create_xfontset): Try the default fontset name as a\r
+       last resort.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (detect_coding_charset): Fix detection of multi-byte\r
+       charset.\r
+\r
+2008-02-01  Bob Halley  <halley@play-bow.org>  (tiny change)\r
+\r
+       * ccl.c (ccl_driver): If DST is NULL, set ccl->produced to 0.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xdisp.c (get_next_display_element): Set it->face_id for the\r
+       first component of a composition.\r
+       (x_produce_glyphs): Check if the font is changed or not for composition.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fontset.c (Qlatin): New variable.\r
+       (syms_of_fontset): Define it as a lisp symbol.\r
+       (Fset_fontset_font): If TARGET is `latin', use FONT_SPEC for ASCII.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * font.c (font_unparse_fcname): Pay attention to the case that\r
+       some of font property is a null string.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * term.c: Include "composite.h".\r
+       (encode_terminal_code): Output all components of composition.\r
+       Check the size of encode_terminal_src.\r
+       (produce_glyphs): For composition, call produce_composite_glyph.\r
+       (append_composite_glyph, produce_composite_glyph): New functions.\r
+\r
+       * xdisp.c (x_produce_glyphs): In handling composition, if a font\r
+       is not found, get font_info from the current ascii face.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fileio.c (Finsert_file_contents): On replacing, temporarily bind\r
+       buffer-file-name to Qnil before calling insert_from_buffer.\r
+\r
+       * font.c (font_unparse_fcname): Pay attention to the case that\r
+       foundry is a null string.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * ftfont.c (ftfont_list): Allow registry "unicode-sip".\r
+\r
+       * font.c (Qunicode_sip): New variable.\r
+       (syms_of_font): Declare it as a Lisp symbol.\r
+\r
+       * font.h (Qunicode_sip): Extern it.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * composite.c (get_composition_id): Pay attention to TAB component.\r
+\r
+       * xterm.c (x_draw_composite_glyph_string_foreground): Don't draw\r
+       TAB.  Adjust for the change of s->char2b which always points to\r
+       the first element of allocated memory.\r
+\r
+       * xftfont.c (xftfont_text_extents): Fix calculation of descent value.\r
+\r
+       * xdisp.c (handle_composition_prop): Set it->c to the first\r
+       non-TAB component.\r
+       (fill_composite_glyph_string): Change argument.\r
+       (BUILD_COMPOSITE_GLYPH_STRING): Adjust for the above change.\r
+       (x_produce_glyphs): Fix handling of left/right padding.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (detect_coding_system): Fix for handling off\r
+       inhibit_iso_escape_detection.  Fix for the case that no coding\r
+       system is defined for a specific coding category.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * font.c (font_matching_entity): Delete unused local var.\r
+\r
+       * xftfont.c (xftfont_open): Call XftDefaultSubstitute before\r
+       opening a font.\r
+\r
+       * fileio.c (Finsert_file_contents): On recovering a file, assume\r
+       Unix-like eol.\r
+       (choose_write_coding_system): On auto-saving a file, force\r
+       Unix-like eol.\r
+\r
+       * coding.c (setup_coding_system): Fix setting of\r
+       coding->common_flags based on eol_type.\r
+       (coding_inherit_eol_type): If PARENT is not nil, be sure to\r
+       inherit from it.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * alloc.c (NSTATICS): Increas to 0x600.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * ftfont.c (ftfont_driver): Set ftfont_driver.match to ftfont_match.\r
+       (ftfont_list): Don't check :name property.\r
+       (ftfont_match): New function.\r
+       (ftfont_pattern_entity): If the pattern doesn't contain\r
+       FC_SPACING, don't assume FC_MONO.\r
+\r
+       * font.h (struct font_driver): New member `match'.\r
+       (font_update_drivers): Adjust prototype.\r
+\r
+       * font.c (font_parse_fcname, font_parse_name): Don't change :name\r
+       property of FONT.\r
+       (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE, check_gstring): Define\r
+       them unconditionally.\r
+       (font_matching_entity): New function.\r
+       (font_open_by_name): Try font_matching_entity if exact match is\r
+       not found.\r
+       (font_update_drivers): Delete the arg FONT.  Return a list of\r
+       actually used backends.  Don't free faces, font caches here.\r
+       Don't store data in frame parameters.  Don't call x_set_font.\r
+       (Ffont_spec): Store :name property as is.\r
+       (Ffont_get): Check HAVE_LIBOTF before calling font_otf_capability.\r
+       (Ffont_otf_gsub): Call font->driver->otf_gsub instead of font_otf_gsub.\r
+       (Ffont_otf_gpos): Call font->driver->otf_gpos instead of font_otf_gpos.\r
+       (Ffont_otf_alternates): Check if the driver has otf_gsub function.\r
+       Call font->driver->otf_gsub instead of font_otf_gsub.\r
+\r
+       * frame.c (x_set_font_backend): Do more works that were done in\r
+       font_update_drivers before.\r
+\r
+       * xfont.c (xfont_match): New function.\r
+       (xfont_driver): Set xfont_driver.match to xfont_match.\r
+       (xfont_draw): Set font in GC if necessary.\r
+\r
+       * ftxfont.c (ftxfont_match): New function.\r
+       (syms_of_ftxfont): Set ftxfont_driver.match to ftxfont_match.\r
+\r
+       * xftfont.c (xftfont_match): New function.\r
+       (syms_of_xftfont): Set xftfont_driver.match to xftfont_match.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * font.h (struct font): New member scalable.\r
+       (struct font_driver): New arg ALTERANTE_SUBST to otf_gsub.\r
+       (font_otf_gsub): Adjust prototype.\r
+\r
+       * font.c (font_otf_capability): Fix handling of the default langsys.\r
+       (parse_gsub_gpos_spec): Change type to void.  New arg nbytes.\r
+       Check the contents of SPEC.\r
+       (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE): New macros.\r
+       (check_gstring): New function.\r
+       (REPLACEMENT_CHARACTER): New macro.\r
+       (font_otf_gsub): New arg alternate_subst.  Be sure to set all\r
+       glyph codes of GSTRING.\r
+       (font_otf_gpos): Be sure to set all glyph codes of GSTRING.\r
+       (font_prepare_composition): Set cmp->glyph_len.\r
+       (font_open_entity): Set font->scalable.\r
+       (Ffont_get): Handle :otf property.\r
+       (Ffont_otf_gsub, Ffont_otf_gpos, Ffont_otf_alternates): New\r
+       functions.\r
+       (Fquery_font): Use font->font.full_name.\r
+       (syms_of_font): Defsubr Sfont_otf_gsub, Sfont_otf_gpos, and\r
+       Sfont_otf_alternates.\r
+\r
+       * ftfont.c (ftfont_open): Set font->font.full_name and\r
+       font->font.name properly.  Fix calculation of font->font.height\r
+       and font->min_width.\r
+\r
+       * ftxfont.c (ftxfont_create_gcs): New function.\r
+       (ftxfont_draw_bitmap): Fix arg to ftfont_driver.get_bitmap.\r
+       (ftxfont_draw_backgrond): Fix filling region.\r
+       (ftxfont_default_fid): New function.\r
+       (ftxfont_open): Set xfont->fid to the return value of\r
+       ftxfont_default_fid.\r
+       (ftxfont_prepare_face): Use ftxfont_create_gcs to create GCs.\r
+       (ftxfont_done_face): Free only GCs that are created by\r
+       ftxfont_create_gcs.\r
+       (ftxfont_draw): If face->gc != s->gc, create proper GCs.\r
+\r
+       * xterm.c (x_set_glyph_string_clipping_exactly) [USE_FONT_BACKEND]:\r
+       Clip to src->width, etc (not src->clip_XXX).\r
+\r
+       * xfns.c (x_create_tip_frame) [USE_FONT_BACKEND]: Handle\r
+       FontBackend frame parameter.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * font.h (struct font_driver_list): New member `on'.\r
+       (Fclear_font_cache): EXFUN it.\r
+       (font_update_drivers): Extern it.\r
+\r
+       * font.c (font_unparse_fcname): Fix typo (swidth->width).\r
+       (font_list_entities): Check driver_list->on.\r
+       (register_font_driver): Initalize `on' member to 0.\r
+       (font_update_drivers): New function.\r
+       (Fclear_font_cache): Check driver_list->on.\r
+\r
+       * frame.h (Qfont_backend): Extern it.\r
+       (x_set_font_backend): Extern it.\r
+\r
+       * frame.c (Qfont_backend): New variable.\r
+       (frame_parms): New element for font-backend.\r
+       (x_set_font_backend): New function.\r
+\r
+       * xfns.c (Fx_create_frame) [USE_FONT_BACKEND]: Handle\r
+       FontBackend frame parameter.\r
+       (x_frame_parm_handlers) [USE_FONT_BACKEND]: New element\r
+       x_set_font_backend.\r
+\r
+       * xfont.c (xfont_list): Don't try listing by :name property if the\r
+       name is not for XLFD.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * font.h (LGLYPH_FROM, LGLYPH_TO, LGLYPH_SET_FROM)\r
+       (LGLYPH_SET_TO): New macros.\r
+       (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WADJUST): Check if adjustment\r
+       element of G is vector or not.\r
+       (font_at): Extern it.\r
+\r
+       * font.c: Include window.h.\r
+       (font_lispy_object): New function.\r
+       (font_prepare_composition): Check LGLYPH_FORM (g) to detect the\r
+       end of valid glyph.\r
+       (font_close_object): Fix getting (struct font *).\r
+       (font_at): New function.\r
+       (Ffont_get): If FONT is a font-object, get entity from it.\r
+       (Ffont_make_gstring): Initialize elements of glyphs with nil.\r
+       (Ffont_fill_gstring): Use macro LGSTRING_XXX and LGLYPH_XXX.  Fix\r
+       range check.\r
+       (Ffont_at): New function.\r
+       (syms_of_font): Defsubr Sfont_at.\r
+\r
+       * xdisp.c (it_props): Move the entry for Qauto_composed to just\r
+       before the entry for Qcomposition.\r
+       (handle_auto_composed_prop): Call auto-composition-function with 4 args.\r
+       (handle_composition_prop) [USE_FONT_BACKEND]: Set it->face_id from\r
+       the font in gstring.\r
+       (fill_composite_glyph_string) [USE_FONT_BACKEND]: Check\r
+       LGLYPH_FORM (g) to detect the end of valid glyph.\r
+       (x_produce_glyphs) [USE_FONT_BACKEND]: Don't update it->face_id if\r
+       we are composing with gstring.\r
+\r
+       * xterm.c (x_draw_composite_glyph_string_foreground) [USE_FONT_BACKEND]:\r
+       Check if adjustment is vector or not.\r
+\r
+       * Makefile.in (font.o): Make it depends on window.h.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xterm.c (x_draw_composite_glyph_string_foreground): Check if\r
+       adjustment is vector or not.\r
+\r
+2008-02-01  Miles Bader  <miles@gnu.org>\r
+\r
+       * character.h (CHECK_CHARACTER): Redefine in terms of CHECK_TYPE.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * font.h (LGLYPH_XOFF, LGLYPH_YOFF, LGLYPH_WIDTH, LGLYPH_WADJUST)\r
+       (LGLYPH_SET_WIDTH): Adjusted for the change of LGLYPH format.\r
+       (LGLYPH_ADJUSTMENT, LGLYPH_SET_ADJUSTMENT): New macros.\r
+\r
+       * font.c (font_merge_old_spec): Treat '*' in foundry as a wild card.\r
+       (DEVICE_DELTA): Fix typo.\r
+       (font_otf_gpos, font_prepare_compositio): Adjust for the change of\r
+       LGLYPH format.\r
+\r
+       * xterm.c (x_draw_composite_glyph_string_foreground): Adjust for\r
+       the change of LGLYPH format.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * ftfont.c (ftfont_list): Fix typo.\r
+       (ftfont_build_basic_charsets): Don't include letters with diacritics.\r
+\r
+2008-02-01  Jan Djärv  <jan.h.d@swipnet.se>\r
+\r
+       * xfaces.c (realize_non_ascii_face): Set face->extra to NULL.\r
+\r
+       * xftfont.c (xftfont_done_face): Call XftDrawDestroy only if\r
+       xftface_info is non-NULL.\r
+\r
+2008-02-01  Jan Djärv  <jan.h.d@swipnet.se>\r
+\r
+       * ftfont.c (ftfont_list): Move misplaced #endif.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * ftfont.c (ftfont_list): Pay attention to the case that\r
+       FC_CAPABILITY is not defined.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xftfont.c (xftfont_open): Set charset related members to -1.\r
+\r
+       * ftfont.c (ftfont_list): Handle QCotf property.  Fix handling of\r
+       QCname.\r
+       (ftfont_open): Set charset related members to -1.\r
+\r
+       * fontset.c (Votf_script_alist): New variable.\r
+       (syms_of_fontset): Initialize it.\r
+       (fontset_font): Delete unused variable.\r
+\r
+       * fontset.h (Votf_script_alist): Extern it.\r
+\r
+       * font.c (font_find_for_lface): Optimize code.\r
+\r
+       * font.h (font_close_object, font_merge_old_spec): Extern them.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * font.c (QCscalable, Qc, Qm, Qp, Qd): New variables.\r
+       (syms_of_font): Initialize them.\r
+       (font_pixel_size): Allow float value in dpi.\r
+       (font_prop_validate_type): Delete.\r
+       (font_prop_validate_symbol, font_prop_validate_style): Change argument.\r
+       Change caller.\r
+       (font_prop_validate_non_neg): Rename from font_prop_validate_size.\r
+       (font_prop_validate_extra): Delete.\r
+       (font_prop_validate_spacing): New function.\r
+       (font_property_table): Add elements for all known properties.\r
+       (get_font_prop_index): Rename from check_font_prop_name.  New\r
+       argument FROM.  Change caller.\r
+       (font_prop_validate): Validate all known properties.\r
+       (font_put_extra): Delete argument force.  Change caller.\r
+       (font_expand_wildcards): Make it static.  Fix the way of shrinking\r
+       the possible range.\r
+       (font_parse_xlfd): Delete argument merge.  Fix handling of RESX,\r
+       RESY, SPACING, and AVGWIDTH.  Don't validate property values here.\r
+       Change caller.\r
+       (font_unparse_xlfd): Handle dpi, spacing, and scalable properties.\r
+       (font_parse_fcname): Delete argument merge.  Fix parsing of point\r
+       size.  Don't validate properties values here.  Change caller.\r
+       (font_unparse_fcname): Handle dpi, spacing, and scalable properties.\r
+       (font_open_by_name): Delete unused variable.\r
+       (Ffont_spec): Likewise.  Validate property values.\r
+       (Ffont_match_p): New function.\r
+\r
+       * font.h (QCscalable): Extern it.\r
+       (font_parse_xlfd, font_parse_fcname): Adjust prototype.\r
+\r
+       * ftfont.c (ftfont_list): Handle properties dpi, spacing, and scalable.\r
+\r
+       * xfont.c (xfont_query_font): Adjust for the change of font_parse_xlfd.\r
+       (xfont_list_pattern): New function.\r
+       (xfont_list): Use xfont_list_pattern.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * font.h (Flist_fonts): EXFUN it.\r
+\r
+2008-02-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32term.c (w32_initialize): Add back smoothing_type and\r
+       smoothing_enabled definitions.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xterm.c (x_draw_glyph_string) [USE_FONT_BACKEND]: Check\r
+       s->face->font on determining underline position.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * font.c (font_parse_xlfd): Fix generating of CHARSET_REGISTRY field.\r
+       (font_has_char): Accept font-object too.\r
+       (font_find_for_lface): Try at first with a size specified in face.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * frame.c (x_set_font) [USE_FONT_BACKEND]: Fix argument to\r
+       font_open_by_name.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * font.h (QCspacing, QCdpi): Extern them.\r
+       (enum font_spacing): New enum.\r
+       (FONT_PIXEL_SIZE_QUANTUM): New macro.\r
+\r
+       * font.c (POINT_TO_PIXEL): Don't divide POINT by 10.\r
+       (QCspacing, QCdpi): New variables.\r
+       (syms_of_font): Initialize them.\r
+       (font_pixel_size): New function.\r
+       (font_put_extra): New function.\r
+       (font_parse_xlfd): Fix handling of font size.  Add QCdpi property\r
+       in FONT_EXTRA.\r
+       (font_parse_fcname): Handle enumerated values (e.g. bold).\r
+       Fix handling font size.  Add QCname property that contains only\r
+       unknown properties.\r
+       (font_score): Change argument.  Change caller.  Pay attention to\r
+       FONT_PIXEL_SIZE_QUANTUM.\r
+       (font_sort_entites, font_list_entities, font_find_for_lface)\r
+       (font_open_for_lface, font_open_by_name): Fix handling of font size.\r
+       (Ffont_spec): Add QCname property that contains only unknown properties.\r
+\r
+       * ftfont.c (ftfont_list): Use assq_no_quit, not Fassq.  Don't\r
+       include weight in listing pattern, instead check weight of each\r
+       listed font.  Don't include scalable in pattern.  Pay attention to\r
+       FONT_PIXEL_SIZE_QUANTUM.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * font.c (font_parse_fcname): Fix parsing of point-size.\r
+       (font_unparse_fcname): Produce symbolic names for style properties.\r
+       (font_list_entities): Handle float size correctly.\r
+       (font_open_by_name): Prefer `normal' property values if the name\r
+       doesn't specify them.\r
+\r
+       * fontset.c (Finternal_char_font): Use font_get_name, not\r
+       Ffont_xlfd_name.\r
+\r
+       * ftfont.c (ftfont_pattern_entity): Use the numeric value 100 for\r
+       FC_WEIGHT_REGULAR.  Exclude FC_SIZE and FC_PIXEL_SIZE from listing\r
+       pattern.  Don't force scalable.\r
+\r
+       * xftfont.c (xftfont_open): For generating a name, start from\r
+       96-byte buffer.\r
+\r
+2008-02-01  Jan Djärv  <jan.h.d@swipnet.se>\r
+\r
+       * frame.h (x_new_fontset2): Fix prototype.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * font.h (struct font_driver): Delete member parse_name.\r
+       (font_match_p, font_get_spec, font_parse_fcname)\r
+       (font_unparse_fcname): Extern them.\r
+       (font_get_name): Adjust prototype.\r
+\r
+       * font.c (XLFD_SMALLNUM_MASK): Delete this macro.\r
+       (XLFD_LARGENUM_MASK): Delete XLFD_ENCODING_MASK from it.\r
+       (font_expand_wildcards): Fix handling ENCODING field.  Avoid\r
+       unnecessary checks for weight, slant, and swidth.\r
+       (font_parse_fcname): New function.\r
+       (font_unparse_fcname): New function.\r
+       (font_parse_name): New function.\r
+       (font_match_p): New function.\r
+       (font_get_name): Change return value to Lisp string.\r
+       (font_get_spec): New function.\r
+       (Qunspecified, Qignore_defface): Don't extern them.\r
+       (font_find_for_lface): Assume that LFACE is fully specified.\r
+       (font_load_for_face): If lface[LFACE_FONT_INDEX] is an font\r
+       object, use it for FACE.\r
+       (font_open_by_name): Call Ffont_spec with QCname prop.  Don't call\r
+       driver->parse_name.\r
+       (Ffont_spec): Call font_parse_name, not font_parse_xlfd.\r
+\r
+       * fontset.h (new_fontset_from_font) [USE_FONT_BACKEND]: Adjust\r
+       prototype.\r
+\r
+       * fontset.c (new_fontset_from_font) [USE_FONT_BACKEND]: Delete\r
+       argument F.  Don't call Fnew_fontset.  Instead, directly call\r
+       make_fontset.\r
+\r
+       * frame.h (x_new_fontset2) [USE_FONT_BACKEND]: Adjust prototype.\r
+\r
+       * frame.c (x_set_font) [USE_FONT_BACKEND]: Adjust for the change\r
+       of x_new_fontset2.\r
+\r
+       * ftfont.c (Qmonospace, Qsans_serif, Qserif, Qmono, Qsans)\r
+       (Qsans__serif): New variables.\r
+       (ftfont_generic_family_list): New variable.\r
+       (syms_of_ftfont): Initialize the above variables.\r
+       (ftfont_pattern_entity): Delete argument NAME.\r
+       (ftfont_list_generic_family): New function.\r
+       (ftfont_parse_name): Delete this function.\r
+       (ftfont_list): Try generic family only when FcFontList found no font.\r
+       (ftfont_list_family): Fix args to FcObjectSetBuild.\r
+\r
+       * xfaces.c (check_lface_attrs) [USE_FONT_BACKEND]: Accept font\r
+       object in attrs[LFACE_FONT_INDEX].\r
+       (set_lface_from_font_name): Cancel all changes for font-backend.\r
+       (set_lface_from_font_and_fontset) [USE_FONT_BACKEND]: New\r
+       function.\r
+       (Finternal_set_lisp_face_attribute) [USE_FONT_BACKEND]: Accept a\r
+       font object in QCfont attribute.\r
+       (set_font_frame_param) [USE_FONT_BACKEND]: Likewise.\r
+       (realize_default_face) [USE_FONT_BACKEND]: Call\r
+       set_lface_from_font_and_fontset.\r
+\r
+       * xfns.c (x_default_font_parameter) [USE_FONT_BACKEND]: Try also\r
+       "fixed", and signal error here if no suitable font was found.\r
+\r
+       * xfont.c (xfont_parse_name): Delete this function.\r
+\r
+       * xftfont.c (xftfont_open): Change coding style of error\r
+       handling.  Generate fontconfig's fontname pattern.\r
+\r
+       * xterm.h (struct x_output) [USE_FONT_BACKEND]: New member fontp.\r
+       (FRAME_FONT_OBJECT) [USE_FONT_BACKEND]: New macro.\r
+\r
+       * xterm.c (x_new_fontset2) [USE_FONT_BACKEND]: Change arguments.\r
+       Both args FONTSET and FONT_OBJECT must be existing ones.\r
+\r
+2008-02-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * macterm.c (mac_set_unicode_keystroke_event): Don't use MAKE_CHAR.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xfont.c (xfont_open, xfont_encode_char): Fix typo.\r
+\r
+       * font.h (struct font): Fix typo.\r
+\r
+       * font.c (enum xlfd_field_index): Rename XLFD_XXX_SIZE_INDEX to\r
+       XLFD_XXX_INDEX.\r
+       (enum xlfd_field_mask): New enum.\r
+       (intern_font_field): Changed argument.  Change caller.  If digits\r
+       are followed by non-digits, return a symbol.\r
+       (font_expand_wildcards): New function.\r
+       (font_parse_xlfd): Fix wildcard handling.\r
+       (Ffont_spec): If :name is specified, reflect the info in the other\r
+       properties.\r
+\r
+       * ftfont.c (ftfont_pattern_entity): Fix typo.\r
+       (ftfont_list): Enforce FC_LANG in PATTERN to cancel the effect of\r
+       locale.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * font.h (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Extern them.\r
+\r
+       * font.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move from ftfont.c.\r
+       (font_unparse_xlfd): Fix argument type declaration.  Append "*" if\r
+       registry doesn't specify encoding part.\r
+       (font_find_for_lface): Pay attention to LFACE_FONT_INDEX.\r
+       (font_open_by_name): At first try parsing the name.\r
+       (syms_of_font): Declare Qiso8859_1, Qiso10646_1, and Qunicode_bmp\r
+       as Lisp symbols.\r
+\r
+       * fontset.c (reorder_font_vector): Pay attention to the case that\r
+       the 3rd element of font_def is nil.\r
+       (fontset_font): For the default fontset, append one more fontset\r
+       elements for a script-based font specification.  Don't add script\r
+       attribute on finding a font.\r
+       (new_fontset_from_font): Unconditionally set FONTSET_ASCII to the\r
+       font name.\r
+       (fontset_ascii_font): If a font can't be opened, return nil.\r
+\r
+       * ftfont.c (Qiso8859_1, Qiso10646_1, Qunicode_bmp): Move to font.c.\r
+       (ftfont_pattern_entity): New function.\r
+       (ftfont_get_cache): Assume that freetype_font_cache is already\r
+       initialized.\r
+       (ftfont_list): Handle the case that a file is specified in font\r
+       name.  Use ftfont_pattern_entity to generate entities.\r
+       (ftfont_has_char): Check if the pattern contains FC_CHARSET.\r
+       (syms_of_ftfont): Initialize freetype_font_cache.\r
+\r
+       * xftfont.c (xftfont_open): Make the font name fontconfig's\r
+       style.  Add BLOCK_INPUT and UNBLOCK_INPUT.\r
+       (xftfont_close): Free font->font.name if not NULL.\r
+\r
+       * xfont.c (xfont_list): If script is specified for a font, return\r
+       null_vector.\r
+       (xfont_list_family): Declare argument type.\r
+\r
+       * xfaces.c (set_lface_from_font_name): If a font doesn't have a\r
+       name, set LFACE_FONT (lface) to nil.\r
+\r
+       * xterm.c (x_new_fontset2): If an ASCII font couldn't be loaded,\r
+       return Qnil.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * emacs.c (main): Check -enable-font-backend arg after the check of -nl.\r
+       (standard_args): Add "-enable-font-backend".\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xftfont.c (xftfont_default_fid): Set fid_known to 1.\r
+       (struct xftdraw_list, xftdraw_list): Delete them.\r
+       (register_xftdraw, check_xftdraw): Delete them.\r
+       (xftfont_prepare_face): Don't call register_xftdraw.\r
+       (xftfont_done_face): Don't call check_xftdraw.\r
+       (xftfont_draw): Get background color only when with_background is\r
+       nonzero.\r
+\r
+       * xfont.c (xfont_encode_char): Fix calculation of char2b.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       These changes are for the new font handling codes.\r
+\r
+       * Makefile.in (ALL_CFLAGS): Add @FREETYPE_CFLAGS@,\r
+       @FONTCONFIG_CFLAGS@, and @LIBOTF_CFLAGS@.\r
+       (LIB_X11_LIB): If HAVE_XFT is defined, set to @XFT_LIBS@.\r
+       (FONTSRC, FONTOBJ): New variables.\r
+       (obj): Add $(FONTOBJ).\r
+       (SOME_MACHINE_OBJECTS): Lib_X11_Lib.\r
+       (LIBES): Add @FREETYPE_LIBS@, @FONTCONFIG_LIBS@, and\r
+       @LIBOTF_LIBS@.\r
+       (font.o, ftfont.o, xfont.o, xftfont.o, ftxfont.o): New targets.\r
+       (fontset.o, xdisp.o, xfaces.o, xfns.o, xterm.o): Depend on $(FONTSRC).\r
+\r
+       * font.h, font.c, xfont.c, ftfont.c, xftfont.c, ftxfont.c: New files.\r
+\r
+       * character.h (Vscript_representative_chars): Extern it.\r
+\r
+       * character.c (Vscript_representative_chars): New variable.\r
+       (syms_of_character): Declare it as a Lisp variable.\r
+\r
+       * composite.c (get_composition_id) [USE_FONT_BACKEND]: If\r
+       enable_font_backend is nonzero, accept the composition method\r
+       COMPOSITION_WITH_GLYPH_STRING.\r
+\r
+       * composite.h (enum composition_method) [USE_FONT_BACKEND]: New\r
+       enumeration COMPOSITION_WITH_GLYPH_STRING.\r
+\r
+       * dispextern.h (struct glyph_string) [USE_FONT_BACKEND]: New\r
+       members clip_x, clip_y, clip_width, and clip_height.\r
+       (struct face) [USE_FONT_BACKEND]: New members font_info and extra.\r
+\r
+       * emacs.c (main) [USE_FONT_BACKEND]: Handle arg\r
+       --enable-font-backend.  Call syms_of_font.\r
+\r
+       * fns.c (assoc_no_quit): New function.\r
+\r
+       * fontset.h (FONT_INFO_FROM_FACE): New macro.\r
+       (face_for_font, new_fontset_from_font)\r
+       (fontset_ascii_font) [USE_FONT_BACKEND]: Extern them.\r
+\r
+       * fontset.c [USE_FONT_BACKEND]: Include "font.h".\r
+       (fontset_font, fontset_ascii, face_for_char)\r
+       (make_fontset_for_ascii_face, Ffont_info)\r
+       (Finternal_char_font) [USE_FONT_BACKEND]: If enable_font_backend\r
+       is nonzero, use font-backend mechanism.\r
+       (find_font_encoding): Make it non-static.\r
+       (new_fontset_from_font, fontset_ascii_font) [USE_FONT_BACKEND]:\r
+       New functions.\r
+\r
+       * frame.h (struct frame): New members resx and resy.\r
+       (struct frame) [USE_FONT_BACKEND]: New member font_driver_list.\r
+       (x_new_fontset2) [USE_FONT_BACKEND]: Extern it.\r
+\r
+       * frame.c [USE_FONT_BACKEND]: Include "font.h".\r
+       (make_frame, x_set_font) [USE_FONT_BACKEND]: Use font-backend mechanism.\r
+\r
+       * lisp.h (assoc_no_quit): Extern it.\r
+\r
+       * xdisp.c: If USE_FONT_BACKEND is defined, include "font.h".\r
+       Through out the file, use FONT_INFO_FROM_FACE instead of\r
+       FONT_INFO_FROM_ID, use get_per_char_metric instead of\r
+       rif->per_char_metric.\r
+       (handle_composition_prop) [USE_FONT_BACKEND]: If the composition\r
+       method is COMPOSITION_WITH_GLYPH_STRING, just set it->c to ' '.\r
+       (get_glyph_face_and_encoding, fill_composite_glyph_string)\r
+       (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)\r
+       (x_produce_glyphs) [USE_FONT_BACKEND]: If enable_font_backend is\r
+       nonzero, use font-backend mechanism.\r
+       (get_per_char_metric): New function.\r
+\r
+       * xfaces.c [USE_FONT_BACKEND]: Include "font.h".\r
+       (set_lface_from_font_name)\r
+       (set_font_frame_param, free_realized_face)\r
+       (prepare_face_for_display, clear_face_gcs)\r
+       (Finternal_set_font_selection_order, realize_x_face)\r
+       [USE_FONT_BACKEND]: If enable_font_backend is nonzero, use\r
+       font-backend mechanism.\r
+       (clear_face_cache) [USE_FONT_BACKEND]: Don't call clear_font_table.\r
+       (load_face_font) [USE_FONT_BACKEND]: Abort.\r
+       (face_symbolic_value, face_symbolic_weight, face_symbolic_slant)\r
+       (face_symbolic_swidth, face_for_font) [USE_FONT_BACKEND]: New functions.\r
+\r
+       * xfns.c [USE_FONT_BACKEND]: Include "font.h".\r
+       (x_default_font_parameter) [USE_FONT_BACKEND]: New function.\r
+       (Fx_create_frame) [USE_FONT_BACKEND]: If enable_font_backend is\r
+       nonzero, register all available font drivers.  Call\r
+       x_default_font_parameter for deciding a font.\r
+       (x_create_tip_frame) [USE_FONT_BACKEND]: Likewise.\r
+\r
+       * xterm.c [USE_FONT_BACKEND]: Include "font.h".\r
+       (x_set_mouse_face_gc, x_set_glyph_string_clipping)\r
+       (x_set_glyph_string_clipping_exactly)\r
+       (x_compute_glyph_string_overhangs)\r
+       (x_draw_glyph_string_foreground)\r
+       (x_draw_composite_glyph_string_foreground, x_draw_glyph_string)\r
+       (x_free_frame_resources) [USE_FONT_BACKEND]: If\r
+       enable_font_backend is nonzero, use font-backend mechanism.\r
+       (x_new_fontset2) [USE_FONT_BACKEND]: New function.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (coding_inherit_eol_type): If PARENT is nil, inherit from\r
+       system_eol_type.\r
+       (syms_of_coding): Initialize system_eol_type.\r
+\r
+       * process.c (Fset_process_coding_system): Inherit system's eol\r
+       format if necessary.\r
+\r
+2008-02-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * macgui.h (USE_ATSUI): Don't enable on emacs-unicode-2 branch.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (decode_eol): Pay attention to buffer relocation in\r
+       del_range_2.\r
+       (decode_coding): Call decode_eol before restoring undo_list.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * charset.c (Fdefine_charset_internal): Fix setting of\r
+       emacs_mule_bytes.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * keyboard.c (read_char): Check if C is a character or not before\r
+       looking up Vkeyboard_translate_table.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Fix\r
+       condition to terminate the loop.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (produce_composition): Compare charbuf[i] instead of\r
+       args[i] against 0.\r
+       (Fterminal_coding_system): Use EQ to compare Lisp objects.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (DECODE_COMPOSITION_START): If the source is short, set\r
+       coding->result to CODING_RESULT_INSUFFICIENT_SRC.\r
+       (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of\r
+       detect_coding.\r
+       (emacs_mule_char): Handle old style (Emacs 20) component character\r
+       of a composition.\r
+       (DECODE_EMACS_MULE_COMPOSITION_RULE_20)\r
+       (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Fix parsing a\r
+       composition rule.\r
+       (decode_coding_emacs_mule): Handle invalid bytes correctly.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (encode_coding_ccl): Allocate destination dynamically\r
+       when necessary.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * ccl.c (Fccl_execute_on_string): Fix the condition of terminating\r
+       the loop.  When quitted, show a proper error message.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xterm.c (x_set_glyph_string_clipping_exactly): Set\r
+       src->clip_head and src->clip_tail temporarily instead of src->hl.\r
+\r
+       * ccl.c (CCL_WRITE_STRING): Handle a flag bit for multibyte\r
+       character sequence.\r
+       (Fccl_execute_on_string): Use ASET, not XSET.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * search.c (search_buffer): Fix handling of "\\" in a trivial regexp.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (decode_coding): Fix the condition of terminating the\r
+       decoding loop.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * data.c (Faset): On setting a character bigger than 255 in a\r
+       unibyte string, signal an error instead of make the string multibyte.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * charset.c (map_charset_chars): Fix for ascii-compatible charset\r
+       made by a mapping table.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xdisp.c (fill_composite_glyph_string): Check s->face is NULL or\r
+       not.\r
+       (BUILD_COMPOSITE_GLYPH_STRING): If C is TAB, set s->face to NULL.\r
+       (x_produce_glyphs): If CH is TAB, set cmp->offsets properly.\r
+\r
+       * xterm.c (x_draw_composite_glyph_string_foreground): Check\r
+       s->face is NULL or not.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xterm.c (x_set_glyph_string_clipping_exactly): New function.\r
+       (x_draw_glyph_string): Fix drawing of right_overhang and\r
+       left_overhang around/on cursor.\r
+\r
+       * xdisp.c (draw_glyphs): Fix inclusion of right_overwriting glyphs.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xdisp.c (x_produce_glyphs): Handle composition with TAB.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (Fdefine_coding_system_internal)\r
+       (Fdefine_coding_system_alias): Avoid a duplicated element in\r
+       Vcoding_system_alist.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xterm.c (handle_one_xevent): Handle keysyms 0x1000000..0x10000FF.\r
+\r
+       * coding.c (Qcoding_system_define_form): New variable.\r
+       (syms_of_coding): Intern and staticpro it.\r
+       (Fcoding_system_p): Check Qcoding_system_define_form.\r
+       (Fcheck_coding_system): Try to autoload the definition of CODING-SYSTEM.\r
+\r
+       * coding.h (CODING_SYSTEM_P): If ID is not available, call\r
+       Fcoding_system_p.\r
+       (CHECK_CODING_SYSTEM): If ID is not available, call\r
+       Fcheck_coding_system.\r
+       (CHECK_CODING_SYSTEM_GET_SPEC, CHECK_CODING_SYSTEM_GET_ID):\r
+       Try also Fcheck_coding_system.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (code_conversion_restore): GCPRO arg.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * character.c (lisp_string_width): Check multibyteness of STRING.\r
+\r
+2008-02-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * macterm.c (mac_encode_char): Call ccl_driver with the last arg\r
+       Qnil.  Use JIS_TO_SJIS instead of ENCODE_SJIS.\r
+       (decode_mac_font_name): Use decode_coding_c_string instead of\r
+       decode_coding.\r
+       (x_load_font): Initialize fontp->fontset to -1.  Set\r
+       fontp->encoding_type.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * search.c (search_buffer): Give up BM search on case-fold-search\r
+       if one of a target character has a case-equivalence of different\r
+       byte length even if that target charcter is an ASCII.\r
+       (simple_search): Fix calculation of byte length of matched text.\r
+       (boyer_moore): Fix handling of case-equivalent multibyte characters.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (decode_coding): Fix handling of invalid bytes.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xterm.c (handle_one_xevent): Handle keysyms directly mapped to\r
+       Unicode characters.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (encode_coding_object): If a pre-write-conversion\r
+       function makes a new buffer, kill it.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (QCascii_compatible_p): New variable.\r
+       (syms_of_coding): Initialize it.\r
+       (ONE_MORE_BYTE, ONE_MORE_BYTE_NO_CHECK): Decrement `src' before\r
+       calling string_char.\r
+       (record_conversion_result): Add `default:' case.\r
+       (coding_charset_list): Delete unused variable `coding_type'.\r
+       (Fdefine_coding_system_internal): Add `ascii-compatible-p'\r
+       property in the plist of the coding system.\r
+       (Fcoding_system_put): Check QCascii_compatible_p.\r
+\r
+2008-02-01  Miles Bader  <miles@gnu.org>\r
+\r
+       * xfaces.c (Finternal_lisp_face_equal_p): Restore previously\r
+       removed calculation of frame `f', as it's now used.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * Makefile.in (RUN_TEMACS): Include "-nl" if HAVE_SHM is defined.\r
+       (emacs${EXEEXT}): Run $(RUN_TEMACS) unconditionally.\r
+       (UNIDATA): New variable.\r
+       (${lispsource}international/charprop.el): Depends on ${UNIDATA}.\r
+       (bootstrap-emacs${EXEEXT}): Depends on charprop.el.  Run\r
+       $(RUN_TEMACS) unconditionally.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * Makefile.in (temacs${EXEEXT}): Build charprop.el if necessary.\r
+       (admindir): New variable.\r
+       ($(lispsource)international/charprop.el): New target.\r
+\r
+2008-02-01  Miles Bader  <miles@gnu.org>\r
+\r
+       * character.c (chars-in-region): Remove obsolete function.\r
+       (syms_of_character): Remove its initialization.\r
+\r
+2008-02-01  Benjamin Riefenstahl  <b.riefenstahl@turtle-trading.net>\r
+\r
+       * w32select.c (validate_coding_system)\r
+       (setup_windows_coding_system): New functions.\r
+       (convert_to_handle_as_coded, Fw32_get_clipboard_data): Use\r
+       setup_windows_coding_system.\r
+       (setup_config, Fw32_get_clipboard_data): Use\r
+       validate_coding_system.\r
+       (Fx_selection_exists): Move call to setup_config to a place\r
+       where signals are allowed.\r
+\r
+       * lisp.h (Fcoding_system_base, Fcoding_system_eol_type)\r
+       (Fcheck_coding_system): Add declarations.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * charset.c (load_charset_map_from_vector): Fix for the first iteration.\r
+\r
+2008-02-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * macfns.c (Fx_create_frame, x_create_tip_frame): Pass Lisp\r
+       string as the second argument for x_new_fontset.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (decode_coding_object): Use safe_call1 instead of call1.\r
+       (encode_coding_object): Use safe_call instead of call2.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fontset.c (Fset_fontset_font): Check family element of a given vector.\r
+\r
+       * Makefile.in (lisp): Include charprop.el.\r
+\r
+2008-02-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * macfns.c (Fx_create_frame, x_create_tip_frame): Fix crash.\r
+       Not sure if it's unnecessary.\r
+\r
+2008-02-01  Steven Tamm  <steventamm@mac.com>\r
+\r
+       * macfns.c (Fx_create_frame, x_create_tip_frame): ifdef'd out\r
+       some possibly unnecessary fontset checking code that crashed\r
+       when creating a new frame.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xfaces.c (merge_faces): Fix argument to lookup_derived_face and\r
+       lookup_face.\r
+\r
+       * xdisp.c (Fformat_mode_line): Fix argument to lookup_named_face.\r
+\r
+       * fringe.c (draw_fringe_bitmap_1): Fix argument to lookup_named_face.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c: Cancel the change done in HEAD on 2008-02-01.\r
+       (coding_charset_list): New function.\r
+\r
+       * coding.h (coding_charset_list): Extern it.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fontset.c (Fset_fontset_font): Call find_font_encoding with\r
+       concatenation of family and registry.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * character.h (BYTE8_STRING): Fix typo.\r
+\r
+       * editfns.c (Ftranslate_region_internal): Don't convert unibyte\r
+       string to multibyte (sync to HEAD).\r
+\r
+       * casefiddle.c (casify_region): Handle changes in byte-length\r
+       using replace_range_2 (sync to HEAD).\r
+\r
+2008-02-01  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * chartab.c (map_char_table): GCPRO table and arg.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * syntax.c (skip_syntaxes): Return lispy 0 (not nil) if point is\r
+       already at limit.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fontset.c (fs_load_font): Use fast_string_match_ignore_case\r
+       instead of fast_c_string_match_ignore_case.\r
+       (find_font_encoding): Change argument to Lisp_Object.  Use\r
+       fast_string_match_ignore_case instead of\r
+       fast_c_string_match_ignore_case.  Change caller.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xdisp.c (get_next_display_element): In unibyte case, decide to\r
+       display in octal form by checking a character by\r
+       UNIBYTE_CHAR_HAS_MULTIBYTE_P.\r
+\r
+       * charset.c (Fset_unibyte_charset): Setup unibyte_has_multibyte_table.\r
+\r
+       * character.c (unibyte_has_multibyte_table): New variable.\r
+\r
+       * character.h (unibyte_has_multibyte_table): Extern it.\r
+       (UNIBYTE_CHAR_HAS_MULTIBYTE_P): New macro.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (encode_coding_iso_2022): Fix handling of charset\r
+       annotation.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (setup_coding_system): If coding_system is nil, use\r
+       Qundecided.\r
+       (Fterminal_coding_system): Return nil if terminal coding system is\r
+       `undecided'.\r
+       (syms_of_coding): Define coding-system `undecided' here.  Setup\r
+       terminal_coding as `undecided'.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xdisp.c (message_dolog, set_message_1): Call\r
+       unibyte_char_to_multibyte with arg type int.\r
+\r
+       * lread.c (read1): Fix reading of a char-table.\r
+\r
+       * print.c (print_object): Include sub char-table in circularities\r
+       detection.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * keymap.c (where_is_internal_2): Fix for the case that KEY is a cons.\r
+       Append the found sequences in car of ARGS instead of prepending.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fileio.c (report_file_error): Make a unibyte string from\r
+       strerror (errorno).\r
+       (Fsubstitute_in_file_name): Fix the arg to\r
+       unibyte_char_to_multibyte.  It is evaluated twice.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * charset.h (CHAR_CHARSET): Shortcut for ASCII case.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (detect_coding_utf_16): Don't set detect_info->found if\r
+       BOM is not found.\r
+       (detect_coding, detect_coding_system): Optimization for ISO-2022\r
+       when no 8-bit data is found.\r
+\r
+2008-02-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32fns.c (x_to_w32_font): Update to use new coding struct.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * charset.c (Fdeclare_equiv_charset, Fiso_charset): Fix handing of\r
+       CHARS.\r
+\r
+2008-02-01  Steven Tamm  <steventamm@mac.com>\r
+\r
+       * macterm.c (mac_encode_char): Add charset argument and update\r
+       to use encoding_type.\r
+       (x_new_font, x_new_fontset): Merge in changes from xterm.c;\r
+       switch to pure fontset.\r
+       (decode_mac_font_name): Temporarily remove decoding.\r
+       (x_font_name_to_mac_font_name): Temporarily remove encoding.\r
+       (x_load_font): Temporarily remove encoding.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xfaces.c (Fface_font): If frame is not on a window system,\r
+       ignore CHARACTER arg.  If HAVE_WINDOW_SYSTEM is not defined, don't\r
+       refer to face->font.\r
+       (split_font_name_into_vector, build_font_name_from_vector)\r
+       (lookup_non_ascii_face, realize_non_ascii_face): Define them only\r
+       when HAVE_WINDOW_SYSTEM is defined.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xdisp.c (BUILD_GLYPH_STRINGS): Check if s is NULL.\r
+       (x_produce_glyphs): Fix setting of members of cmp in case\r
+       cmp->glyph_len is zero.\r
+\r
+       * fontset.c (Fset_fontset_font): Fix docstring.\r
+       (Ffontset_info): Make it backward compatible.  New arg ALL.\r
+\r
+2008-02-01  Kim F. Storm  <storm@cua.dk>\r
+\r
+       * process.c (read_process_output): Grow decoding_buf when needed;\r
+       this could cause a crash in allocate_string and compact_small_strings.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fileio.c (WRITE_BUF_SIZE): Delete this macro.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (setup_coding_system): Set coding->common_flags\r
+       correctly for raw-text.\r
+       (consume_chars): On encoding unibyte text by raw-text, don't check\r
+       multibyte form.\r
+       (encode_coding): On encoding by raw-text, never use translation tables.\r
+\r
+       * fileio.c (e_write): Short cut for the case of no encoding.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (detect_coding, detect_coding_system): Delete unused\r
+       variables.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (encode_coding_utf_8): Fix handling of raw-byte char.\r
+       (consume_chars): Fix handling of 8-bit bytes in unibyte source.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (Ffind_coding_systems_region_internal): Include\r
+       raw-text and no-conversion in the result.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fontset.c (find_font_encoding): Return `ascii' for unknown encoding.\r
+       (load_font_get_repertory): Delete unnecessary check of ENCODING of\r
+       FONT_DEF.\r
+       (font_def_arg, add_arg, from_arg, to_arg): New args.\r
+       (set_fontset_font): Change argument.\r
+       (Fset_fontset_font): Fix for the case that TARGET is a script\r
+       name and charset name.\r
+       (new_fontset_from_font_name): Fix argument to Fnew_fontset.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fontset.c (fontset_font): Rename from fontset_face.  Change return\r
+       value.\r
+       (face_suitable_for_char_p, face_for_char): Adjust for the change\r
+       of fontset_font.\r
+       (make_fontset_for_ascii_face): Fix setting of the fontset element\r
+       for ASCII.\r
+       (Finternal_char_font): Use fontset_font instead of FACE_FOR_CHAR\r
+       to get a font name.\r
+       (Ffontset_info): Adjust for the change of fontset_font.\r
+\r
+       * coding.c (emacs_mule_char): Check invalid code more rigidly.\r
+\r
+       * character.h (LEADING_CODE_LATIN_1_MIN)\r
+       (LEADING_CODE_LATIN_1_MAX): Delete these macros.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * editfns.c (check_translation): New function.\r
+       (Ftranslate_region_internal): Handle M:N mapping.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xfaces.c (xlfd_point_size): Set font->numeric[XLFD_PIXEL_SIZE].\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (DECODE_DESIGNATION): Set chars_96 to -1 instead of\r
+       goto invalid_code.\r
+       (decode_coding_iso_2022): Fix handling of invalid designation.\r
+\r
+       * fileio.c (Finsert_file_contents): Be sure to call unbind_to\r
+       after calling code_conversion_save.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xdisp.c (handle_auto_composed_prop): Fix Lisp_Object/int mixup.\r
+\r
+       * print.c (print_prune_string_charset): Fix Lisp_Object/int mixup.\r
+\r
+       * fontset.c: Include "intervals.h".\r
+       (fontset_face): Fix comparing of Lisp_Objects.\r
+       (free_face_fontset, new_fontset_from_font_name): Fix\r
+       Lisp_Object/int mixup.\r
+\r
+       * editfns.c (Ftranslate_region_internal): Fix Lisp_Object/int mixup.\r
+\r
+       * coding.c: Add many prototypes for static functions.\r
+       (get_translation_table): Allow max_lookup to be NULL.\r
+       (decode_coding, Ffind_coding_systems_region_internal)\r
+       (Funencodable_char_position, Fcheck_coding_systems_region): Call\r
+       get_translation_table with max_lookup NULL.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (get_translation_table): Declare it as Lisp_Object.\r
+       (LOOKUP_TRANSLATION_TABLE): New macro.\r
+       (produce_chars, consume_chars): Use LOOKUP_TRANSLATION_TABLE\r
+       instead of CHAR_TABLE_REF.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (MAX_ANNOTATION_LENGTH): Adjust for the change of\r
+       annotation data format.\r
+       (ADD_ANNOTATION_DATA, ADD_COMPOSITION_DATA, ADD_CHARSET_DATA):\r
+       Change arguments FROM and TO to single argument NCHARS.  Change caller.\r
+       (decode_coding_utf_8, decode_coding_utf_16, decode_coding_emacs_mule)\r
+       (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)\r
+       (decode_coding_ccl, decode_coding_charset): Pay attention to\r
+       coding->charbuf_used.\r
+       (get_translation): New function.\r
+       (produce_chars): New arguments translation_table and last_block.\r
+       Translate characters here.  Return number of carryover chars.\r
+       Change caller.\r
+       (produce_composition): New argument pos.  Change caller.\r
+       Adjust for the change of annotation data format.\r
+       (produce_charset, produce_annotation): Likewise.\r
+       (decode_coding, encode_coding): Don't call translate_chars.\r
+       (consume_chars): New arg translation_table.  Change caller.\r
+       (translate_chars): Delete.\r
+       (syms_of_coding): Make translation-table's number of extra slots 2.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * search.c (simple_search): Fix setting this_pos_byte in backward\r
+       search.\r
+\r
+       * coding.c (detect_coding_emacs_mule): Fix counting of encoded\r
+       byte sequence.\r
+       (detect_coding_ccl): Fix setting of the variable valids.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xterm.c (x_list_fonts): Fix the detection of an auto-scaled font.\r
+\r
+       * coding.c (decode_coding_utf_16): Fix handling of surrogate pair.\r
+\r
+       * editfns.c (Ftranslate_region_internal): Rename from\r
+       Ftranslate_region.  Accept a char-table in TABLE.\r
+       (syms_of_editfns): Defsubr Stranslate_region_internal.\r
+\r
+       * xfaces.c (set_lface_from_font_name): If a font is specified for\r
+       a frame, generate a fontset from the font.\r
+       (build_scalable_font_name): If the scalable font is requested for\r
+       a specific size, don't change that size.\r
+       (try_font_list): Try a scalable font also in the case that a\r
+       pattern string is specified.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xfaces.c (Fface_font): New optional arg CHARACTER.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * charset.h (CHARSET_OFFSET): New macro.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xterm.c (x_get_font_repertory): Fix for non-Unicode-bmp charset.\r
+\r
+       * fontset.c (fontset_face): Handle the case that repertory is a\r
+       char-table.\r
+       (find_font_encoding): Return nil for unknown encoding.\r
+       (Fset_fontset_font): Ignore a font of unknown encoding.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * keymap.c (describe_vector): Handle default value of a char table.\r
+\r
+       * fontset.c (fontset_face): Handle fallback fonts correctly.\r
+       (Ffontset_info): Return infomation about fallback fonts.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fontset.c (FONTSET_DEFAULT): New macro.\r
+       (FONTSET_ADD, fontset_add): Handle the case that range is nil.\r
+       (Fset_fontset_font): Change the 2nd arg name to TARGET, and handle\r
+       the case that it is nil.\r
+       (dump_fontset): Call FONTSET_DEFAULT, not FONTSET_FALLBACK.\r
+       (syms_of_fontset): Set char-table-extra-slots property of fontset to 9.\r
+\r
+       * charset.h (CHAR_CHARSET_P): Fix for the case that the method is\r
+       subset or superset.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * emacs.c (main): Call init_charset after syms_of_XXX.\r
+\r
+       * charset.c (Vcharset_map_directory): Delete.\r
+       (Vcharset_map_path): New variable.\r
+       (load_charset_map_from_file): Use Vcharset_map_path instead.\r
+       (init_charset): Initialize Vcharset_map_path.\r
+       (syms_of_charset): Delete declaration of "charset-map-directory",\r
+       add declaration of "charset-map-path".\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fns.c (string_char_to_byte, string_byte_to_char): Optimize for\r
+       ASCII only string.\r
+\r
+       * fileio.c (Finsert_file_contents): Avoid detecting a code twice.\r
+\r
+       * coding.c (detect_coding_iso_2022): Fix handling of SS2 and SS3.\r
+       (detect_coding, detect_coding_system): Treat '\0' as normal ASCII byte.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.h (SJIS_TO_JIS2, JIS_TO_SJIS2): New macros.\r
+\r
+       * coding.c (QCmnemonic, QCdefalut_char)\r
+       (QCdecode_translation_table, QCencode_translation_table)\r
+       (QCpost_read_conversion, QCpre_write_conversion): New variables.\r
+       (get_translation_table): Return a list of translation tables if\r
+       necessary.\r
+       (decode_coding): Call get_translation_table with ENCODEP 0.\r
+       (char_encodable_p): If translation_table is non-nil, always call\r
+       translate_char.\r
+       (Fdefine_coding_system_internal): Accept list of translation\r
+       tables as :encode-translation-table and :decode-translation-table.\r
+       (Fcoding_system_put): New function.\r
+       (syms_of_coding): Declare new symbols.  Defsubr\r
+       Scoding_system_put.\r
+       (decode_coding_sjis, encode_coding_sjis): Handle 4th charset,\r
+       typically JISX0212.\r
+\r
+       * charset.c (map_charset_chars): Fix arg to map_charset_chars in\r
+       when the charset is superset type.\r
+\r
+       * character.c (translate_char): Accept list of translation tables.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.h (enum coding_attr_index): New member coding_attr_trans_tbl.\r
+       (CODING_ATTR_TRANS_TBL): New macro.\r
+\r
+       * coding.c (get_translation_table): New function.\r
+       (translate_chars): Fix the bug of skipping annotation data.\r
+       (decode_coding, encode_coding): Utilize get_translation_table.\r
+       (char_encodable_p, Funencodable_char_position): Translate char if\r
+       necessary.\r
+       (Ffind_coding_systems_region_internal)\r
+       (Fcheck_coding_systems_region): Setup translation table for encode\r
+       in a coding system attribute vector in advance.\r
+       (Fdefine_coding_system_internal): Allow a symbol as translation\r
+       table.  For shift-jis type coding system, allow 4th charset.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (decode_coding_sjis): Check the first byte rigidly.\r
+\r
+       * xdisp.c (get_next_display_element): Pass -1 as POS to\r
+       FACE_FOR_CHAR if displaying a C-string.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * composite.c (get_composition_id): Handle xoff and yoff in a\r
+       composition rule.\r
+\r
+       * composite.h (COMPOSITION_DECODE_RULE): New arg xoff and yoff.\r
+       (struct composition): New member lbearing and rbearing.\r
+\r
+       * xdisp.c (move_it_to): Optimize for the case (op & MOVE_TO_Y).\r
+       (x_get_glyph_overhangs): Handle a composition glyph.\r
+       (x_produce_glyphs): Setup lbearing and rbreaing for a composition glyph.\r
+\r
+       * xterm.c (x_compute_glyph_string_overhangs): Handle also a\r
+       composition glyph.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * print.c: Include charset.h.\r
+       (Vprint_charset_text_property): New variable.\r
+       (Qdefault): Extern it.\r
+       (PRINT_STRING_NON_CHARSET_FOUND)\r
+       (PRINT_STRING_UNSAFE_CHARSET_FOUND): New macros.\r
+       (print_check_string_result): New variable.\r
+       (print_check_string_charset_prop): New function.\r
+       (print_prune_charset_plist): New variable.\r
+       (print_prune_string_charset): New function.\r
+       (print_object): Call print_prune_string_charset if\r
+       Vprint_charset_text_property is not t.\r
+       (print_interval): Print nothing if interval->plist is nil.\r
+       (syms_of_print): Declare Vprint_charset_text_property as a lisp\r
+       variable.  Init and staticpro print_prune_charset_plist.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fontset.c (new_fontset_from_font_name): Use the specified font\r
+       for all characters in the new fontset.\r
+\r
+       * macterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and\r
+       OBJECT args.\r
+\r
+       * xdisp.c (x_produce_glyphs): Call FACE_FOR_CHAR with POS and\r
+       OBJECT args for composition too.\r
+\r
+       * w32term.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with POS and\r
+       OBJECT args.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * dispextern.h (FACE_FOR_CHAR): New args POS and OBJECT.\r
+\r
+       * fontset.c (reorder_font_vector): Adjust for the change of\r
+       FONT_DEF format.\r
+       (fontset_face): New arg id.  Change caller.\r
+       (face_for_char): New args pos and object.\r
+       (make_fontset_for_ascii_face): Adjust for the change of FONT_DEF format.\r
+       (fs_query_fontset): Check NAME by Fassoc too.\r
+       (Fset_fontset_font): Allow non-XLFD font name.\r
+       (Ffontset_info): Adjust for the change of FONT_DEF format.\r
+\r
+       * fontset.h (face_for_char): Adjust prototype.\r
+\r
+       * xdisp.c (face_before_or_after_it_pos, get_next_display_element)\r
+       (append_space, extend_face_to_end_of_line)\r
+       (get_char_face_and_encoding, BUILD_COMPOSITE_GLYPH_STRING)\r
+       (x_produce_glyphs): Call FACE_FOR_CHAR with POS and OBJECT args.\r
+\r
+       * xfaces.c (compute_char_face): Call FACE_FOR_CHAR with\r
+       POS and OBJECT args.\r
+\r
+       * xterm.c (x_set_mouse_face_gc): Call FACE_FOR_CHAR with\r
+       POS and OBJECT args.\r
+\r
+2008-02-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32select.c (Fw32_set_clipboard_data): Avoid potential realloc\r
+       of GlobalAlloc'ed memory.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * ccl.c (Fccl_execute_on_string): Fix the condition of loop.\r
+\r
+       * charset.h (charset_table_used): Delete extern.\r
+\r
+       * charset.c (charset_table_used): Make it static.\r
+       (map_charset_chars): Fix args to c_function with.\r
+\r
+       * chartab.c (map_sub_char_table_for_charset): Fix args to\r
+       c_function with.\r
+\r
+       * coding.h (enum coding_result_code): Delete\r
+       CODING_RESULT_INSUFFICIENT_CMP, add CODING_RESULT_INVALID_SRC.\r
+\r
+       * coding.c (Qinsufficient_source, Qinconsistent_eol)\r
+       (Qinvalid_source, Qinterrupted, Qinsufficient_memory): New variables.\r
+       (Vlast_code_conversion_error): New variables.\r
+       (syms_of_coding): DEFSYM or DEFVAR_LISP them.\r
+       (ONE_MORE_BYTE): Record error if any instead of signaling an\r
+       error.  If non-ASCII multibyte char is found, return the negative\r
+       value of the code.  All callers changed to check it.\r
+       (ONE_MORE_BYTE_NO_CHECK): Likewise.\r
+       (record_conversion_result): New function.  Change all codes setting\r
+       coding->result to call this function.\r
+       (detect_coding_utf_8, decode_coding_utf_8)\r
+       (detect_coding_emacs_mule, detect_coding_sji, detect_coding_big5):\r
+       Don't use the local variable incomplete.\r
+       (emacs_mule_char): Change the second arg to `const'.\r
+       (decode_coding): Fix of flushing out unprocessed data.\r
+       (make_conversion_work_buffer): Fix making of a work buffer.\r
+       (decode_coding_object): Return coding->dst_object.\r
+\r
+       * fontset.c (set_fontset_font): Fix args.\r
+\r
+       * lisp.h (CHARACTERBITS): Define as 22.\r
+\r
+       * process.c (send_process): Be sure to set coding->src_multibyte.\r
+\r
+       * xdisp.c (handle_auto_composed_prop): Fix setting of limit.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xdisp.c (handle_auto_composed_prop): Give limit to\r
+       Fnext_single_char_property_change.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * composite.c (syms_of_composite): Don't make the composition hash\r
+       table weak.\r
+\r
+       * fontset.c (Fset_fontset_font): Fix docstring.\r
+\r
+       * lisp.h (detect_coding_system): Adjust prototype.\r
+\r
+       * fileio.c (kill_workbuf_unwind): Delete this function.\r
+       (Finsert_file_contents): Adjust the call of detect_coding_system.\r
+       Get conversion_buffer by code_conversion_save.  Use the macro\r
+       CODING_MAY_REQUIRE_DECODING.  After decoding, update\r
+       coding_system.\r
+\r
+       * coding.h (make_conversion_work_buffer): Delete extern.\r
+       (code_conversion_save): Extern it.\r
+\r
+       * coding.c (enum iso_code_class_type): Delete ISO_carriage_return.\r
+       (CODING_GET_INFO): Delete argument eol_type.  Change callers.\r
+       (decode_coding_utf_8): Don't do eol converion.\r
+       (detect_coding_utf_16): Check coding->src_chars, not\r
+       coding->src_bytes.  Add heuristics for those that have no signature.\r
+       (decode_coding_emacs_mule, decode_coding_iso_2022)\r
+       (decode_coding_sjis, decode_coding_big5, decode_coding_charset):\r
+       Don't do eol converion.\r
+       (adjust_coding_eol_type): Return a new coding system.\r
+       (detect_coding): Don't detect eol.  Fix for utf-16 detection.\r
+       (decode_eol): In case of CRLF->LF conversion, use del_range_2 on\r
+       each change.\r
+       (decode_coding): Pay attention to undo_list.  Do eol conversion for\r
+       all types of coding-systems (if necessary).\r
+       (Vcode_conversion_work_buf_list): Delete it.\r
+       (Vcode_conversion_reused_workbuf): Rename from\r
+       Vcode_conversion_reused_work_buf.\r
+       (Vcode_conversion_workbuf_name): New variable.\r
+       (reused_workbuf_in_use): New variable.\r
+       (make_conversion_work_buffer): Delete the arg DEPTH.\r
+       (code_conversion_restore): Change argument to cons.\r
+       (code_conversion_save): Delete the argument BUFFER.  Change callers.\r
+       (detect_coding_system): New argument src_chars.  Change callers.\r
+       Fix for utf-16 detection.\r
+       (init_coding_once): Don't use ISO_carriage_return.\r
+       (syms_of_coding): Initialize Vcode_conversion_workbuf_name and\r
+       reused_workbuf_in_use.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * keymap.c (store_in_keymap): Pay attention to the case that idx\r
+       is a cons specifying a character range.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xdisp.c (handle_auto_composed_prop): Fix the case of returning\r
+       HANDLED_RECOMPUTE_PROPS.\r
+\r
+       * coding.c (Fdefine_coding_system_internal): Fix checking of\r
+       ascii compatibility.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * charset.c (find_charsets_in_text): Delete unused locale variable.\r
+       (Fset_charset_priority): Update Vemacs_mule_charset_list too.\r
+\r
+       * coding.c (encode_coding_emacs_mule): Emit bytes with MSB.\r
+       Resync charset_list to Vemacs_mule_charset_list.\r
+\r
+       * keymap.c (store_in_keymap): Pay attention to the case that idx\r
+       is a cons specifying a character range.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * composite.c (update_compositions): Bind inhibit-read-only, etc\r
+       to t before calling remove-list-of-text-properties.\r
+\r
+       * print.c (print_object): Always print ASCII chars as is.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.\r
+\r
+       * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE\r
+       is a char table.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xfaces.c (set_lface_from_font_name): Fix for the case that\r
+       FONTNAME is not fontset name.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fns.c (base64_encode_1): Fix previous change.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fontset.c (set_fontset_font): New function.\r
+       (Fset_fontset_font): If a font is specified for a charset, use\r
+       map_charset_chars to store the font spec in a fontset.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fontset.c (fontset_face): Create a fallback fontset on demand.\r
+       (make_fontset): Don't create a fallback fontset here.\r
+       (free_face_fontset): Free a fallback fontset (if any) too.\r
+       (n_auto_fontsets): Delete this variable.\r
+       (auto_fontset_alist): New variable.\r
+       (new_fontset_from_font_name): Check auto_fontset_alist.\r
+       (dump_fontset) [FONTSET_DEBUG]: Fully re-written.\r
+       (Ffontset_list_all) [FONTSET_DEBUG]: New function.\r
+       (syms_of_fontset): Initialize and staticpro auto_fontset_alist.\r
+       Defsubr Sfontset_list_all.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fontset.c (Fnew_fontset): Check NAME more rigidly.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * editfns.c (Fgoto_char): Fix docstring.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * insdel.c (insert_from_gap): Adjust intervals correctly.\r
+\r
+2008-02-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32term.c (GLYPHSET, WCRANGE): Define if system headers don't.\r
+       (pfnGetFontUnicodeRanges): New dynamically loaded function.\r
+       (w32_initialize): Try to load it.\r
+       (x_get_font_repertory): Use it if available.\r
+       (w32_encode_char): Add shortcut for unicode output.\r
+\r
+       * w32fns.c (w32_load_system_font): Default charset to -1.\r
+       (x_to_w32_charset): Match all fonts for unicode.\r
+       (w32_to_x_charset): New parameter matching.  Don't return partial\r
+       or wildcard charsets.\r
+       (w32_to_all_x_charsets): Don't return partial or wildcard charsets.\r
+       (w32_codepage_for_font): Return CP_UNICODE for unicode.\r
+       (w32_to_x_font): Match charset to real charset.\r
+       (enum_font_cb2): Always list unicode versions.\r
+\r
+       * makefile.w32-in (temacs): Increase EMHEAP.\r
+\r
+2008-02-01  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32term.c (w32_encode_char): New charset parameter.\r
+       font_info.encoding becomes encoding_type.\r
+       (x_get_font_repertory): New function.  Warning: stub only!\r
+       (x_new_font): Return quickly if font already set.\r
+       (x_new_fontset): fontsetname parameter is Lisp_Object.\r
+       Use new fs_query_fontset.  Try new_fontset_from_font_name.\r
+       Use fontset_name for return value.\r
+\r
+       * w32term.h: Declare x_get_font_repertory.\r
+\r
+       * w32select.c (Fw32_set_clipboard_data): Use string_x_string_p in\r
+       place of find_charset_in_text.  Use encode_coding_object in place\r
+       of encode_coding.\r
+       (Fw32_get_clipboard_data): Use decode_coding_c_string in place of\r
+       decode_coding.\r
+\r
+       * w32fns.c (Fx_create_frame, x_create_tip_frame): Use new version\r
+       of x_new_fontset.\r
+       (w32_load_system_font): Initialize charset as unicode.\r
+       font_info.encoding becomes encoding_type.\r
+       (w32_to_x_font): Use decode_coding_c_string in place of decode_coding.\r
+       (x_to_w32_font): Use encode_coding_object in place of encode_coding.\r
+       (syms_of_w32fns): Set get_font_repertory_func.\r
+\r
+       * w32console.c: Include character.h.  Use terminal_encode_buffer\r
+       from term.c.\r
+       (write_glyphs): Use new version of encode_terminal_code.  Use\r
+       encode_coding_object in place of encode_coding.\r
+\r
+       * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.\r
+       encoding becomes encoding_type.\r
+\r
+       * term.c (terminal_encode_buffer): Make externally visible.\r
+\r
+       * makefile.w32-in: Add character.h dependancies.\r
+       (character.o, chartab.o): New targets.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro\r
+       CODING_ID_EOL_TYPE.\r
+\r
+2008-02-01  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * coding.c (produce_chars): Revert last change.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * charset.h (charset_unicode): Extern it.\r
+\r
+       * charset.c (string_xstring_p): Check by (C >= 0x100).\r
+       (find_charsets_in_text): Change format of the arc CHARSETS.  New\r
+       arg MULTIBYTE.\r
+       (Ffind_charset_region, Ffind_charset_string): Adjust for the\r
+       change of find_charsets_in_text.\r
+       (Fsplit_char): Fix doc.  Never return unknown.\r
+\r
+       * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.\r
+\r
+       * coding.c (Fdefine_coding_system_alias): Update\r
+       Vcoding_system_list.\r
+\r
+       * fontset.c (load_font_get_repertory): Pay attention to the case\r
+       that ENCODING of a font is specified by a char-table.\r
+\r
+       * xterm.c (x_get_font_repertory): Handle the case that the\r
+       encoding of font is other than Unicode.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * term.c (encode_terminal_code): Don't handle glyph-table.  Check\r
+       if a character is encodable by the terminal coding system.  If\r
+       not, produces proper number of `?'s.  Update\r
+       terminal_encode_buffer and terminal_encode_buf_size if necessary.\r
+       (produce_glyphs): Check by CHAR_BYTE8_P, not SINGLE_BYTE_CHAR_P.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * term.c (terminal_encode_buffer, terminal_encode_buf_size): New\r
+       variables.\r
+       (encode_terminal_code): Change argument.  Encode multiple\r
+       characters at once.  Store the result of encoding in\r
+       terminal_encode_buffer.\r
+       (write_glyphs, insert_glyphs): Adjust for the change of\r
+       encode_terminal_code.\r
+       (term_init): Initialize terminal_encode_buffer and\r
+       terminal_encode_buf_size.\r
+\r
+       * coding.c (consume_chars): If coding->src_object is nil, don't\r
+       check annotation.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * character.c (char_string): Use ASCII_CHAR_P instead of\r
+       SINGLE_BYTE_CHAR_P.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xdisp.c (handle_auto_composed_prop): Check if the last\r
+       characters of auto-composed region is newly composed with the\r
+       following characters.\r
+       (handle_composition_prop): Fix checking of point being inside\r
+       composition.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fns.c (concat): Don't change multibyteness of the result by\r
+       concatenating an 8-bit character.\r
+\r
+       * data.c (Faset): Check newelt by CHECK_CHARACTER.  Don't change\r
+       multibyteness of the result when newelt is an 8-bit character.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * xmenu.c (find_and_call_menu_selection): Make menu_bar_items_used\r
+       EMACS_INT.\r
+\r
+       * xfns.c (DefaultDepthOfScreen, x_encode_text): Remove unused vars.\r
+\r
+       * xfaces.c (face_numeric_value): Declare dim size_t.\r
+       (Finternal_lisp_face_equal_p): Remove unused f.\r
+\r
+       * xdisp.c (BUILD_CHAR_GLYPH_STRINGS, display_and_set_cursor)\r
+       (MATRIX_ROW): Remove unused vars.\r
+       (draw_glyphs, x_insert_glyphs, fast_find_position)\r
+       (fast_find_position, fast_find_string_pos): Use EMACS_INT for\r
+       byte/char counts.\r
+\r
+       * regex.c (regex_compile): Remove unused var.\r
+\r
+       * minibuf.c (Fminibuffer_complete_word): Remove unused var.\r
+\r
+       * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap)\r
+       (Faccessible_keymaps, where_is_internal): Remove unused vars.\r
+\r
+       * keyboard.c (cancel_hourglass_unwind): Return Qnil.\r
+\r
+       * frame.c (frame_name_fnn_p): Make len EMACS_INT.\r
+\r
+       * fileio.c (Fwrite_region): Remove unused var.\r
+\r
+       * dispnew.c (adjust_frame_glyphs_for_frame_redisplay)\r
+       (adjust_frame_glyphs_for_window_redisplay): Remove unused ch_dim.\r
+\r
+       * composite.c (Fremove_list_of_text_properties): Declare.\r
+\r
+       * coding.c (inhibit_pre_post_conversion): Remove (unused).\r
+       (alloc_destination, produce_chars): Use EMACS_INT for byte/char counts.\r
+       (coding_inherit_eol_type): Remove unused attrs.\r
+       (detect_coding): Cast arg of detect_eol.\r
+\r
+       * charset.c (syms_of_charset): Remove unused var p.\r
+       (find_charsets_in_text, Ffind_charset_region): Use EMACS_INT for\r
+       byte/char counts.\r
+\r
+       * casetab.c (set_case_table): Remove unused var.\r
+\r
+       * window.c (Fdisplay_buffer, Fframe_selected_window): Remove\r
+       unused vars.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * xterm.c (x_bitmap_mask): Declare.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * xterm.c (x_term_init): Fix type error.\r
+\r
+       * lisp.h: Add Funibyte_char_to_multibyte.\r
+\r
+       * coding.c (Fread_coding_system): Fix arg of XSETSTRING.\r
+       (Fset_coding_system_priority): Doc fix.\r
+\r
+       * ccl.c (ccl_driver): Fix arg of CHARACTERP.\r
+\r
+       * indent.c (check_composition): Make start and end EMACS_INT.\r
+\r
+       * character.c (lisp_string_width): Make ignore and end EMACS_INT.\r
+\r
+       * xdisp.c (handle_composition_prop, check_point_in_composition):\r
+       Make buffer positions EMACS_INT.\r
+\r
+       * composite.c (find_composition, run_composition_function)\r
+       (update_compositions, Ffind_composition_internal): Make buffer\r
+       positions EMACS_INT.\r
+\r
+       * composite.h (find_composition, update_compositions): Make\r
+       position args EMACS_INT.\r
+\r
+       * keyboard.c (adjust_point_for_property): Make beg and end EMACS_INT.\r
+\r
+       * intervals.c (get_property_and_range):\r
+       * intervals.h (get_property_and_range): Make start and end EMACS_INT.\r
+\r
+       * unexalpha.c: Don't include varargs.h.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * coding.h (ENCODE_UTF_8): New.\r
+\r
+       * Makefile.in (gtkutil.o): Depend on coding.h.\r
+\r
+       * coding.c (Fset_coding_system_priority): Doc fix.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fileio.c (Finsert_file_contents): Call setup_coding_system in\r
+       the case of auto saving.\r
+\r
+2008-02-01  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * chartab.c (map_char_table, map_char_table_for_charset): Protect\r
+       `range' from GC.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (decode_coding_sjis): Check bytes more rigidly.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fileio.c (choose_write_coding_system): Return a decided coding system.\r
+       (Fwrite_region): Set Vlast_coding_system_used to the return value\r
+       of choose_write_coding_system.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * charset.c (Fset_charset_priority): Pay attention to duplicated\r
+       arguments.\r
+\r
+       * coding.c (QCcategory): New variable.\r
+       (syms_of_coding): Defsym it.  Set all elements of\r
+       Vcoding_category_table and their symbol values.\r
+       (Fset_coding_system_priority): Doc fix.  Update symbol qvalues of\r
+       coding-category-XXX, and coding-category-list.\r
+       (Fdefine_coding_system_internal): Add category in the plist.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * callproc.c (Fcall_process): Handle carryover correctly.\r
+\r
+       * coding.c (decode_coding_iso_2022): Fix handling of invalid bytes.\r
+       (raw_text_coding_system): Check NILP (coding_system).\r
+       (coding_inherit_eol_type): Check NILP (coding_system) and\r
+       NILP (parent).\r
+       (consume_chars): Fix for the case of raw-text.\r
+\r
+       * process.c (read_process_output): Handle carryover correctly.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * regex.c (re_search_2): Fix last change.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * regex.c (GET_CHAR_BEFORE_2): Check multibyte, not\r
+       target_multibyte.  Even in a unibyte case, return a converted\r
+       multibyte char.\r
+       (GET_CHAR_AFTER): New macro.\r
+       (PATFETCH): Translate via multibyte char.\r
+       (HANDLE_UNIBYTE_RANGE): Delete this macro.\r
+       (SETUP_MULTIBYTE_RANGE): New macro.\r
+       (regex_compile): Setup compiled code so that its multibyteness\r
+       matches that of a target.  Fix the handling of "[X-YZ]" using\r
+       SETUP_MULTIBYTE_RANGE.\r
+       (analyse_first) <charset>: For filling fastmap for all multibyte\r
+       characters, don't check by BASE_LEADING_CODE_P.\r
+       (re_search_2): Don't check RE_TARGET_MULTIBYTE_P (bufp).  It is\r
+       the same as RE_MULTIBYTE_P (bufp) now.\r
+       (mutually_exclusive_p): Check by (! multibyte || IS_REAL_ASCII (c)).\r
+       (TARGET_CHAR_AND_LENGTH): Delete this macro.\r
+       (TRANSLATE_VIA_MULTIBYTE): New macro.\r
+       (re_match_2_internal): Don't check RE_TARGET_MULTIBYTE_P (bufp).\r
+       It is the same as RE_MULTIBYTE_P (bufp) now.\r
+       <exactn>: Translate via multibyte.\r
+       <anychar>: Fetch a character by RE_STRING_CHAR_AND_LENGTH.  Don't\r
+       translate it.\r
+       <charset, charset_not>: Fetch a character by\r
+       RE_STRING_CHAR_AND_LENGTH.  Translate via multibyte.\r
+       <duplicate>: Call bcmp_translate with the last arg `multibyte'.\r
+       <wordbound, notwordbound, wordbeg, wordend, syntaxspec,\r
+       notsyntaxspec, categoryspec, notcategoryspec> Fetch a character\r
+       by GET_CHAR_AFTER.\r
+       (bcmp_translate): Likewise.\r
+\r
+       * search.c (compile_pattern): Check the member target_multibyte,\r
+       not the member multibyte of buf.\r
+\r
+       * lread.c (read1): While reading a string, set force_singlebyte\r
+       and force_multibyte correctly.\r
+\r
+       * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting\r
+       up of unibyte_to_multibyte_table.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (setup_coding_system): If coding has\r
+       post-read-conversion or pre-write-conversion, set\r
+       CODING_REQUIRE_DECODING_MASK and CODING_REQUIRE_ENCODING_MASK\r
+       respectively.\r
+       (decode_coding_gap): Run post-read-conversion if any.\r
+\r
+       * fileio.c (Finsert_file_contents): Even if we read into a\r
+       unibyte buffer, check if we must decode the result or not.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (make_conversion_work_buffer): Change the work buffer\r
+       name to the same one as that of Emacs 21.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.h (make_conversion_work_buffer): Adjust prototype.\r
+       (code_conversion_restore): Don't extern it.\r
+\r
+       * coding.c (detected_mask): Delete unused variable.\r
+       (decode_coding_iso_2022): Pay attention to the byte sequence of\r
+       CTEXT extended segment, and retain those bytes as is.\r
+       (decode_coding_ccl): Delete unused variable `valids'.\r
+       (setup_coding_system): Delete unused variable `category'.\r
+       (consume_chars): Delete unused variable `category'.  Make it work\r
+       for non-multibyte case.\r
+       (make_conversion_work_buffer): Change argument.\r
+       (saved_coding): Delete unused variable.\r
+       (code_conversion_restore): Don't check saved_coding->destination.\r
+       (code_conversion_save): New function.\r
+       (decode_coding_gap, encode_coding_gap): Call code_conversion_save\r
+       instead of record_unwind_protect.\r
+       (decode_coding_object, encode_coding_object): Likewise.  Recover PT.\r
+       (detect_coding_system): Delete unused variable `mask'.\r
+       (Fdefine_coding_system_internal): Delete unused variable id.\r
+\r
+       * fileio.c (kill_workbuf_unwind): New function.\r
+       (Finsert_file_contents): On replacing, call\r
+       make_conversion_work_buffer with correct args, and call\r
+       record_unwind_protect with the first arg kill_workbuf_unwind.\r
+\r
+       * lisp.h (Fgenerate_new_buffer_name): EXFUN it.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fontset.c (BASE_FONTSET_P): Check FONTSET_BASE, not FONTSET_NAME.\r
+       (fontset_add): Fix for the case that TO is less than TO1.\r
+       (Ffontset_info): Don't use fallback fontset on checking the\r
+       default fontset.\r
+       (dump_fontset): New function for debugging.\r
+\r
+       * coding.c (Fdefine_coding_system_internal): Fix for the case that\r
+       coding_type is Qcharset.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * chartab.c (map_sub_char_table): New argument DEFAULT_VAL.\r
+       (map_char_table): Don't inherit the value from the parent on\r
+       initializing VAL.  Adjust for the above change.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (Qsignature, Qendian): Delete these variables.\r
+       (syms_of_coding): Don't initialize them.\r
+       (CATEGORY_MASK_UTF_16_AUTO): New macro.\r
+       (detect_coding_utf_16): Add CATEGORY_MASK_UTF_16_AUTO in\r
+       detect_info->found.\r
+       (decode_coding_utf_16): Don't detect BOM here.\r
+       (encode_coding_utf_16): Produce BOM if CODING_UTF_16_BOM (coding)\r
+       is NOT utf_16_without_bom.\r
+       (setup_coding_system): For a coding system of type utf-16, check\r
+       if the attribute :endian is Qbig or not (not nil or not), and set\r
+       CODING_REQUIRE_DETECTION_MASK if BOM detection is required.\r
+       (detect_coding): If coding type is utf-16 and BOM detection is\r
+       required, detect it.\r
+       (Fdefine_coding_system_internal): For a coding system of type\r
+       utf-16, check if the attribute :endian is Qbig or not (not nil or not).\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (coding_set_source): Fix for the case that the current\r
+       buffer is different from coding->src_object.\r
+       (decode_coding_object): Don't use the conversion work buffer if\r
+       DST_OBJECT is a buffer.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * lread.c (read_emacs_mule_char) [len==2]: Index\r
+       emacs_mule_charset correctly.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * coding.c (Qbig5, Vbig5_coding_system, CATEGORY_MASK_BIG5)\r
+       (detect_coding_big5, decode_coding_big5, encode_coding_big5)\r
+       (Fdecode_big5_char, Fencode_big5_char): Delete.  (Big5 no longer\r
+       treated specially.)\r
+       (setup_coding_system, coding_category, CATEGORY_MASK_ANY)\r
+       (detected_mask): Remove Big5 bits.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       The following changes are to make the font rescaling facility\r
+       compatible with Emacs 21.\r
+\r
+       * xfaces.c (Vface_font_rescale_alist): Rename from\r
+       Vface_resizing_fonts.\r
+       (struct font_name): Rename member resizing_ratio to rescale_ratio.\r
+       (font_rescale_ratio): Rename from font_resizing_ratio.\r
+       (split_font_name): Set font->rescale_ratio.\r
+       (better_font_p): Pay attention to font->rescale_ratio.\r
+       (build_scalable_font_name): Likewise.  Change RESX, and RESY\r
+       fields.\r
+       (syms_of_xfaces): Declare Vface_font_rescale_alist as a Lisp variable.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (Qutf_16_be_nosig, Qutf_16_be, Qutf_16_le_nosig)\r
+       (Qutf_16_le): Remove these variables.\r
+       (syms_of_coding): Don't DEFSYM them.\r
+       (decode_coding_utf_16): Fix handling of BOM.\r
+       (encode_coding_utf_16): Fix handling of BOM.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fileio.c (Finsert_file_contents): On replacing, before decoding\r
+       the file into the work buffer, set point of the work buffer to the end.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * coding.c (Fcheck_coding_systems_region): Fix type errors.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table\r
+       and fix C types.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xdisp.c (SKIP_GLYPHS): New macro.\r
+       (set_cursor_from_row): Pay attention to string display properties.\r
+\r
+       * category.c (copy_category_entry): Fix for the case that RANGE\r
+       is an integer.\r
+\r
+       * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.\r
+\r
+       * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * charset.c (Fcharset_id_internal): New function.\r
+       (syms_of_charset): Defsubr it.\r
+\r
+       * coding.c (decode_coding_ccl, encode_coding_ccl): Call ccl_driver\r
+       with the last arg charset_list acquired from coding.\r
+       (Fdefine_coding_system_internal): For ccl-based coding system, fix\r
+       the attribute coding_attr_ccl_valids.\r
+\r
+       * coding.h (enum define_coding_ccl_arg_index): Set the first\r
+       member coding_arg_ccl_decoder to coding_arg_max.\r
+\r
+       * ccl.h (ccl_driver): Adjust prototype.\r
+\r
+       * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.\r
+       (ccl_driver): New arg CHARSET_LIST.  Use the above macros instead\r
+       of DECODE_CAHR, ENCODE_CHAR, CHAR_CHARSET.\r
+       (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the\r
+       last arg Qnil.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,\r
+       call encode_char.\r
+\r
+       * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * composite.c (syms_of_composite): Make composition_hash_table weak.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * dispextern.h (check_face_attributes, generate_ascii_font_name)\r
+       (font_name_registry): Don't extern them.\r
+       (split_font_name_into_vector, build_font_name_from_vector): Extern them.\r
+\r
+       * fontset.h (Qfontset): Don't extern it.\r
+       (new_fontset_from_font_name): Extern it.\r
+\r
+       * fontset.c: Give 8 extra slots to fontset objects.\r
+       (Qfontset_info): New variable.\r
+       (syms_of_fontset): Defsym it.\r
+       (FONTSET_FALLBACK): New macro.\r
+       (fontset_face): Try also the default fontset.\r
+       (make_fontset): Realize a fallback fontset from the default fontset.\r
+       (generate_ascii_font_name): Move from xfaces.c.  Rewritten by\r
+       using split_font_name_into_vector and build_font_name_from_vector.\r
+       (Fset_fontset_font): Access the elements of font_spec by enum\r
+       FONT_SPEC_INDEX.  If font_spec is a string, extract the registry\r
+       name by using split_font_name_into_vector.\r
+       (Fnew_fontset): If no ASCII font is specified in FONTLIST,\r
+       generate a proper font name from the fontset name.  Update\r
+       Vfontset_alias_alist.\r
+       (n_auto_fontsets): New variable.\r
+       (new_fontset_from_font_name): New function.\r
+       (Ffont_info): Store the information about fonts generated from the\r
+       default fontset in the first extra slot of the returned char-table.\r
+\r
+       * xfaces.c (generate_ascii_font_name): Move to fontset.c.\r
+       (font_name_registry): Delete function.\r
+       (split_font_name_into_vector): New function.\r
+       (build_font_name_from_vector): New function.\r
+       (font_list): The argument REGISTRY is now a list of registry names.\r
+       (choose_face_font): If we are choosing an ASCII font, and ATTRS\r
+       specifies an explicit font name, return the name as is.  Make a\r
+       list of registy names.\r
+\r
+       * xfns.c (x_set_font, x_create_tip_frame): Adjust for the change\r
+       of x_new_fontset.\r
+       (Fx_create_frame): Don't call x_new_fontset here.  Just use\r
+       x_list_fonts to check the existence of fonts.\r
+\r
+       * xterm.h (x_new_fontset): Adjust prototype.\r
+\r
+       * xterm.c (x_new_fontset): Change the arg FONTSETNAME to Lisp\r
+       string.  Use new_fontset_from_font_name to create a fontset from a\r
+       font name.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * syntax.c (Vfind_word_boundary_function_table): New name for\r
+       Vnext_word_boundary_function_table.\r
+       (find-word-boundary-function-table): New name for\r
+       next-word-boundary-function-table.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * Makefile.in: Fix some dependencies.\r
+\r
+       * keymap.c (Fapropos_internal): Don't gcpro apropos_predicate but\r
+       set it to nil before returning.\r
+\r
+       * composite.c (update_compositions): Fix type error.\r
+\r
+       * syntax.c (skip_chars, skip_syntaxes): Fix type errors.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xterm.c (x_new_font): Optimize for the case that the font is\r
+       already set for the frame.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * chartab.c (char_table_ascii): Check if the char table contents\r
+       is sub-char-table or not.\r
+       (char_table_set, char_table_set_range): Fix argument to\r
+       char_table_ascii.\r
+\r
+       * coding.c (CATEGORY_MASK_RAW_TEXT): New macro.\r
+       (detect_coding_utf_8, detect_coding_utf_16)\r
+       (detect_coding_emacs_mule, detect_coding_iso_2022)\r
+       (detect_coding_sjis, detect_coding_big5)\r
+       (detect_coding_ccl, detect_coding_charset): Change argument MASK\r
+       to DETECT_INFO.  Update DETECT_INFO and return 1 if the byte\r
+       sequence is valid in this coding system.  Change callers.\r
+       (MAX_ANNOTATION_LENGTH): New macro.\r
+       (ADD_ANNOTATION_DATA): New macro.\r
+       (ADD_COMPOSITION_DATA): Change argument.  Change callers.  Call\r
+       ADD_ANNOTATION_DATA.  Change the format of annotation data.\r
+       (ADD_CHARSET_DATA): New macro.\r
+       (emacs_mule_char): New argument ID.  Change callers.\r
+       (decode_coding_emacs_mule, decode_coding_iso_2022)\r
+       (decode_coding_sjis, decode_coding_big5, decode_coding_charset):\r
+       Produce charset annotation data in coding->charbuf.\r
+       (encode_coding_emacs_mule, encode_coding_iso_2022): Pay attention\r
+       to charset annotation data in coding->charbuf.\r
+       (setup_coding_system): Add CODING_ANNOTATE_CHARSET_MASK\r
+       coding->common_flags if the coding system is iso-2022 based and\r
+       uses designation.\r
+       (produce_composition): Adjust for the new annotation data format.\r
+       (produce_charset): New function.\r
+       (produce_annotation): Handle charset annotation.\r
+       (handle_composition_annotation, handle_charset_annotation): New\r
+       functions.\r
+       (consume_chars): Handle charset annotation.  Utilize the above two\r
+       functions.\r
+       (encode_coding_object): If SRC_OBJECT and DST_OBJECT are the same\r
+       buffer, get the deleted text as a string and set\r
+       coding->src_object to that string.\r
+       (detect_coding, detect_coding_system): Use the new struct\r
+       coding_detection_info.\r
+\r
+       * coding.h (struct coding_detection_info): New structure.\r
+       (struct coding_system): Adjust prototype of the member `detector'.\r
+       (CODING_ANNOTATE_CHARSET_MASK): New macro.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * insdel.c (insert_from_gap): Fix argument to offset_intervals.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * keymap.c (apropos_predicate, apropos_accumulate): Declare static.\r
+       (Fapropos_internal): Don't gcpro apropos_accumulate.  Set result\r
+       to new local and nullify apropos_accumulate before returning.\r
+       (syms_of_keymap): Staticpro and initialize apropos_accumulate.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * charset.c (Fdefine_charset_internal): Setup charset.fast_map\r
+       correctly.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * fns.c (Flanginfo): Call synchronize_system_time_locale.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       The following changes are to make character composition happen\r
+       automatically on displaying.\r
+\r
+       * Makefile.in (lisp, shortlisp): Add composite.elc.\r
+\r
+       * composite.h (Qauto_composed, Vauto_composition_function)\r
+       (Qauto_composition_function): Extern them.\r
+\r
+       * composite.c (Vcomposition_function_table)\r
+       (Qcomposition_function_table): Delete variables.\r
+       (Qauto_composed, Vauto_composition_function)\r
+       (Qauto_composition_function): New variables.\r
+       (run_composition_function): Don't call\r
+       compose-chars-after-function.\r
+       (update_compositions): Clear `auto-composed' text property.\r
+       (compose_chars_in_text): Delete this function.\r
+       (syms_of_composite): Staticpro Qauto_composed and\r
+       Qauto_composition_function.  Declare Vauto_composition_function as\r
+       a Lisp variable.\r
+\r
+       * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.\r
+\r
+       * xdisp.c (it_props): Add an entry for Qauto_composed.\r
+       (handle_auto_composed_prop): New function.\r
+\r
+       * xselect.c (selection_data_to_lisp_data): Don't call\r
+       compose_chars_in_text.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * keyboard.c (read_char): Modify checking around use of\r
+       Vkeyboard_translate_table.\r
+\r
+       * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table\r
+       and fix C types.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (decode_coding_utf_8, decode_coding_emacs_mule)\r
+       (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)\r
+       (decode_coding_charset, produce_chars): When eol_type is Qdos, handle\r
+       the case that the last byte is '\r' correctly.\r
+       (decode_coding): Flush out the unprocessed data correctly.\r
+       (decode_coding_gap): Set CODING_MODE_LAST_BLOCK bit of coding->mode.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * xterm.c (XTread_socket): Fix changes for defined keysyms.\r
+       Add XK_ISO... case.\r
+       (xaw_scroll_callback): Revert last change.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xfaces.c (Vface_resizing_fonts): New variable.\r
+       (struct font_name): New member `resizing_ratio'.\r
+       (font_resizing_ratio): New function.\r
+       (split_font_name): Set font->resizing_ratio.\r
+       (better_font_p): Pay attention to font->resizing_ratio.\r
+       (build_scalable_font_name): Likewise.  Don't change POINT_SIZE,\r
+       RESX, and RESY fields.\r
+       (try_alternative_families): Try scalable fonts if\r
+       Vscalable_fonts_allowed is not Qt.\r
+       (syms_of_xfaces): Declare Vface_resizing_fonts as a Lisp variable.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * xterm.c (xaw_scroll_callback): Cast correctly.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.\r
+       (lispy_kana_keys): Comment out.\r
+       (make_lispy_event) [XK_kana_A]: Comment out.\r
+\r
+       * xterm.c (xaw_scroll_callback): Cast call_data.\r
+       (XTread_socket): Deal with ASCII keysyms.\r
+       (syms_of_xterm) <Vx_keysym_table>: Fix args of make_hash_table.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * xterm.c (Vx_keysym_table): New.\r
+       (syms_of_xterm): Initialize it.\r
+       (XTread_socket): Use it.\r
+       From head: Eliminate incorrect optimization that tried to avoid\r
+       decoding the output of X*LookupString.\r
+       (x_get_font_repertory): Delete charset declaration.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (detect_coding_charset): If only ASCII bytes are found,\r
+       return 0.\r
+       (Fdefine_coding_system_internal): Setup\r
+       CODING_ATTR_ASCII_COMPAT (attrs) correctly.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * coding.c (Fcheck_coding_system): Doc fix.\r
+\r
+       * editfns.c (Finsert_byte): Return a proper value.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (decode_coding): Fix args to translate_chars.  Pay\r
+       attention to Vstandard_translation_table_for_decode.\r
+       (encode_coding): Fix args to translate_chars.  Pay attention to\r
+       Vstandard_translation_table_for_encode.\r
+\r
+       * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by\r
+       SINGLE_BYTE_CHAR_P.\r
+\r
+       * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,\r
+       not by SINGLE_BYTE_CHAR_P.\r
+\r
+       * fns.c (concat): Check CH by ASCII_CHAR_P, not by\r
+       SINGLE_BYTE_CHAR_P.\r
+\r
+       * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by\r
+       SINGLE_BYTE_CHAR_P.\r
+\r
+       * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not\r
+       by SINGLE_BYTE_CHAR_P.\r
+\r
+       * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by\r
+       SINGLE_BYTE_CHAR_P.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * fns.c (Flanginfo): Fix typo.\r
+\r
+       * unexelf.c (unexec): Make last change conditional on Irix 6.5.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (detect_coding_utf_8, detect_coding_utf_16)\r
+       (detect_coding_emacs_mule, detect_coding_iso_2022)\r
+       (detect_coding_sjis, detect_coding_big5, detect_coding_ccl): Check\r
+       incomplete byte sequence.  Don't update *mask when correctly detected.\r
+       (decode_coding_sjis): Fix decoding of katakana-jisx0201.\r
+       (detect_eol): Delete the argument CODING, and add the argument CATEGORY.\r
+       (detect_coding, detect_coding_system): Adjust for the changes above.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * character.c (char_string): Rename from\r
+       char_string_with_unification.  Pay attention to CHAR_MODIFIER_MASK.\r
+       (string_char): Rename from string_char.\r
+\r
+       * character.h (CHAR_STRING, CHAR_STRING_ADVANCE): Call char_string\r
+       if C is greater than MAX_3_BYTE_CHAR.\r
+       (STRING_CHAR, STRING_CHAR_AND_LENGTH, STRING_CHAR_ADVANCE): Call\r
+       string_char instead of string_char_with_unification.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * coding.c (decode_coding_utf_8): Treat surrogates as invalid.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * keymap.c (push_key_description): Pay attention to force_multibyte.\r
+\r
+       * regex.c (re_search_2): Fix for the case of unibyte buffer.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * charset.c (define_charset_internal): Rename `supprementary'.\r
+\r
+       * Makefile.in (lisp, shortlisp): Remove latin-N.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * xfns.c (x_window, x_window): Use use_xim.\r
+\r
+       * xterm.c (use_xim): Initialize.\r
+       (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.\r
+       (x_term_init): Maybe set use_xim.\r
+\r
+       * xterm.h (use_xim) [HAVE_X_I18N]: Declare.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * search.c (search_buffer): Fix case-fold-search of multibyte\r
+       characters.\r
+       (boyer_moore): Rename the last argument to char_high_bits.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xdisp.c (display_string): Fix for the case of zero width glyph.\r
+\r
+       * xfns.c (x_set_font): Change the error message of the case that\r
+       x_new_fontset returns Qt.\r
+\r
+       * xfaces.c (set_lface_from_font_name): Reject the default fontset.\r
+       (Finternal_set_lisp_face_attribute): Use signal_error for the\r
+       error of invalid fontset.\r
+\r
+       * xterm.c (x_new_fontset): If FONTSETNAME specifies the default\r
+       fontset, return Qt.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * unexelf.c (unexec): Make .got handling not SGI-specific.\r
+\r
+       * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.\r
+\r
+       * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.\r
+\r
+       * keyboard.c (read_key_sequence): Fix type error.\r
+\r
+       * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix\r
+       type error.\r
+\r
+       * fontset.c (fontset_add): Return Lisp_Object.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * charset.h (charset_ordered_list_tick): Declare extern.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       The following changes (and some of 2008-02-01 changes of mine) are\r
+       for handling syntax, category, and case conversion for unibyte\r
+       characters by converting them to multibyte on the fly.  With these\r
+       changes, we don't have to setup syntax and case tables for unibyte\r
+       characters in each language environment.\r
+\r
+       * abbrev.c (Fexpand_abbrev): Convert a unibyte character to\r
+       multibyte if necessary.\r
+\r
+       * bytecode.c (Fbyte_code): Likewise.\r
+\r
+       * character.h (LEADING_CODE_LATIN_1_MIN)\r
+       (LEADING_CODE_LATIN_1_MAX): New macros.\r
+       (unibyte_to_multibyte_table): Extern it.\r
+       (unibyte_char_to_multibyte): New macro.\r
+       (MAKE_CHAR_MULTIBYTE): Use unibyte_to_multibyte_table.\r
+       (CHAR_LEADING_CODE): New macro.\r
+       (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE): New macro.\r
+\r
+       * character.c (unibyte_to_multibyte_table): New variable.\r
+       (unibyte_char_to_multibyte): Move to character.h and define as macro.\r
+       (multibyte_char_to_unibyte): If C is an eight-bit character,\r
+       convert it to the corresponding byte value.\r
+\r
+       * charset.c (Fset_unibyte_charset): If the dimension of CHARSET is\r
+       not 1, signals an error.  Update the elements of\r
+       unibyte_to_multibyte_table.\r
+       (init_charset_once): Initialize unibyte_to_multibyte_table.\r
+       (syms_of_charset): Define the charset `iso-8859-1'.\r
+\r
+       * cmds.c (internal_self_insert): In a multibyte buffer, insert C\r
+       as is without converting it to unibyte.  In a unibyte buffer,\r
+       convert C to multibyte before checking the syntax.\r
+\r
+       * lisp.h (unibyte_char_to_multibyte): Delete extern.\r
+\r
+       * minibuf.c (Fminibuffer_complete_word): Use the macro\r
+       FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.\r
+\r
+       * regex.h (struct re_pattern_buffer): New member target_multibyte.\r
+\r
+       * regex.c (RE_TARGET_MULTIBYTE_P): New macro.\r
+       (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte.  If\r
+       that is zero, convert an eight-bit char to multibyte.\r
+       (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for\r
+       non-emacs case.\r
+       (PATFETCH): Convert an eight-bit char to multibyte.\r
+       (HANDLE_UNIBYTE_RANGE): New macro.\r
+       (regex_compile): Setup the compiled pattern for multibyte chars\r
+       even if the given regex string is unibyte.  Use PATFETCH_RAW\r
+       instead of PATFETCH in many places.  To handle `charset'\r
+       specification of unibyte, call HANDLE_UNIBYTE_RANGE.  Use bitmap\r
+       only for ASCII chars.\r
+       (analyse_first) <exactn>: Simplify because the compiled pattern\r
+       is multibyte.\r
+       <charset_not>: Setup fastmap from bitmap only for ASCII chars.\r
+       <charset>: Use CHAR_LEADING_CODE to get leading codes.\r
+       <categoryspec>: If multibyte, setup fastmap only for ASCII chars here.\r
+       (re_compile_fastmap) [emacs]: Call analyse_first with the arg\r
+       multibyte always 1.\r
+       (re_search_2): In emacs, set the locale variable multibyte to 1,\r
+       otherwise to 0.  New local variable target_multibyte.  Check it\r
+       to decide the multibyteness of STR1 and STR2.  If\r
+       target_multibyte is zero, convert unibyte chars to multibyte\r
+       before translating and checking fastmap.\r
+       (TARGET_CHAR_AND_LENGTH): New macro.\r
+       (re_match_2_internal): In emacs, set the locale variable multibyte\r
+       to 1, otherwise to 0.  New local variable target_multibyte.  Check\r
+       it to decide the multibyteness of STR1 and STR2.  Use\r
+       TARGET_CHAR_AND_LENGTH to fetch a character from D.\r
+       <charset, charset_not>: If multibyte is nonzero, check fastmap\r
+       only for ASCII chars.  Call bcmp_translate with\r
+       target_multibyte, not with multibyte.\r
+       <begline>: Declare the local variable C as `unsigned'.\r
+       (bcmp_translate): Change the last arg name to target_multibyte.\r
+\r
+       * search.c (compile_pattern_1): Don't adjust the multibyteness of\r
+       the regexp pattern and the matching target.  Set cp->buf.multibyte\r
+       to the multibyteness of the regexp pattern.  Set\r
+       cp->but.target_multibyte to the multibyteness of the matching target.\r
+       (wordify): Use FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE instead of\r
+       FETCH_STRING_CHAR_ADVANCE.\r
+       (Freplace_match): Convert unibyte chars to multibyte.\r
+\r
+       * syntax.c (char_quoted, back_comment, scan_words)\r
+       (Fforward_comment, scan_lists, Fbackward_prefix_chars)\r
+       (scan_sexps_forward): Use FETCH_CHAR_AS_MULTIBYTE to convert\r
+       unibyte chars to multibyte.\r
+       (skip_chars): Delete the arg syntaxp, and move the code for\r
+       handling syntaxes to skip_syntaxes.  Change callers.\r
+       Fix the case that the multibyteness of STRING and the current\r
+       buffer doesn't match.\r
+       (skip_syntaxes): New function.\r
+       (SYNTAX_WITH_MULTIBYTE_CHECK): Check C by ASCII_CHAR_P, not by\r
+       SINGLE_BYTE_CHAR_P.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xfaces.c (QCfontset): New variable.\r
+       (LFACE_FONTSET): New macro.\r
+       (check_lface_attrs): Check also LFACE_FONTSET_INDEX.\r
+       (set_lface_from_font_name): Setup LFACE_FONTSET (lface).\r
+       (Finternal_set_lisp_face_attribute)\r
+       (Finternal_get_lisp_face_attribute): Handle QCfontset.\r
+       (lface_same_font_attributes_p): Fix checking of LFACE_FONT_INDEX,\r
+       check also LFACE_FONTSET_INDEX.\r
+       (face_fontset): Check attrs[LFACE_FONTSET_INDEX], not\r
+       attrs[LFACE_FONT_INDEX].\r
+       (syms_of_xfaces): Intern and staticpro QCfontset.\r
+\r
+       * dispextern.h (enum lface_attribute_index): New member\r
+       LFACE_FONTSET_INDEX.\r
+\r
+       * fns.c (base64_encode_1): Handle eight-bit chars correctly.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (coding_set_destination): Fix coding->destination for\r
+       the case converting a region.\r
+       (encode_coding_utf_8): Encode eight-bit chars as single byte.\r
+       (encode_coding_object): Fix coding->dst_pos and\r
+       coding->dst_pos_byte for the case converting a region.\r
+\r
+       * insdel.c (insert_from_gap): Make it work even if PT != GTP.\r
+\r
+       * character.h (BYTE8_STRING): New macro.\r
+\r
+       * fns.c (base64_decode_1): Insert eight-bit chars correctly.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xdisp.c (get_next_display_element): Don't display unibyte 8-bit\r
+       characters by octal form.\r
+\r
+       * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.\r
+\r
+       * buffer.h (_fetch_multibyte_char_len): Delete extern.\r
+       (FETCH_MULTIBYTE_CHAR, BUF_FETCH_MULTIBYTE_CHAR): Don't use\r
+       _fetch_multibyte_char_len.\r
+       (FETCH_CHAR_AS_MULTIBYTE): New macro.\r
+\r
+       * casetab.c (set_canon, set_identity, shuffle): Simplify.\r
+\r
+       * casefiddle.c (casify_object): Simplify.  Handle the case that\r
+       the case conversion change the byte length.\r
+       (casify_region): Likewise.\r
+\r
+       * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.\r
+\r
+       * character.c (_fetch_multibyte_char_len): Delete this variable.\r
+       (syms_of_character): Setup Vprintable_chars.\r
+\r
+       * editfns.c (Fchar_equal): Fix for the unibyte case.\r
+       (Finsert_byte): New function.\r
+       (syms_of_editfns): Defsubr it.\r
+\r
+       * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead\r
+       of direct code 0x3ffff.\r
+\r
+       * search.c (Freplace_match): Fix for the unibyte case.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * lread.c (safe_to_load_p): Fix the logic.\r
+\r
+       * syntax.c (scan_words): Don't treat characters belonging to\r
+       different scripts as constituting a word.\r
+\r
+       * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.\r
+\r
+       * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.\r
+\r
+       * emacs.c (main): In the case of --unibyte, instead of aborting on\r
+       finding non-empty buffer, make it unibyte.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'\r
+       to create a fontset.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * character.c (Funibyte_char_to_multibyte): Doc fix.\r
+\r
+       * xfns.c [HAVE_STDLIB_H]: Fix last change.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fontset.c (fontset_add): Make the type `int'.\r
+       (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.\r
+\r
+       * character.c (unibyte_char_to_multibyte)\r
+       (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to\r
+       charset_unibyte, not charset_primary.\r
+\r
+       * charset.h (charset_unibyte): Extern it instead of charset_primary.\r
+\r
+       * charset.c (charset_unibyte): Rename from charset_primary.\r
+       (Funibyte_charset): Rename from Fprimary_charset.\r
+       (Fset_unibyte_charset): Rename from Fset_primary_charset.\r
+       (syms_of_charset): Adjust for the above changes.\r
+\r
+       * w32term.c (x_produce_glyphs): Use ASCII_CHAR_P, not\r
+       SINGLE_BYTE_CHAR_P.  Fix the logic of handling non-ASCII char when\r
+       it->multibyte_p is zero.\r
+\r
+       * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):\r
+       Delete extern.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (Fdefine_coding_system_internal): Fix category setting\r
+       for a coding system of type iso-2022.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * syntax.c (Vnext_word_boundary_function_table): New variable.\r
+       (next-word-boundary-function-table): Declare it as a Lisp variable\r
+       in syms_of_syntax.\r
+       (scan_words): Call functions in Vnext_word_boundary_function_table\r
+       if any.\r
+\r
+       * xterm.c (x_load_font): Initialize fontp->fontset to -1.\r
+\r
+       * fontset.c (fs_load_font): If fontp->charset is not negative,\r
+       return fontp without setting its members.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).\r
+\r
+       * m/sparc.h (HAVE_ALLOCA): Delete.\r
+\r
+       * s/irix6-5.h: Don't include strings.h.\r
+       (bcopy, bzero, bcmp): Don't undef.\r
+\r
+       * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.\r
+\r
+       * s/usg5-4.h (NO_SIOCTL_H): Don't define.\r
+       (TIOCSIGSEND): Don't test IRIX6.\r
+       (bcopy, bzero, bcmp): Define conditionally.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * buffer.c (Qas, Qmake, Qto): New variables.\r
+       (Fset_buffer_multibyte): New optional arg METHOD.  Change caller.\r
+       (syms_of_buffer): Intern and staticpro Qas, Qmake, and Qto.\r
+\r
+       * callproc.c (Fcall_process): Don't call insert_1_both directly if\r
+       we are inserting a process output into a multibyte buffer.\r
+\r
+       * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call\r
+       multibyte_char_to_unibyte.\r
+\r
+       * character.c (Funibyte_char_to_multibyte): If C can't be decoded\r
+       by the primary charset, make it eight-bit char.\r
+       (Fmultibyte_char_to_unibyte): Call CHAR_TO_BYTE8.\r
+\r
+       * charset.c (charset_eight_bit, Qeight_bit_control): New variables.\r
+       (charset_8_bit__control, charset_8_bit_graphic)\r
+       (Qeight_bit_control, Qeight_bit_graphic): Delete these variables.\r
+       (define_charset_internal): New function.\r
+       (syms_of_charset): Call define_charset_internal for pre-defined\r
+       charsets.\r
+\r
+       * charset.h (charset_8_bit): Extern it.\r
+\r
+       * coding.c (make_conversion_work_buffer): Adjust for the change\r
+       of Fset_buffer_multibyte.\r
+       (encode_coding_raw_text): Increment p0 in the loop.\r
+\r
+       * lisp.h (Fset_buffer_multibyte): Adjust prototype.\r
+\r
+       * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust\r
+       for the change of Fset_buffer_multibyte.\r
+\r
+       * fns.c (Fstring_to_multibyte): New function.\r
+       (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * xfns.c (x_put_x_image): Declare args.\r
+\r
+       * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.\r
+       (try_font_list): Declare an arg.\r
+\r
+       * xdisp.c (message2_nolog, set_message): Declare an arg.\r
+\r
+       * terminfo.c (tparam): Declare an arg.  Use P_ to declare tparm.\r
+\r
+       * syntax.c (scan_sexps_forward): Declare an arg.\r
+\r
+       * scroll.c (calculate_scrolling, calculate_direct_scrolling):\r
+       Declare an arg.\r
+\r
+       * lisp.h (Fnew_fontset): Declare.\r
+\r
+       * keymap.c (push_key_description): Call CHARACTERP correctly.\r
+\r
+       * fontset.c (fontset_add): Declare args.  Call make_number correctly.\r
+       (face_for_char): Delete unused vars.\r
+       (Fset_fontset_font): Doc fix.  Delete unused vars.\r
+\r
+       * doc.c (Fsubstitute_command_keys): Delete unused vars.\r
+\r
+       * composite.c (update_compositions): Declare arg.\r
+\r
+       * cm.c (calccost, cmgoto): Declare args.\r
+\r
+       * charset.c: Remove `emacs' conditional.  Doc fixes.\r
+       (map_char_table_for_charset): Declare.\r
+\r
+       * character.c (syms_of_character) <translation-table-vector>: Doc fix.\r
+\r
+       * ccl.c: Remove `emacs' conditional.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       The following changes are to allow specifying multiple font\r
+       patterns for a character range (specified by script or charset).\r
+\r
+       * Makefile.in (abbrev.o): Depend on syntax.h.\r
+       (xfaces.o): Depend on charset.h.\r
+\r
+       * alloc.c (Fmake_string): Use ASCII_CHAR_P, not\r
+       SINGLE_BYTE_CHAR_P.\r
+\r
+       * ccl.c (Fccl_execute_on_string): Add `const' to local variables.\r
+\r
+       * character.h (Vchar_script_table): Extern it.\r
+\r
+       * character.c (Vscript_alist): Delete.\r
+       (Vchar_script_table, Qchar_script_table): New variable.\r
+       (syms_of_character): Declare Vchar_script_table as a lisp variable\r
+       and initialize it.\r
+\r
+       * chartab.c (Fmake_char_table): Doc fix.  If PURPOSE doesn't\r
+       have property char-table-extra-slots, make no extra slot.\r
+\r
+       * dispextern.h (struct face): Delete member `charset'.\r
+       (FACE_SUITABLE_FOR_CHAR_P, FACE_FOR): Use ASCII_CHAR_P, not\r
+       SINGLE_BYTE_CHAR_P.\r
+       (choose_face_font, lookup_non_ascii_face, font_name_registry):\r
+       Add prototypes.\r
+       (lookup_face, lookup_named_face, lookup_derived_face): Fix prototype.\r
+       (generate_ascii_font_name): Rename from generate_ascii_font.\r
+\r
+       * fontset.h (get_font_repertory_func): New prototype.\r
+       (make_fontset_for_ascii_face, fs_load_font): Fix prototypes.\r
+       (FS_LOAD_FONT): Call fs_load_font with the 3rd arg charset_ascii.\r
+\r
+       * fontset.c (Qprepend, Qappend): New variables.\r
+       (FONTSET_CHARSET_ALIST, FONTSET_FACE_ALIST): Delete.\r
+       (FONTSET_NOFONT_FACE, FONTSET_REPERTORY): New macros.\r
+       (FONTSET_REF): Optimize if FONTSET is Vdefault_fontset.\r
+       (FONTSET_REF_AND_RANGE, FONTSET_ADD): New macros.\r
+       (fontset_ref_and_range, fontset_add, reorder_font_vector)\r
+       (load_font_get_repertory): New functions.\r
+       (fontset_set): Delete.\r
+       (fontset_face): New arg FACE.  Return face ID, not face.\r
+       Complete re-write to handle new fontset structure.  Change caller.\r
+       (free_face_fontset): Use ASET istead of AREF (X) = Y.\r
+       (face_for_char): Don't call lookup_face.\r
+       (make_fontset_for_ascii_face): New arg FACE.\r
+       (fs_load_font): New arg CHARSET_ID.  Don't check\r
+       Vfont_encoding_alist here.\r
+       (find_font_encoding): New function.\r
+       (list_fontsets): Use STRINGP, not ! NILP.\r
+       (accumulate_script_ranges): New function.\r
+       (Fset_fontset_font, Fnew_fontset, Ffontset_info): Completely\r
+       re-written to handle new fontset structure.\r
+       (Ffontset_font): Return a copy of element.\r
+       (syms_of_fontset): Define symbols Qprepend and Qappend.  Fix\r
+       docstring of font-encoding-alist.\r
+\r
+       * lisp.h (CHAR_TABLE_REF): Remove unnecessary check (IDX >= 0).\r
+       (Fset_fotset_font): Fix arguments to 5.\r
+\r
+       * msdos.c (XMenuActivate): Adjust for the change of lookup_derived_face.\r
+\r
+       * xdisp.c (message_dolog, set_message_1, extend_face_to_end_of_line):\r
+       Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.\r
+       (highlight_trailing_whitespace): Adjust for the change of\r
+       lookup_named_face.\r
+\r
+       * xfaces.c: Include charset.h.\r
+       (load_face_font): Delete argument C.  Change caller.\r
+       (generate_ascii_font_name): Rename from generate_ascii_font.\r
+       (font_name_registry): New function.\r
+       (cache_face): Store ascii faces before non-ascii faces in buckets.\r
+       (lookup_face): Delete arguments C and BASE_FACE.  Change caller.\r
+       Lookup only ascii faces.\r
+       (lookup_non_ascii_face): New function.\r
+       (lookup_named_face): Delete argument C.  Change caller.\r
+       (lookup_derived_face): Delete argument C.  Change caller.\r
+       (try_font_list): New arg PATTERN.  Change caller.  If PATTERN is\r
+       a string, just call font_list with it.\r
+       (choose_face_font): Delete arguments FACE and C.  New arg\r
+       FONT_SPEC.  Change caller.\r
+       (realize_face, realize_x_face): Delete arguments C and BASE_FACE.\r
+       Change caller.\r
+       (realize_non_ascii_face): New function.\r
+       (realize_x_face): Call load_face_font here.\r
+       (realize_tty_face): Delete argument C.  Change caller.\r
+       (compute_char_face): If CH is not ascii, call FACE_FOR_CHAR to\r
+       get a face ID.\r
+       (dump_realized_face): Don't print charset of FACE.\r
+\r
+       * xfns.c (x_set_font): Always call x_new_fontset and\r
+       store_frame_parameter.\r
+       (Fx_create_frame): Call x_new_fontset, not x_new_font.\r
+       (syms_of_xfns): Set get_font_repertory_func to x_get_font_repertory.\r
+\r
+       * xterm.h (x_get_font_repertory): Extern it.\r
+\r
+       * xterm.c (x_produce_glyphs): Use ASCII_CHAR_P, not\r
+       SINGLE_BYTE_CHAR_P.  Fix the logic of handling non-ASCII char when\r
+       it->multibyte_p is zero.\r
+       (XTread_socket): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.\r
+       (x_new_fontset): If FONTSETNAME doesn't match any existing\r
+       fontsets, create a new one.\r
+       (x_get_font_repertory): New function.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (Ffind_coding_systems_region_internal): Detect an\r
+       ASCII only string correctly.\r
+\r
+       * lread.c (Fload): Don't load with Qload_force_doc_strings t if\r
+       version is 0.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * lread.c: Include "coding.h".\r
+       (Qget_emacs_mule_file_char, Qload_force_doc_strings)\r
+       (load_each_byte, unread_char): New variables.\r
+       (readchar_backlog): Delete.\r
+       (readchar): Return a character unless load_each_byte is nonzero.\r
+       Handle the case that readcharfun is Qget_emacs_mule_file_char or a\r
+       cons.  If unread_char is not -1, simply return it.\r
+       (unreadchar): Handle the case that readcharfun is\r
+       Qget_emacs_mule_file_char or a cons.  Set unread_char if necessary.\r
+       (read_multibyte): Delete.\r
+       (readbyte_for_lambda, readbyte_from_file, readbyte_from_string)\r
+       (read_emacs_mule_char): New functions.\r
+       (Fload): Even if the file doesn't have the extension ".elc", if\r
+       safe_to_load_p returns a positive version number, assume that the\r
+       file contains bytecompiled code.  If the version is less than 22,\r
+       load the file while decoding multibyte sequences by emacs-mule.\r
+       (readevalloop): Don't use readchar_backlog.\r
+       (Fread): Likewise.  Pay attention to the case that STREAM is a cons.\r
+       (Fread_from_string): Pay attention to the case that STREAM is a cons.\r
+       (read_escape): Delete the arg BYTEREP.\r
+       (read1): Set load_each_byte to 1 temporarily while handling\r
+       #@NUMBER.  Don't call read_multibyte.\r
+       (read_vector): Call Fread with a cons.  If readcharfun is\r
+       Qget_emacs_mule_file_char, decode the read string by emacs-mule.\r
+       (read_list): If doc_reference is 2, make the cdr part string as unibyte.\r
+       (syms_of_lread): Intern and staticpro Qget_emacs_mule_file_char\r
+       and Qload_force_doc_strings.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xdisp.c (face_before_or_after_it_pos): Call\r
+       FETCH_MULTIBYTE_CHAR with byte postion, not char position.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * character.h (TRAILING_CODE_P): New macro.\r
+       (MAYBE_UNIFY_CHAR): Adjust for the change of Funify_charset.\r
+       (string_char_with_unification): Fix prototype.\r
+       (Vscript_alist): Extern it.\r
+\r
+       * character.c (Vscript_alist): New variable.\r
+       (string_char_with_unification, str_as_unibyte)\r
+       (string_escape_byte8): Add `const' to local variables.\r
+       (syms_of_character): Declare script-alist as a Lisp variable.\r
+\r
+       * charset.h (Vcharset_ordered_list): Extern it.\r
+       (charset_ordered_list_tick): Extern it.\r
+       (EMACS_MULE_LEADING_CODE_PRIVATE_11)\r
+       (EMACS_MULE_LEADING_CODE_PRIVATE_12)\r
+       (EMACS_MULE_LEADING_CODE_PRIVATE_21)\r
+       (EMACS_MULE_LEADING_CODE_PRIVATE_22): New macros.\r
+       (Funify_charset): Adjust for the change of Funify_charset.\r
+\r
+       * charset.c (charset_ordered_list_tick): New variable.\r
+       (Fdefine_charset_internal): Increment charset_ordered_list_tick.\r
+       (Funify_charset): New optional arg DEUNIFY.  If it is non-nil,\r
+       deunify intead of unify a charset.\r
+       (string_xstring_p): Add `const' to local variables.\r
+       (find_charsets_in_text): Add `const' to arguments and local variables.\r
+       (encode_char): Adjust for the change of Funify_charset.  Fix\r
+       detecting of invalid code.\r
+       (Fset_charset_priority): Increment charset_ordered_list_tick.\r
+       (Fmap_charset_chars): Fix handling of default value for FROM_CODE\r
+       and TO_CODE.\r
+\r
+       * coding.c (LEADING_CODE_PRIVATE_11, LEADING_CODE_PRIVATE_12)\r
+       (LEADING_CODE_PRIVATE_21, LEADING_CODE_PRIVATE_22): Delete macros.\r
+       Changed callers to use EMACS_MULE_LEADING_CODE_PRIVATE_11, etc.\r
+       (decode_coding_ccl, consume_chars)\r
+       (Ffind_coding_systems_region_internal)\r
+       (Fcheck_coding_systems_region): Add `const' to local variables.\r
+\r
+       * print.c (print_object): Use octal form for printing the\r
+       contents of a bool vector.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * lread.c (Fload) <!load_dangerous_libraries>: Don't leak fd.\r
+       <version == 20>: Refuse to load.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * fns.c: Move coding.h.\r
+       (Qcodeset, Qdays, Qmonths): New.\r
+       (concat): Use CHARACTERP instead of INTEGERP.\r
+       (Flocale_codeset): Delete.\r
+       (Flanginfo): New function.\r
+       (syms_of_fns): Change accordingly.\r
+\r
+       * coding.c (adjust_coding_eol_type): Fix eol_type/eol_seen mixup.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * casetab.c (init_casetab_once, init_casetab_once): Fix\r
+       CHAR_TABLE_SET call.\r
+\r
+       * category.c (Fmodify_category_entry): Fix CATEGORY_MEMBER call.\r
+\r
+       * character.c (syms_of_character): Fix CHAR_TABLE_SET call.\r
+\r
+       * charset.c (Fmap_charset_chars): Check args.  Convert Lisp types.\r
+       (load_charset_map, Fdeclare_equiv_charset, Fencode_char)\r
+       (Fset_charset_priority, syms_of_charset): Convert Lisp types.\r
+\r
+       * charset.h (CHECK_CHARSET_GET_ID): Use XINT on AREF result.\r
+\r
+       * coding.c (ENCODE_DESIGNATION, decode_eol)\r
+       (make_conversion_work_buffer, code_conversion_restore)\r
+       (Fdefine_coding_system_internal): Convert Lisp types.\r
+       (code_conversion_restore): Use EQ, not ==.\r
+       (Fencode_coding_string): Fix code_convert_string call.\r
+\r
+       * coding.h (code_convert_region): Fix prototype.\r
+\r
+       * dispextern.h (redraw_frame, redraw_garbaged_frames): Remove.\r
+\r
+       * fontset.c (fontset_ref, fontset_set, fs_load_font)\r
+       (Ffontset_info): Convert Lisp types.\r
+\r
+       * syntax.h (SYNTAX_ENTRY_INT): Don't use make_number.\r
+\r
+       * xterm.c (note_mouse_movement): Fix call of window_from_coordinates.\r
+\r
+       * xdisp.c (display_mode_element): Fix call of Fset_text_properties.\r
+\r
+       * chartab.c: Include "...h", not <...h> in some cases.\r
+\r
+       * callproc.c (Fcall_process): Remove unused variables.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * coding.c (Fset_coding_system_priority): Allow null arg list.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * minibuf.c (Fminibuffer_complete_word): Remove unused var.\r
+       (Fself_insert_and_exit): Use CHARACTERP.\r
+\r
+       * callproc.c (Fcall_process): Remove unused vars.\r
+\r
+       * xterm.c (XTread_socket): Add extra dead keysyms.\r
+\r
+       * xdisp.c (decode_mode_spec_coding): Use CHARACTERP.\r
+\r
+       * dispextern.h: Remove prototypes for redraw_frame,\r
+       redraw_garbaged_frames.\r
+\r
+       * cmds.c (Fself_insert_command): Use CHARACTERP.\r
+\r
+       * chartab.c (make_sub_char_table): Remove unused var.\r
+       (Fset_char_table_default, Fmap_char_table): Doc fix.\r
+\r
+       * keymap.c (access_keymap): Remove generic char code.\r
+       (push_key_description): Use CHARACTERP.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * charset.c: Doc fixes.\r
+       (Funify_charset): Extra checking.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * lread.c: Remove some unused variables.\r
+       (safe_to_load_p): If safe, return the magic number version byte.\r
+       (Fload): Maybe use load-with-code-conversion.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * category.c (Fmodify_category_entry): Don't modify the contents\r
+       of category_set for characters out of the range.  Avoid\r
+       unnecessary modification.\r
+\r
+       * character.h (MAYBE_UNIFY_CHAR): Adjust for the change of\r
+       Vchar_unify_table.  The default value of the table is now nil.\r
+\r
+       * character.c (syms_of_character): Setup Vchar_width_table for\r
+       eight-bit-control and raw-byte chars.\r
+\r
+       * charset.h (enum define_charset_arg_index): Delete\r
+       charset_arg_parents and add charset_arg_subset and\r
+       charset_arg_superset.\r
+       (enum charset_attr_index): Delete charset_parents and add\r
+       charset_subset and charset_superset.\r
+       (enum charset_method): Delete CHARSET_METHOD_INHERIT and add\r
+       CHARSET_METHOD_SUBSET and CHARSET_METHOD_SUPERSET.\r
+       (CHARSET_ATTR_PARENTS, CHARSET_PARENTS): Delete.\r
+       (CHARSET_ATTR_SUBSET, CHARSET_ATTR_SUPERSET, CHARSET_SUBSET)\r
+       (CHARSET_SUPERSET): New macros.\r
+       (charset_work): Extern it.\r
+       (ENCODE_CHAR): Use charset_work.\r
+       (CHAR_CHARSET_P): Adjust for the change of encoder format.\r
+       (map_charset_chars): Extern it.\r
+\r
+       * charset.c (load_charset_map): Set the default value of encoder\r
+       and deunifier char-tables to nil.\r
+       (map_charset_chars): Change argument.  Change callers.  Use\r
+       map_char_table_for_charset instead of map_char_table.\r
+       (Fmap_charset_chars): New optional args from_code and to_code.\r
+       (Fdefine_charset_internal): Adjust for the change of\r
+       `define-charset' (:parents -> :subset or :superset).\r
+       (charset_work): New variable.\r
+       (encode_char, syms_of_charset): Adjust for the change of\r
+       Fdefine_charset_internal.\r
+       (Ffind_charset_string): Setup the vector `charsets' correctly.\r
+\r
+       * chartab.c (sub_char_table_ref_and_range): New arg default.  Fix\r
+       the previous change.\r
+       (char_table_ref_and_range): Adjust for the above change.\r
+       (map_sub_char_table_for_charset): New function.\r
+       (map_char_table_for_charset): New function.\r
+\r
+       * keymap.c (describe_vector): Handle a char-table directly here.\r
+       (describe_char_table): Delete.\r
+\r
+       * lisp.h (map_charset_chars): Delete.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * fns.c (count_combining): Comment out (unused).\r
+       (Flocale_codeset): New.\r
+       (syms_of_fns): Defsubr it.\r
+\r
+       * config.in (HAVE_PTY_H, HAVE_SIZE_T, HAVE_LANGINFO_CODESET): New.\r
+       (size_t): Remove.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * Makefile.in (chartab.o): Depend on charset.h.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * character.c (syms_of_character): Set the default value of\r
+       Vprintable_chars to Qnil.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * Makefile.in (lisp, shortlisp): Change indian.elc to indian.el.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * charset.c (load_charset_map): Handle the case that from < to\r
+       correctly.\r
+\r
+       * coding.c (encode_coding_emacs_mule, encode_coding_iso_2022)\r
+       (encode_coding_sjis, encode_coding_big5, encode_coding_charset):\r
+       Pay attention to raw-8-bit chars.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * Makefile.in (lisp, shortlisp): Change chinese.elc to chinese.el.\r
+       It is not bytecompiled now.\r
+\r
+       * charset.c (charset_jisx0201_roman, charset_jisx0208_1978)\r
+       (charset_jisx0208): New variables.\r
+       (Fdefine_charset_internal): Setup them if appropriate.\r
+       (init_charset_once): Initialize them to -1.\r
+\r
+       * charset.h (charset_jisx0201_roman, charset_jisx0208_1978)\r
+       (charset_jisx0208): Extern them.\r
+\r
+       * coding.c (CODING_ISO_FLAG_USE_ROMAN): New macro.\r
+       (CODING_ISO_FLAG_USE_OLDJIS): New macro.\r
+       (CODING_ISO_FLAG_FULL_SUPPORT): Change macro definition.\r
+       (setup_iso_safe_charsets): Fix arguments to Fassq.\r
+       (DECODE_DESIGNATION, ENCODE_ISO_CHARACTER_DIMENSION1)\r
+       (ENCODE_ISO_CHARACTER_DIMENSION2): Pay attention to\r
+       CODING_ISO_FLAG_USE_ROMAN and CODING_ISO_FLAG_USE_OLDJIS.\r
+       (encode_coding_iso_2022): Change the 1st arg to\r
+       ENCODE_ISO_CHARACTER to a variable.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * charset.h (enum define_charset_arg_index): New enums\r
+       charset_arg_min_code and charset_arg_max_code.\r
+       (struct charset): New member char_index_offset.\r
+\r
+       * charset.c (CODE_POINT_TO_INDEX, INDEX_TO_CODE_POINT):\r
+       Take charset->char_index_offset into account.\r
+       (Fdefine_charset_internal): Handle args[charset_arg_min_code] and\r
+       args[charset_arg_max_code].  Setup charset.char_index_offset.\r
+       (syms_of_charset): Fix args to Fdefine_charset_internal.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * coding.c (decode_coding_utf_8): Reject overlong sequences.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * coding.c: Doc fixes.\r
+       (Fcoding_system_aliases): Fix return value.\r
+       (Qmac): Remove (duplicated) definition.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * charset.c (Fcharset_priority_list, Fset_charset_priority): New\r
+       functions.\r
+\r
+       * character.c (Fstring): Doc fix.\r
+\r
+       * charset.c (Fdefine_charset_alias): Update Vcharset_list.\r
+\r
+       * fontset.c (Ffontset_info): Doc fix.  Return charset names, not\r
+       ids.\r
+       (font-encoding-alist): Doc fix.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * term.c (costs_set): Declare static, non-initialized for pcc.\r
+       (encode_terminal_code): Remove unused var.\r
+\r
+       * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal decl\r
+       for K&R.\r
+\r
+       * xterm.c (xlwmenu_window_p): Fix prototype for K&R.\r
+\r
+       * coding.c (setup_iso_safe_charsets): Fix arg decl for K&R.\r
+       (suffixes): Move out of make_subsidiaries for K&R.\r
+\r
+       * charset.c (map_charset_chars): Fix c_function declaration for K&R.\r
+\r
+       * lisp.h (DEFUN) [!PROTOTYPES]: Remove spurious `args'.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * data.c (Fchar_or_string_p): Doc fix.  Use CHARACTERP.\r
+\r
+       * category.c (Fmodify_category_entry): Doc fix.  Remove unused vars.\r
+\r
+2008-02-01  Yong Lu  <lyongu@asia-infonet.com>\r
+\r
+       * charset.c (Fdefine_charset_internal): Fix argument to bzero.\r
+\r
+       * coding.c (decode_coding_charset): Workaround for the bug of GCC 2.96.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * Makefile.in (lisp, shortlisp): Change cyrillic.elc to cyrillic.el,\r
+       vietnamese.elc to vietnamese.el.  They are not bytecompiled now.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (decode_coding_charset): Adjust for the change of\r
+       Fdefine_coding_system_internal.\r
+       (Fdefine_coding_system_internal): For a coding system of\r
+       `charset' type, store a list of charset IDs in\r
+       `charset_attr_charset_valids' element of coding attributes.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.\r
+       (emacs_mule_char): New arg src.  Delete arg `composition'.  Change\r
+       caller.  Handle 2-byte and 3-byte charsets correctly.\r
+       (DECODE_EMACS_MULE_COMPOSITION_RULE_20): Rename from\r
+       DECODE_EMACS_MULE_COMPOSITION_RULE.  Change caller.\r
+       (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New macro.\r
+       (DECODE_EMACS_MULE_21_COMPOSITION): Call\r
+       DECODE_EMACS_MULE_COMPOSITION_RULE_21.  Produce correct annotation\r
+       sequence.\r
+       (decode_coding_emacs_mule): Handle composition correctly.  Rewind\r
+       `src' and `consumed_chars' correctly before calling emacs_mule_char.\r
+       (DECODE_COMPOSITION_START): Correctly handle the case of altchar\r
+       and alt&rule composition.\r
+       (decode_coding_iso_2022): Handle composition correctly.\r
+       (init_coding_once): Setup emacs_mule_bytes for private charsets.\r
+\r
+       * charset.c (Fdefine_charset_internal): Fix bug for the case of\r
+       re-defining a charset.  If the charset has :emacs-mule-id, setup\r
+       emacs_mule_bytes.\r
+       (Fmake_char): If CODE1 is nil, use the minimum code of the charset.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (encode_coding_iso_2022, encode_coding_sjis)\r
+       (encode_coding_big5, encode_coding_charset): If coding requires safe\r
+       encoding, produce a character specified by\r
+       CODING_INHIBIT_CHARACTER_SUBSTITUTION.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * xterm.c (XSetIMValues): Declare.\r
+\r
+       * process.c: Conditionally include sys/wait.h, pty.h.\r
+\r
+       * print.c (print_object): Fix print format for 64-bit systems.\r
+\r
+       * keyboard.c (modify_event_symbol): Fix print format for 64-bit systems.\r
+\r
+       * buffer.c (emacs_strerror): Declare.\r
+\r
+       * fontset.c (Fclear_face_cache): Declare.\r
+       (accumulate_font_info): Comment-out (unused).\r
+       (face_for_char, Fset_fontset_font, Ffontset_info): Remove unused\r
+       variables.\r
+\r
+       * character.h (string_escape_byte8): Declare.\r
+\r
+       * charset.c (load_charset_map, load_charset_map_from_file): Remove\r
+       unused vars.\r
+       (Fdefine_charset_internal, Fsplit_char, syms_of_charset)\r
+       (Fmap_charset_chars): Doc fix.\r
+\r
+       * coding.c (Vchar_coding_system_table, Qchar_coding_system): Remove.\r
+       (Fset_coding_system_priority, Fset_coding_system_priority)\r
+       (Fdefine_coding_system_internal): Doc fix.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Remove -nointrinsics.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * character.c (string_escape_byte8): Make multibyte string with\r
+       correct size.\r
+\r
+       * charset.c (Fmake_char): Delete unnecessary code.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xfns.c (x_encode_text): Allocate coding.destination here, and\r
+       call encode_coding_object with dst_object Qnil.\r
+\r
+       * buffer.c (Fset_buffer_multibyte): Convert 8-bit bytes to\r
+       multibyte form correctly.\r
+\r
+       * fontset.c (fs_load_font): Check fontp->full_name (not fontname)\r
+       against Vfont_encoding_alist.\r
+\r
+       * coding.c (Fdecode_sjis_char): Fix typo (0x7F->0xFF).  Fix the\r
+       handling of charset list.\r
+       (encode_coding_iso_2022): Setup coding->safe_charsets in advance.\r
+       (decode_coding_object): Move point to coding->dst_pos before\r
+       calling post-read-conversion function.\r
+       (encode_coding_object): Give correct arguments to\r
+       pre-write-conversion.  Ignore the return value of\r
+       pre-write-conversion function.  Pay attention to the case that\r
+       pre-write-conversion changes the current buffer.  If dst_object is\r
+       Qt, even if coding->src_bytes is zero, allocate at least one byte\r
+       to coding->destination.\r
+\r
+       * coding.h (JIS_TO_SJIS): Fix typo (j1->s1, j2->s2).\r
+\r
+       * charset.c (Fmake_char): Make it more backward compatible.\r
+       (Fmap_charset_chars): Fix docstring.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * coding.c: Doc fixes.\r
+       (Fdefine_coding_system_alias): Use names, not symbols, in\r
+       coding-system-alist.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fontset.c (free_realized_fontsets): Call Fclear_face_cache instead\r
+       of calling free_realized_face.\r
+\r
+2008-02-01  Yong Lu  <lyongu@asia-infonet.com>\r
+\r
+       * charset.c (read_hex): Don't treat SPC as a comment starter.\r
+       (decode_char): If CODE_POINT_TO_INDEX returns -1, always return -1.\r
+       (Fdecode_char): Fix typo.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * charset.h (struct charset): New member `code_space_mask'.\r
+\r
+       * coding.c (coding_set_source): Delete the local variable beg_byte.\r
+       (encode_coding_charset, Fdefine_coding_system_internal):\r
+       Delete the local variable charset.\r
+       (Fdefine_coding_system_internal): Setup\r
+       attrs[coding_attr_charset_valids] correctly.\r
+\r
+       * charset.c (CODE_POINT_TO_INDEX): Utilize `code_space_mask'\r
+       member to check if CODE is valid or not.\r
+       (Fdefine_charset_internal): Initialize `code_space_mask' member.\r
+       (encode_char): Before calling CODE_POINT_TO_INDEX, check if CODE\r
+       is within the range of charset->min_code and carset->max_code.\r
+\r
+2008-02-01  Dave Love  <fx@gnu.org>\r
+\r
+       * syntax.h (syntax_temp) [!__GNUC__]: Declare.\r
+\r
+       * dispextern.h (generate_ascii_font): Fix return type.\r
+\r
+       * xfaces.c (generate_ascii_font): Fix arg declaration.\r
+\r
+       * coding.c (coding_inherit_eol_type)\r
+       (Fset_terminal_coding_system_internal)\r
+       (Fset_safe_terminal_coding_system_internal): Fix arg declarations.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (decode_coding_charset, encode_coding_charset): Handle\r
+       multiple charsets correctly.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * search.c (boyer_moore): Fix handling of multibyte character\r
+       translation.\r
+\r
+       * xdisp.c (display_mode_element): When the variable `elt' is\r
+       changed, update `this' and `lisp_string'.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * buffer.c (Fset_buffer_multibyte): Fix 8-bit char handling.\r
+\r
+       * callproc.c (Fcall_process): Be sure to give the current buffer\r
+       to decode_coding_c_string.  Update PT and PT_BYTE after the insertion.\r
+\r
+       * charset.c (struct charset_map_entries): New struct.\r
+       (load_charset_map): Rename from parse_charset_map.  New args\r
+       entries and n_entries.  Change caller.\r
+       (load_charset_map_from_file): Rename from load_charset_map.\r
+       Change caller.  New arg control_flag.  Call load_charset_map at\r
+       the tail.\r
+       (load_charset_map_from_vector): New function.\r
+       (Fdefine_charset_internal): Setup charset.compact_codes_p.\r
+       (encode_char): If the charset is compact, change a character index\r
+       to a code point.\r
+\r
+       * coding.c (coding_alloc_by_making_gap): Check the case that the\r
+       source and destination are the same correctly.\r
+       (decode_coding_raw_text): Set coding->consumed_char and\r
+       coding->consumed to 0.\r
+       (produce_chars): If coding->chars_at_source is nonzero, update\r
+       coding->consumed_char and coding->consumed before calling\r
+       alloc_destination.\r
+       (Fdefine_coding_system_alias): Register ALIAS in\r
+       Vcoding_system_alist.\r
+       (syms_of_coding): Define `no-conversion' coding system at the tail.\r
+\r
+       * fileio.c (Finsert_file_contents): Set coding_system instead of\r
+       val.  If the current buffer is multibyte, always call\r
+       decode_coding_gap.\r
+\r
+       * xfaces.c (try_font_list): Give higher priority to fontset's\r
+       family than face's family.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * callproc.c (Fcall_process): Be sure to give the current buffer\r
+       to decode_coding_c_string.\r
+\r
+       * xfaces.c (try_font_list): Give a family specified in a fontset\r
+       higher priority than a family specified in a face.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * fileio.c (Finsert_file_contents): Fix calculation of `inserted'.\r
+       Fix arguments to insert_from_buffer.\r
+\r
+       * xdisp.c (display_mode_element): Fix calculation of `bytepos'.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (produce_chars): Set the variable `multibytep' correctly.\r
+       (decode_coding_gap): Set coding->dst_multibyte correctly.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (encode_coding_utf_8): Initialize produced_chars to 0.\r
+       (decode_coding_utf_16): Fix converting high and low bytes to code-point.\r
+       (encode_coding_utf_16): Substitute coding->default_char for\r
+       non-Unicode characters.\r
+       (decode_coding): Don't call record_insert here.\r
+       (setup_coding_system): Initialize `surrogate' of\r
+       coding->spec.utf_16 to 0.\r
+       (EMIT_ONE_BYTE): Fix for multibyte case.\r
+\r
+       * insdel.c (insert_from_gap): Call record_insert.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * casefiddle.c (casify_region): Fix multibyte case.\r
+\r
+       * character.c (c_string_width): Add return type `int'.\r
+       (char_string_with_unification): Delete arg ADVANCED.\r
+\r
+       * character.h (CHAR_VALID_P): Don't call CHARACTERP.\r
+       (CHAR_STRING): Adjust for the change of char_string_with_unification.\r
+       (CHAR_STRING_ADVANCE): Make it do-while statement.\r
+\r
+       * chartab.c (sub_char_table_set_range): Optimize for the case\r
+       DEPTH == 3.  Add workaround code for a GCC optimization bug.\r
+\r
+       * charset.c (parse_charset_map): Remove an unused variable.\r
+\r
+       * coding.c: Delete unused variables.\r
+\r
+       * fileio.c (Finsert_file_contents): Set coding_system to Qnil\r
+       earlier.  If inserted is zero and the coding system doesn't\r
+       require flushing, don't call decode_coding_gap.\r
+\r
+       * syntax.h (SET_RAW_SYNTAX_ENTRY): Don't call make_number.\r
+\r
+2008-02-01  Kenichi Handa  <handa@m17n.org>\r
+\r
+       The following changes are for using Unicode as an internal\r
+       character model, and use UTF-8 format for buffer/string\r
+       representation.\r
+\r
+       * .gdbinit (xchartable): Adjust for the change of char table structure.\r
+       (xsubchartable, xcoding, xcharset, xcurbuf): New commands.\r
+\r
+       * Makefile.in (obj): Add character.o and chartab.o.\r
+       (lisp, shortlisp): Remove utf-8.elc.\r
+       (*.o): For many files, change dependency on charset.h to\r
+       character.h, and add dependency on character.h.\r
+       (character.o, chartab.o): New targets.\r
+\r
+       * abbrev.c, bytecode.c, casefiddle.c, cmds.c, dispnew.c, doc.c:\r
+       * doprnt.c, dosfns.c, frame.c, marker.c, minibuf.c, msdos.c:\r
+       * w16select.c, w32bdf.c, w32console.c: Include "character.h" instead\r
+       of "charset.h".\r
+\r
+       * dired.c, filelock.c: Include "character.h".\r
+\r
+       * alloc.c: Include "character.h" instead of "charset.h".\r
+       (Fmake_char_table, make_sub_char_table): Move to chartab.c.\r
+       (syms_of_alloc): Remove defsubr for Smake_char_table.\r
+\r
+       * buffer.c: Include "character.h" instead of "charset.h", don't\r
+       include "coding.h".\r
+       (Fset_buffer_multibyte): Adjust for UTF-8.\r
+\r
+       * buffer.h: EXFUN Fbuffer_live_p.\r
+\r
+       * callproc.c: Include "character.h" instead of "charset.h".\r
+       (Fcall_process): Big change for the new code-conversion APIs.\r
+\r
+       * casetab.c: Include "character.h" instead of "charset.h".\r
+       (set_canon, set_identity, shuffle): Adjust for the new\r
+       map_char_table spec.\r
+       (init_casetab_once): Call CHAR_TABLE_SET instead of directly\r
+       accessing the char table structure.\r
+\r
+       * chartab.c: New file that implements char table.\r
+\r
+       * category.c: Include "character.h".\r
+       (copy_category_entry): New function.\r
+       (copy_category_table): Call map_char_table and copy_category_entry.\r
+       (Fmake_category_table): Initialize all top-level slots.\r
+       (char_category_set): New function.\r
+       (modify_lower_category_set): Delete.\r
+       (Fmodify_category_entry): Call char_table_ref_and_range.\r
+\r
+       * category.h (CATEGORY_SET): Just call char_category_set.\r
+\r
+       * ccl.c: Include "character.h".\r
+       (Qccl, Qcclp): New variables.\r
+       (CCL_WRITE_CHAR): Alway treat the arg CH as a character even if\r
+       it's less than 256.\r
+       (CCL_WRITE_MULTIBYTE_CHAR): Delete.\r
+       (CCL_WRITE_STRING, CCL_READ_CHAR): Adjust for the change of SRC\r
+       and DST type.\r
+       (ccl_driver): Change types of argument, adjust code accordingly.\r
+       (Fccl_execute, Fccl_execute_on_string): Adjust for the change of\r
+       ccl_driver.\r
+       (syms_of_ccl): Intern and staticpro Qccl and Qcclp.\r
+\r
+       * ccl.h (struct ccl_program): Delete members eol_type and multibyte.\r
+       New members src_multibyte, dst_multibyte, consumed, and produced.\r
+       (struct ccl_spec): Delete members decoder and encoder.  New member ccl.\r
+       (CODING_SPEC_CCL_PROGRAM): New macro.\r
+       (ccl_driver): Update prototype.\r
+       (Qccl, Qcclp, Fccl_program_p): Extern them.\r
+       (CHECK_CCL_PROGRAM): New macro.\r
+\r
+       * character.c, character.h, chartab.c: New files.\r
+\r
+       * charset.c: Mostly re-written.  Move character and multibyte sequence\r
+       handling codes to character.c.\r
+\r
+       * charset.h: Mostly re-written.  Move character and multibyte sequence\r
+       handling codes to character.h.\r
+\r
+       * coding.c, coding.h: Mostly re-written.\r
+\r
+       * composite.c: Include "character.h" instead of "charset.h".\r
+       (CHAR_WIDTH): Move to character.h.\r
+       (HASH_KEY, HASH_VALUE): Delete.\r
+\r
+       * composite.h (enum composition_method): Change order of enumeration\r
+       symbols.\r
+\r
+       * data.c: Include "character.h" instead of "charset.h".\r
+       (Faref): Call CHAR_TABLE_REF for a char table.\r
+       (Faset): Call CHAR_TABLE_SET for a char table.\r
+\r
+       * dispextern.h (free_realized_face, check_face_attribytes)\r
+       (generate_ascii_font): Extern them.\r
+       (free_realized_multibyte_face): Delete extern.\r
+\r
+       * disptab.h (DISP_CHAR_VECTOR): Adjust for the change of char\r
+       table structure.\r
+\r
+       * editfns.c: Include "character.h" instead of "charset.h".\r
+       (Fchar_to_string): Always call CHAR_STRING.\r
+\r
+       * emacs.c (main): Call init_charset_once, init_charset,\r
+       syms_of_chartab, and syms_of_character.\r
+\r
+       * fileio.c: Include "character.h" instead of "charset.h".\r
+       (Finsert_file_contents): Big change for the new code-conversion API.\r
+       (choose_write_coding_system, Fwrite_region): Likewise.\r
+       (build_annotations_2): Delete.\r
+       (e_write): Big change for the new code-conversion API.\r
+\r
+       * fns.c: Include "character.h" instead of "charset.h".\r
+       (copy_sub_char_table): Move to chartab.c.\r
+       (Fcopy_sequence): Call copy_char_table for a char table.\r
+       (concat): Delete codes calling count_multibyte.\r
+       (string_char_to_byte, string_byte_to_char): Adjust for the new\r
+       multibyte form.\r
+       (internal_equal): Adjust for the change of char table structure.\r
+       (Fchar_table_subtype, Fchar_table_parent, Fset_char_table_parent)\r
+       (Fchar_table_extra_slot, Fset_char_table_extra_slot)\r
+       (Fchar_table_range, Fset_char_table_range, Fset_char_table_default)\r
+       (char_table_translate, optimize_sub_char_table)\r
+       (Foptimize_char_table, map_char_table, Fmap_char_table): Move to\r
+       chartab.c.\r
+       (char_table_ref_and_index): Delete.\r
+       (HASH_KEY, HASH_VALUE): Move to lisp.h.\r
+       (Fmd5): Call preferred_coding_system instead of accessing\r
+       Vcoding_category_list.  Adjust for the new code-conversion API.\r
+       (syms_of_fns): Move defsubr for char table related functions to\r
+       chartab.c.\r
+\r
+       * fontset.c: Mostly re-written.\r
+\r
+       * fontset.h (struct font_info): Change type of the member encoding_type.\r
+       (enum FONT_SPEC_INDEX): New enum.\r
+       (fontset_font_pattern, fs_load_font): Update prototype.\r
+       (FS_LOAD_FONT): Adjust for the change of fs_load_font.\r
+\r
+       * indent.c: Include "character.h" instead of "charset.h".\r
+       (MULTIBYTE_BYTES_WIDTH): Call CHAR_WIDTH instead of WIDTH_BY_CHAR_HEAD.\r
+\r
+       * insdel.c: Include "character.h" instead of "charset.h".\r
+       (copy_text): Don't refer to Vnonascii_translation_table.\r
+       (insert_from_gap): New function.\r
+\r
+       * keyboard.c: Include "character.h" instead of "charset.h".\r
+       (command_loop_1): Never call direct_output_forward_char before\r
+       a non-ASCII character.\r
+       (read_char): If Vkeyboard_translate_table is a char table, always\r
+       translate a character.\r
+\r
+       * keymap.c: Include "character.h".\r
+       (store_in_keymap): Handle the case that IDX is a cons.\r
+       (Fdefine_key): Handle the case that KEY is a cons and the car part\r
+       is also a cons (range).\r
+       (push_key_description): Adjust for the new character code.\r
+       (describe_vector): Call describe_char_table for a char table.\r
+       (describe_char_table): New function.\r
+\r
+       * keymap.h (describe_char_table): Extern it.\r
+\r
+       * lisp.h (enum pvec_type): New member PVEC_SUB_CHAR_TABLE.\r
+       (XSUB_CHAR_TABLE, XSETSUB_CHAR_TABLE): New macros.\r
+       (CHAR_TABLE_ORDINARY_SLOTS, CHAR_TABLE_SINGLE_BYTE_SLOTS)\r
+       (SUB_CHAR_TABLE_ORDINARY_SLOTS, SUB_CHAR_TABLE_STANDARD_SLOTS):\r
+       Delete.\r
+       (CHAR_TABLE_REF, CHAR_TABLE_SET): Adjust for the new char table\r
+       structure.\r
+       (CHAR_TABLE_TRANSLATE): Just call char_table_translate.\r
+       (CHARTAB_SIZE_BITS_0, CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2)\r
+       (CHARTAB_SIZE_BITS_3): New macros.\r
+       (chartab_size): Extern it.\r
+       (struct Lisp_Char_Table): Re-design.\r
+       (struct Lisp_Sub_Char_Table): New structure.\r
+       (HASH_KEY, HASH_VALUE): Move from fns.c.\r
+       (CHARACTERBITS): Define as 22.\r
+       (GLYPH_MASK_FACE, GLYPH_MASK_CHAR): Adjust for the above change.\r
+       (SUB_CHAR_TABLE_P): Check PVEC_CHAR_TABLE.\r
+       (GC_SUB_CHAR_TABLE_P): New macro.\r
+       (Fencode_coding_string, Fdecode_coding_string): Update EXFUN.\r
+       (code_convert_string_norecord): Deleted extern.\r
+       (init_character_once, syms_of_character, init_charset)\r
+       (syms_of_composite, Qeq, Fmakehash, insert_from_gap): Extern them.\r
+\r
+       * lread.c: Include "character.h".\r
+       (read_multibyte): New arg NBYTES.\r
+       (read_escape): Change the meaning of returned *BYTEREP.\r
+       (to_multibyte): Delete.\r
+       (read1): Adjust the handling of char table and string.\r
+\r
+       * print.c: Include "character.h" instead of "charset.h".\r
+       (print_string): Convert 8-bit raw bytes to octal form by\r
+       string_escape_byte8.\r
+       (print_object): Adjust for the new multibyte form.  Print 8-bit\r
+       raw bytes always in octal form.  Handle sub char table correctly.\r
+\r
+       * process.c: Include "character.h" instead of "charset.h".\r
+       (read_process_output, send_process): Adjust for the new\r
+       code-conversion API.\r
+\r
+       * puresize.h (BASE_PURESIZE): Increase.\r
+\r
+       * regex.c: Include "character.h" instead of "charset.h".\r
+       (BYTE8_TO_CHAR, CHAR_BYTE8_P) [not emacs]: New dummy macros.\r
+       (regex_compile): Accept a range whose starting and ending\r
+       character have different leading bytes.\r
+       (analyse_first): Adjust for the above change.\r
+\r
+       * search.c: Include "character.h" instead of "charset.h".\r
+       (search_buffer, boyer_moore): Adjust for the new multibyte form.\r
+       (Freplace_match): Adjust for the change of multibyte_char_to_unibyte.\r
+\r
+       * syntax.c: Include "character.h" instead of "charset.h".\r
+       (syntax_parent_lookup): Delete.\r
+       (Fmodify_syntax_entry): Accept a cons as CHAR.\r
+       (skip_chars): Adjust for the new multibyte form.\r
+       (init_syntax_once): Call char_table_set_range instead of directly\r
+       accessing the structure of a char table.\r
+\r
+       * syntax.h (SET_RAW_SYNTAX_ENTRY): Call CHAR_TABLE_SET.\r
+       (SYNTAX_ENTRY_FOLLOW_PARENT): Delete macro.\r
+       (SET_RAW_SYNTAX_ENTRY_RANGE): New macro.\r
+       (SYNTAX_ENTRY_INT): Call CHAR_TABLE_REF.\r
+\r
+       * term.c: Include "buffer.h" and "character.h".\r
+       (encode_terminal_code, write_glyphs): Adjust for the new\r
+       code-conversion API.\r
+       (produce_glyphs): Call CHAR_WIDTH instead of CHARSET_WIDTH.\r
+\r
+       * w32term.c (x_new_font): Adjust for the change of FS_LOAD_FONT.\r
+\r
+       * xdisp.c: Include "character.h".\r
+       (get_next_display_element): Adjust for the new multibyte form.\r
+       (disp_char_vector): Adjust for the new char table structure.\r
+       (decode_mode_spec_coding): Adjust for the new structure of\r
+       coding system.\r
+       (decode_mode_spec): Adjust for the new code-conversion API.\r
+\r
+       * xfaces.c: Include "character.h" instead of "charset.h".\r
+       (load_face_font): Adjust for the change of choose_face_font and\r
+       FS_LOAD_FONT.\r
+       (generate_ascii_font): New function.\r
+       (set_lface_from_font_name): Adjust for the change of FS_LOAD_FONT.\r
+       (set_font_frame_param): Adjust for the change of choose_face_font.\r
+       (free_realized_face): Make it public.\r
+       (free_realized_faces_for_fontset): Rename from\r
+       free_realized_multibyte_face.  Free also faces realized for ASCII.\r
+       (choose_face_font): Change arguments.  Adjust for the change of\r
+       fontset_font_pattern and FS_LOAD_FONT.\r
+\r
+       * xfns.c: Include "character.h".\r
+       (x_encode_text): Adjust for the new code-conversion API.\r
+\r
+       * xselect.c: Don't include "charset.h".\r
+       (selection_data_to_lisp_data): Adjust for the new code conversion API.\r
+\r
+       * xterm.c: Include "character.h".\r
+       (x_encode_char): New argument CHARSET.  Change caller.\r
+       (x_get_char_face_and_encoding, x_get_glyph_face_and_encoding):\r
+       Call ENCODE_CHAR instead of SPLIT_CHAR.\r
+       (x_produce_glyphs): Don't check Vnonascii_translation_table Call\r
+       CHAR_WIDTH instead of CHARSET_WIDTH.\r
+       (XTread_socket): Adjust for the new code-conversion API.\r
+       (x_new_font): Adjust for the change of FS_LOAD_FONT.\r
+       (x_load_font): Adjust for the change of struct font.\r
+\r
+2008-02-01  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * xfaces.c (face_at_buffer_position): Remove unused vars.\r
+\r
+2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR):\r
+       Fix overflow checking.\r
+\r
+2008-02-01  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * ccl.c (CCL_WRITE_CHAR, CCL_WRITE_MULTIBYTE_CHAR, ccl_driver):\r
+       Cancel previous change.\r
+\r
+2008-01-31  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * ccl.c (CCL_WRITE_CHAR): Increment extra_bytes only when\r
+       ccl->eight_bit_control.  Fix check for buffer overflow.\r
+       (CCL_WRITE_MULTIBYTE_CHAR): Fix check for buffer overflow.\r
+       (ccl_driver): Initialize extra_bytes to 0.\r
+\r
+2008-01-31  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * keyboard.c (make_ctrl_char): If C is a multibyte character, just\r
+       return it ORed with ctrl_modifier.\r
+\r
+2008-01-29  Miles Bader  <miles@gnu.org>\r
+\r
+       * macterm.c (XTset_vertical_scroll_bar): Fix merge mistake.\r
+\r
+2008-01-28  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32.c (stat): Don't double check for networked drive.\r
+\r
+2008-01-28  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * window.c (run_window_configuration_change_hook): New function.\r
+       Code extracted from set_window_buffer.  Set the selected frame.\r
+       (set_window_buffer): Use it.\r
+       * window.h (run_window_configuration_change_hook): Declare.\r
+       * dispnew.c (change_frame_size_1): Use it instead of set-window-buffer.\r
+\r
+       * keyboard.c (read_char): Yet another int/Lisp_Object mixup (YAILOM).\r
+\r
+2008-01-27  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * Makefile.in: Remove references to unused macros.\r
+\r
+2008-01-26  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * w32.c (g_b_init_get_sid_sub_authority)\r
+       (g_b_init_get_sid_sub_authority_count): New static variables.\r
+       (GetSidSubAuthority_Proc, GetSidSubAuthorityCount_Proc): New typedefs.\r
+       (get_sid_sub_authority, get_sid_sub_authority_count): New functions.\r
+       (init_user_info): Use them to retrieve uid and gid.\r
+       Use 500/513, the Windows defaults, as Administrator's uid/gid.\r
+       (fstat): Use pw_uid and pw_gid from the_passwd structure for\r
+       st_uid and st_gid of the file.\r
+\r
+2008-01-26  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32.c (logon_network_drive): New function.\r
+       (stat): Use it.\r
+\r
+2008-01-26  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xdisp.c (pos_visible_p): Handle the case where charpos falls on\r
+       invisible text covered with an ellipsis.\r
+\r
+2008-01-25  Richard Stallman  <rms@gnu.org>\r
+\r
+       * xdisp.c (redisplay_window): Run Qwindow_text_change_functions and\r
+       jump back to beginning.  Move some other initializations after that.\r
+       (Qwindow_text_change_functions, Vwindow_text_change_functions):\r
+       New variables.\r
+       (syms_of_xdisp): Init them.\r
+\r
+       * keyboard.c (read_char): Restore echo_message_buffer after redisplay.\r
+\r
+       * buffer.c (reset_buffer_local_variables):\r
+       Implement `permanent-local-hook'.\r
+       (Qpermanent_local_hook): New variable.\r
+       (syms_of_buffer): Init and staticpro it.\r
+\r
+2008-01-25  Michael Albinus  <michael.albinus@gmx.de>\r
+\r
+       * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.\r
+\r
+2008-01-25  Thien-Thi Nguyen  <ttn@gnuvola.org>\r
+\r
+       * fns.c (Fclrhash): Return TABLE.\r
+\r
+2008-01-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * macterm.c (x_scroll_bar_create): Initialize bar->redraw_needed_p.\r
+       (XTset_vertical_scroll_bar): Redraw scroll bar if bar->redraw_needed_p\r
+       is set even without positional changes.\r
+       (x_scroll_bar_clear): Set bar->redraw_needed_p.\r
+\r
+       * macterm.h (struct scroll_bar): New member `redraw_needed_p'.\r
+\r
+2008-01-23  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * xterm.c (handle_one_xevent): Revert to counting chars not bytes.\r
+\r
+       * w32term.c (w32_read_socket) <WM_CHAR>: Decode characters outside\r
+       the unicode range available in MULE by locale-coding-system.\r
+       Improve dbcs lead byte detection.  Set event timestamp and modifiers\r
+       earlier.\r
+\r
+2008-01-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * mac.c (mac_emacs_pid) [MAC_OSX]: New variable.\r
+       [MAC_OSX] (init_mac_osx_environment): Initialize it.\r
+       [MAC_OSX] (mac_try_close_socket) [SELECT_USE_CFSOCKET]: Return 0\r
+       when used on child processes.\r
+\r
+2008-01-21  Michael Albinus  <michael.albinus@gmx.de>\r
+\r
+       * dbusbind.c (Fdbus_method_return_internal): Rename from\r
+       Fdbus_method_return.\r
+       (Fdbus_unregister_object): Move to dbus.el.\r
+       (Fdbus_call_method, Fdbus_method_return_internal)\r
+       (Fdbus_send_signal): Improve debug messages.\r
+\r
+2008-01-20  Martin Rudalics  <rudalics@gmx.at>\r
+\r
+       * undo.c (undo_inhibit_record_point): New variable.\r
+       (syms_of_undo): Initialize it.\r
+       (record_point): Don't record point when undo_inhibit_record_point\r
+       is set.\r
+\r
+2008-01-19  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.\r
+\r
+       * xdisp.c (Qauto_hscroll_mode): New var.\r
+       (syms_of_xdisp): Initialize it.\r
+       (hscroll_window_tree): Use it to lookup `auto-hscroll-mode' in each\r
+       window's buffer.\r
+       (hscroll_windows): Don't check automatic_hscrolling_p here.\r
+\r
+       * window.c (set_window_buffer): Don't unnecessarily reset hscroll and\r
+       vscroll if we're setting window-buffer to the value it already has.\r
+\r
+2008-01-18  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * m/intel386.h: Remove references to XENIX.\r
+\r
+2008-01-17  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * m/amdx86-64.h (START_FILES, LIB_STANDARD): Use HAVE_LIB64_DIR\r
+       instead of HAVE_X86_64_LIB64_DIR.\r
+       * m/ibms390x.h (START_FILES, LIB_STANDARD): Likewise.\r
+\r
+2008-01-17  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according\r
+       to HAVE_X86_64_LIB64_DIR.\r
+\r
+2008-01-16  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * s/irix3-3.h:\r
+       * s/irix4-0.h:\r
+       * s/386-ix.h:\r
+       * s/domain.h:\r
+       * s/hpux9-x11r4.h:\r
+       * s/hpux9shxr4.h: Remove files for systems no longer supported.\r
+\r
+       * sysdep.c: Remove code containing references to symbols defined\r
+       by unsupported systems.\r
+\r
+2008-01-16  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * coding.c (select-safe-coding-system-function): Doc fix.\r
+\r
+2008-01-15  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * config.in: Revert 2008-01-13 change: this is a generated file.\r
+\r
+2008-01-13  Tom Tromey  <tromey@redhat.com>\r
+\r
+       * lisp.h: Fix typo.\r
+\r
+2008-01-13  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * m/sequent-ptx.h:\r
+       * m/sequent.h:\r
+       * s/ptx.h:\r
+       * s/ptx4-2.h:\r
+       * s/ptx4.h: Remove files for systems no longer supported.\r
+\r
+       * callproc.c (Fcall_process): Fix previous change.\r
+\r
+2008-01-13  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * unexsunos4.c: Remove file, system not supported anymore.\r
+\r
+       * m/mips.h:\r
+       * m/intel386.h:\r
+       * callproc.c:\r
+       * config.in:\r
+       * ecrt0.c:\r
+       * emacs.c:\r
+       * fileio.c:\r
+       * frame.c:\r
+       * getpagesize.h:\r
+       * keyboard.c:\r
+       * lread.c:\r
+       * process.c:\r
+       * puresize.h:\r
+       * sysdep.c:\r
+       * systty.h:\r
+       * syswait.h:\r
+       * unexec.c:\r
+       * xdisp.c:\r
+       * alloc.c: Remove code containing references to symbols defined by\r
+       unsupported systems.\r
+\r
+2008-01-11  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * coding.c (detect_coding_mask): Fix previous change.\r
+\r
+2008-01-09  Kenichi Handa  <handa@ni.aist.go.jp>\r
+\r
+       * coding.c (detect_coding_iso2022): New arg\r
+       latin_extra_code_state.  Allow Latin extra codes only\r
+       when *latin_extra_code_state is nonzero.\r
+       (detect_coding_mask): If there is a NULL byte, detect the encoding\r
+       as UTF-16 or binary.  If Latin extra codes exist, detect the\r
+       encoding as ISO-2022 only when there's no other proper encoding is\r
+       found.\r
+\r
+2008-01-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * frame.c (Fmake_terminal_frame): Use #ifdef MAC_OS8 instead of\r
+       #ifdef MAC_OS.\r
+\r
+2008-01-08  Richard Stallman  <rms@gnu.org>\r
+\r
+       * fileio.c (Ffile_name_directory, Fexpand_file_name): Doc fixes.\r
+\r
+2008-01-06  Nick Roberts  <nickrob@snap.net.nz>\r
+\r
+       * keyboard.c (parse_menu_item): Don't enclose key bindings on\r
+       menu bar in parentheses.\r
+\r
+2008-01-06  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * m/7300.h:\r
+       * m/acorn.h:\r
+       * m/alliant-2800.h:\r
+       * m/alliant.h:\r
+       * m/alliant1.h:\r
+       * m/alliant4.h:\r
+       * m/altos.h:\r
+       * m/amdahl.h:\r
+       * m/apollo.h:\r
+       * m/att3b.h:\r
+       * m/aviion-intel.h:\r
+       * m/aviion.h:\r
+       * m/celerity.h:\r
+       * m/clipper.h:\r
+       * m/cnvrgnt.h:\r
+       * m/convex.h:\r
+       * m/cydra5.h:\r
+       * m/delta88k.h:\r
+       * m/dpx2.h:\r
+       * m/dual.h:\r
+       * m/elxsi.h:\r
+       * m/f301.h:\r
+       * m/gould-np1.h:\r
+       * m/gould.h:\r
+       * m/i860.h:\r
+       * m/ibmps2-aix.h:\r
+       * m/ibmrt-aix.h:\r
+       * m/ibmrt.h:\r
+       * m/irist.h:\r
+       * m/is386.h:\r
+       * m/isi-ov.h:\r
+       * m/mega68.h:\r
+       * m/mg1.h:\r
+       * m/news-r6.h:\r
+       * m/news-risc.h:\r
+       * m/news.h:\r
+       * m/nh3000.h:\r
+       * m/nh4000.h:\r
+       * m/ns16000.h:\r
+       * m/ns32000.h:\r
+       * m/nu.h:\r
+       * m/orion.h:\r
+       * m/orion105.h:\r
+       * m/paragon.h:\r
+       * m/pfa50.h:\r
+       * m/plexus.h:\r
+       * m/pyramid.h:\r
+       * m/pyrmips.h:\r
+       * m/sh3el.h:\r
+       * m/sps7.h:\r
+       * m/sr2k.h:\r
+       * m/stride.h:\r
+       * m/sun1.h:\r
+       * m/sun2.h:\r
+       * m/sun3-68881.h:\r
+       * m/sun3-fpa.h:\r
+       * m/sun3-soft.h:\r
+       * m/sun3.h:\r
+       * m/sun386.h:\r
+       * m/symmetry.h:\r
+       * m/tad68k.h:\r
+       * m/tahoe.h:\r
+       * m/targon31.h:\r
+       * m/tek4300.h:\r
+       * m/tekxd88.h:\r
+       * m/tower32.h:\r
+       * m/tower32v3.h:\r
+       * m/ustation.h:\r
+       * m/wicat.h:\r
+       * m/xps100.h:\r
+       * s/cxux.h:\r
+       * s/cxux7.h:\r
+       * s/dgux.h:\r
+       * s/dgux4.h:\r
+       * s/dgux5-4-3.h:\r
+       * s/dgux5-4r2.h:\r
+       * s/esix.h:\r
+       * s/esix5r4.h:\r
+       * s/hiuxmpp.h:\r
+       * s/hiuxwe2.h:\r
+       * s/iris3-5.h:\r
+       * s/iris3-6.h:\r
+       * s/isc2-2.h:\r
+       * s/isc3-0.h:\r
+       * s/isc4-0.h:\r
+       * s/isc4-1.h:\r
+       * s/newsos5.h:\r
+       * s/newsos6.h:\r
+       * s/osf1.h:\r
+       * s/osf5-0.h:\r
+       * s/riscix1-1.h:\r
+       * s/riscix12.h:\r
+       * s/sco4.h:\r
+       * s/sco5.h:\r
+       * s/sunos4-0.h:\r
+       * s/sunos4-1.h:\r
+       * s/sunos413.h:\r
+       * s/sunos4shr.h:\r
+       * s/umax.h:\r
+       * s/unipl5-2.h:\r
+       * s/xenix.h:\r
+       * cxux-crt0.s:\r
+       * unexapollo.c:\r
+       * unexconvex.c:\r
+       * unexenix.c:\r
+       * unexsni.c: Remove files for systems no longer supported.\r
+\r
+       * m/intel386.h: Remove references to unsupported systems.\r
+\r
+       * w32.c (get_emacs_configuration): Remove reference to i860.\r
+\r
+       * sysdep.c: Remove dead code.\r
+\r
+2008-01-05  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * s/rtu.h:\r
+       * m/masscomp.h: Remove files.  Platform is obsolete.\r
+\r
+2008-01-04  Michael Albinus  <michael.albinus@gmx.de>\r
+\r
+       * dbusbind.c (Fdbus_method_return): New function.\r
+       (xd_read_message): Add the serial number to the event.\r
+       (Fdbus_register_method): Activate the function.\r
+\r
+2008-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * keyboard.c (read_key_sequence): Fix typo.\r
+\r
+2008-01-03  Michael Albinus  <michael.albinus@gmx.de>\r
+\r
+       * dbusbind.c (all): Replace XCAR by CAR_SAFE and XCDR by CDR_SAFE.\r
+       (xd_signature, xd_append_arg): Handle element type detection for\r
+       empty arrays.\r
+       (Fdbus_call_method, Fdbus_send_signal): Undo type casting for\r
+       SDATA () calls; this must be solved more general.\r
+       (Fdbus_register_signal): Use SBYTES instead of strlen.\r
+\r
+2008-01-03  Magnus Henoch  <magnus@zemdatav>\r
+\r
+       * dbusbind.c (xd_append_arg): Use unsigned char instead of\r
+       unsigned int for byte values (necessary for big-endian platform).\r
+       (Fdbus_call_method): Handle the case of no returned arguments.\r
+\r
+2007-12-31  Tom Tromey  <tromey@redhat.com>  (tiny change)\r
+\r
+       * dbusbind.c (xd_read_message): Use non-static input_event struct.\r
+\r
+2007-12-31  Magnus Henoch  <mange@freemail.hu>\r
+\r
+       * dbusbind.c (xd_signature): Signature of variant is just "v".\r
+\r
+2007-12-30  Michael Albinus  <michael.albinus@gmx.de>\r
+\r
+       * dbusbind.c: Fix several errors and compiler warnings.\r
+       Reported by Tom Tromey <tromey@redhat.com>.\r
+       (XD_ERROR, XD_DEBUG_MESSAGE)\r
+       (XD_DEBUG_VALID_LISP_OBJECT_P): Wrap code with "do ... while (0)".\r
+       (xd_append_arg): Part for basic D-Bus types rewritten.\r
+       (xd_retrieve_arg): Split implementation of DBUS_TYPE_BYTE and\r
+       DBUS_TYPE_(U)INT16.  Don't call XD_DEBUG_MESSAGE with "%f" if not\r
+       appropriate.\r
+       (xd_read_message): Return Qnil.  Don't signal an error; it is not\r
+       useful during event reading.\r
+       (Fdbus_register_signal): Signal an error if the check for\r
+       FUNCTIONP fails.\r
+       (Fdbus_register_method): New function.  The implementation is not\r
+       complete, the call of the function signals an error therefore.\r
+       (Fdbus_unregister_object): New function, renamed from\r
+       Fdbus_unregister_signal.  The initial check signals an error, if\r
+       the object is not well formed.\r
+\r
+2007-12-30  Richard Stallman  <rms@gnu.org>\r
+\r
+       * textprop.c (get_char_property_and_overlay):\r
+       Signal error if POSITION is out of range in a buffer.\r
+\r
+2007-12-29  Martin Rudalics  <rudalics@gmx.at>\r
+\r
+       * w32fns.c (Fx_create_frame): Make copy of frame parameters\r
+       because the original parameters are in pure storage now.\r
+\r
+2007-12-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.\r
+\r
+2007-12-22  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * callint.c (syms_of_callint) <command-history>: Add reference to\r
+       history-length in the doc string.\r
+\r
+2007-12-17  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned\r
+       before passing as wParam.\r
+\r
+2007-12-22  Michael Albinus  <michael.albinus@gmx.de>\r
+\r
+       * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_BYTE,\r
+       DBUS_TYPE_INT16, DBUS_TYPE_UINT16, DBUS_TYPE_INT64,\r
+       DBUS_TYPE_UINT64, DBUS_TYPE_DOUBLE and DBUS_TYPE_SIGNATURE.\r
+       Return float when DBUS_TYPE_INT32 or DBUS_TYPE_UINT32 do not fit\r
+       as number.\r
+       (Fdbus_call_method): Fix docstring.\r
+\r
+2007-12-21  Michael Albinus  <michael.albinus@gmx.de>\r
+\r
+       * dbusbind.c (XD_BASIC_DBUS_TYPE, XD_DBUS_TYPE_P, XD_NEXT_VALUE):\r
+       New macros.\r
+       (XD_SYMBOL_TO_DBUS_TYPE): Rename from XD_LISP_SYMBOL_TO_DBUS_TYPE.\r
+       (XD_OBJECT_TO_DBUS_TYPE): Rename from XD_LISP_OBJECT_TO_DBUS_TYPE.\r
+       Simplify.\r
+       (xd_signature): New function.\r
+       (xd_append_arg): Compute also signatures.  Major rewrite.\r
+       (xd_retrieve_arg): Make debug messages friendly.\r
+       (Fdbus_call_method, Fdbus_send_signal): Extend docstring.\r
+       Check for signatures of arguments.\r
+\r
+2007-12-19  Michael Albinus  <michael.albinus@gmx.de>\r
+\r
+       * dbusbind.c (QCdbus_type_byte, QCdbus_type_boolean)\r
+       (QCdbus_type_int16, QCdbus_type_uint16, QCdbus_type_int32)\r
+       (QCdbus_type_uint32, QCdbus_type_int64, QCdbus_type_uint64)\r
+       (QCdbus_type_double, QCdbus_type_string, QCdbus_type_object_path)\r
+       (QCdbus_type_signature, QCdbus_type_array, QCdbus_type_variant)\r
+       (QCdbus_type_struct, QCdbus_type_dict_entry): New D-Bus type symbols.\r
+       (XD_LISP_SYMBOL_TO_DBUS_TYPE): New macro.\r
+       (XD_LISP_OBJECT_TO_DBUS_TYPE): Add compound types.\r
+       (xd_retrieve_value): Remove.  Functionality included in ...\r
+       (xd_append_arg): New function.\r
+       (Fdbus_call_method, Fdbus_send_signal): Apply it.\r
+\r
+2007-12-16  Michael Albinus  <michael.albinus@gmx.de>\r
+\r
+       * dbusbind.c (top): Include <stdio.h>.\r
+       (Fdbus_call_method, Fdbus_send_signal): Apply type cast in\r
+       dbus_message_new_method_call and dbus_message_new_signal.\r
+       (Fdbus_register_signal): Rename unique_name to uname.\r
+       Check handler for FUNCTIONP instead of CHECK_SYMBOL.  Handle case of\r
+       non-existing unique name.  Fix typos in matching rule.  Return an\r
+       object which is useful in Fdbus_unregister_signal.\r
+       (Fdbus_unregister_signal): Reimplementation, in order to remove\r
+       only the corresponding entry.\r
+       (Vdbus_registered_functions_table): Change the order of entries.\r
+       Apply these changes in xd_read_message and Fdbus_register_signal.\r
+\r
+2007-12-16  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * fileio.c (Finsert_file_contents): Fix overflow check to not\r
+       depend on undefined integer overflow.\r
+\r
+2007-12-14  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT\r
+       for characters above 127.\r
+\r
+2007-12-13  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check\r
+       before dereferencing array.\r
+       (lookup_vk_code): Remove zero comparison.\r
+\r
+2007-12-14  Michael Albinus  <michael.albinus@gmx.de>\r
+\r
+       * dbusbind.c (xd_retrieve_value, xd_retrieve_arg)\r
+       (Fdbus_call_method, Fdbus_send_signal, xd_read_message):\r
+       Use `unsigned int' instead of `uint'.\r
+       (xd_read_message, Fdbus_register_signal): Split expressions into\r
+       multiple lines before operators "&&" and "||", according to the\r
+       GNU Coding Standards.\r
+\r
+2007-12-14  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.\r
+\r
+2007-12-12  Juri Linkov  <juri@jurta.org>\r
+\r
+       * buffer.c (Frename_buffer): In interactive spec replace\r
+       `read-buffer' with `read-string' that uses `buffer-name-history'\r
+       as history, and the current buffer's name as default.\r
+\r
+2007-12-10  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * keyboard.c (Fcommand_execute): Call Qcall_interactively instead of\r
+       manipulating the backtrace manually.\r
+       (make_lispy_event): Merge the ASCII and MULTIBYTE cases.\r
+       (struct backtrace, backtrace_list): Remove.\r
+       (command_loop_1): Remove dead var `no_direct'.\r
+\r
+       * buffer.c (reset_buffer_local_variables): If permanent_too is 0, also\r
+       preserve non-built-in buffer-local variables.\r
+       (Fkill_all_local_variables): Don't re-create&re-set permanent\r
+       buffer-local variables.\r
+\r
+2007-12-09  Juri Linkov  <juri@jurta.org>\r
+\r
+       * buffer.c (Frename_buffer): Change interactive spec from "s" to\r
+       Lisp code that uses `read-buffer' with current buffer as default.\r
+\r
+2007-12-08  Michael Albinus  <michael.albinus@gmx.de>\r
+\r
+       * dbusbind.c (xd_read_message): Generate an event for every\r
+       registered handler.  There might be several handlers registered\r
+       for the same signal.\r
+       (Fdbus_register_signal): Don't overwrite a registration for the\r
+       same signal.  Add a new registration if handlers are different.\r
+       (Vdbus_registered_functions_table): Rework doc string.\r
+\r
+2007-12-07  Michael Albinus  <michael.albinus@gmx.de>\r
+\r
+       * dbusbind.c (Fdbus_get_unique_name, xd_read_message)\r
+       (Fdbus_register_signal): Use DBUS_MAXIMUM_NAME_LENGTH and\r
+       DBUS_MAXIMUM_MATCH_RULE_LENGTH for string lengths.\r
+       (Fdbus_call_method, Fdbus_send_signal, Fdbus_register_signal):\r
+       Unify argument lists.\r
+       (xd_read_message, Fdbus_register_signal): Reorder and extend event\r
+       arguments and hash table keys.  Use unique name for service.\r
+       (Fdbus_unregister_signal): Remove checks.\r
+       (Vdbus_registered_functions_table): Fix doc string.\r
+\r
+2007-12-05  Magnus Henoch  <mange@freemail.hu>\r
+\r
+       * process.c (make_process): Initialize pty_flag to 0.\r
+\r
+2007-12-05  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly\r
+       specified XBMs.\r
+\r
+2007-12-05  Richard Stallman  <rms@gnu.org>\r
+\r
+       * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.\r
+\r
+2007-12-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * mac.c (cfsockets_for_select) [MAC_OSX && SELECT_USE_CFSOCKET]:\r
+       New variable.\r
+       (mac_try_close_socket) [MAC_OSX]: New function.\r
+       [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]:\r
+       Update cfsockets_for_select.  Replace invalid CFRunLoop source.\r
+\r
+       * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:\r
+       Use mac_try_close_socket.\r
+\r
+2007-12-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * unexmacosx.c (unrelocate): New argument BASE.  Use it instead of\r
+       reloc_base.\r
+       (copy_dysymtab): Compute relocation base here.\r
+       (rebase_reloc_address) [__ppc64__]: New function.\r
+       (copy_dysymtab) [__ppc64__]: Use it if relocation base needs to be\r
+       changed.\r
+\r
+2007-12-05  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32proc.c (sys_spawnve): Quote args with wildcards.\r
+\r
+2007-12-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and\r
+       __objc_* sections.\r
+       (unrelocate) [_LP64]: Set relocation base to address of data segment.\r
+\r
+2007-12-05  Michael Albinus  <michael.albinus@gmx.de>\r
+\r
+       * dbusbind.c (xd_read_message): Return value is a Lisp_Object.\r
+       Move check for Vdbus_registered_functions_table to\r
+       xd_read_queued_messages.\r
+       (xd_read_queued_messages): Protect xd_read_message calls by\r
+       internal_condition_case_1.\r
+\r
+2007-12-04  Michael Albinus  <michael.albinus@gmx.de>\r
+\r
+       * dbusbind.c (QCdbus_system_bus, QCdbus_session_bus): Rename from\r
+       Qdbus_system_bus and Qdbus_session_bus, respectively.\r
+       (Vdbus_intern_symbols): Remove.\r
+       (Vdbus_registered_functions_table): New hash table.\r
+       (XD_SYMBOL_INTERN_SYMBOL): Remove.\r
+       (xd_read_message, Fdbus_register_signal, Fdbus_unregister_signal):\r
+       Rewrite in order to manage registered functions by hash table\r
+       Vdbus_registered_functions_table.\r
+\r
+2007-12-03  Jan Djärv  <jan.h.d@swipnet.se>\r
+\r
+       * xterm.c: Update URL to Window Manager Specification in comment.\r
+\r
+2007-12-02  Michael Albinus  <michael.albinus@gmx.de>\r
+\r
+       * config.in (HAVE_DBUS): Add.\r
+\r
+       * Makefile.in (HAVE_DBUS): Add D-Bus definitions if defined.\r
+       (ALL_CFLAGS): Add ${DBUS_CFLAGS}.\r
+       (obj): Add $(DBUS_OBJ).\r
+       (LIBES): Add $(DBUS_LIBS).\r
+       (dbusbind.o): New target.\r
+\r
+       * dbusbind.c: New file.\r
+\r
+       * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.\r
+\r
+       * keyboard.c: All D-Bus related code is wrapped by "#ifdef HAVE_DBUS".\r
+       (Qdbus_event): New Lisp symbol.\r
+       (kbd_buffer_get_event, make_lispy_event): Handle DBUS_EVENT.\r
+       (gobble_input): Call xd_read_queued_messages, reading D-Bus messages.\r
+       (keys_of_keyboard ): Define dbus-event.\r
+\r
+       * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.\r
+\r
+2007-12-01  Richard Stallman  <rms@gnu.org>\r
+\r
+       * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.\r
+\r
+2007-11-30  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32console.c (w32con_ins_del_lines, scroll_line): Clip to window.\r
+       (w32con_reset_terminal_modes): Clear screen buffer.\r
+       (w32_face_attributes): Don't use color indexes that are out of range.\r
+       Only reverse the default colors.\r
+\r
+       * xfaces.c (map_tty_color, tty_color_name): Remove special case for\r
+       WINDOWSNT.\r
+\r
+       * w32console.c, w32term.h (vga_stdcolor_name): Remove.\r
+\r
+2007-11-29  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32console.c: Leave HAVE_WINDOW_SYSTEM defined.\r
+       (w32_face_attributes): Use Vtty_defined_color_alist to determine\r
+       if the terminal colors are initialized.\r
+       (unspecified_fg, unspecified_bg): Remove unused declarations.\r
+\r
+2007-11-29  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * keyboard.c (apply_modifiers): Fix typo.\r
+\r
+2007-11-29  Richard Stallman  <rms@gnu.org>\r
+\r
+       * keymap.c (Fcurrent_local_map): Doc fix.\r
+\r
+2007-11-28  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)\r
+\r
+       * s/gnu-kfreebsd.h: New file.\r
+\r
+2007-11-28  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):\r
+       Don't cast redundantly.\r
+\r
+       * keyboard.c (KEY_TO_CHAR): New macro.\r
+       (parse_modifiers, apply_modifiers): Accept integer arguments.\r
+       (read_key_sequence): Use them to unify the "shift->unshift" mapping\r
+       for chars and symbol keys.\r
+       After doing such remapping, apply function-key-map again.\r
+\r
+2007-11-27  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not\r
+       compiled anymore.\r
+\r
+2007-11-26  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * process.c (list_processes_1): Fix indentation level of the\r
+       command column.\r
+\r
+2007-11-23  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * editfns.c (Fformat): Handle %c specially since it requires the\r
+       argument to be of type int.\r
+\r
+2007-11-23  Markus Triska  <markus.triska@gmx.at>\r
+\r
+       * emacs.c (main): Call init_editfns before init_process, since\r
+       init_process sets Vprocess_connection_type depending on OS release.\r
+\r
+2007-11-22  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * data.c (do_symval_forwarding): Use same code as in find_symbol_value.\r
+       (find_symbol_value): Use do_symval_forwarding.\r
+\r
+       * data.c (set_internal): Set the value in the `cons-cell' (for\r
+       Buffer_Local_values) not only for frame-local variables.\r
+\r
+2007-11-22  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * data.c (Fnumber_to_string): Add cast when passing EMACS_INT\r
+       values to sprintf.\r
+       * keymap.c (Fsingle_key_description): Likewise.\r
+       * print.c (print_object): Likewise.\r
+\r
+2007-11-22  Jan Djärv  <jan.h.d@swipnet.se>\r
+\r
+       * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if\r
+       file for image is nil.\r
+\r
+2007-11-22  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * term.c: Include stdarg.h.\r
+       (fatal): Implement using varargs.\r
+       * lisp.h (fatal): Add argument types.  (Restore 2005-09-30 change).\r
+\r
+2007-11-21  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * lisp.h (struct Lisp_Buffer_Objfwd): Add a `slottype' field.\r
+       * data.c (store_symval_forwarding): Get type from buffer_objfwd.\r
+       Update call to buffer_slot_type_mismatch.\r
+       * buffer.h (buffer_local_types, PER_BUFFER_TYPE): Remove.\r
+       (buffer_slot_type_mismatch): Update.\r
+       * buffer.c (buffer_local_types): Remove.\r
+       (buffer_slot_type_mismatch): Get the symbol and type as arguments.\r
+       (defvar_per_buffer): Set the type in the buffer_objfwd.\r
+\r
+2007-11-21  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):\r
+       CreateFileMapping returns NULL on failure.\r
+\r
+2007-11-21  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * search.c (Fset_match_data): Remove the `evaporate' feature.\r
+       (unwind_set_match_data): Don't use the `evaporate' feature.\r
+\r
+2007-11-21  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.\r
+\r
+       * w32console.c (w32con_write_glyphs): Remove unused variables.\r
+\r
+2007-11-20  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.\r
+\r
+       * s/darwin.h (MULTI_KBOARD): Remove.\r
+\r
+       * macfns.c (x_create_tip_frame, Fx_create_frame)\r
+       (x_create_tip_frame): Don't deal with MULTI_KBOARD.\r
+\r
+2007-11-19  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * buffer.c (Fbuffer_local_value): Remove redundant test.\r
+       (swap_out_buffer_local_variables): Swap out binding in `buffer' rather\r
+       than in `current-buffer' to match the comment.\r
+       Do the swap using swap_in_global_binding.\r
+\r
+       * data.c (store_symval_forwarding, set_internal):\r
+       * eval.c (specbind): Remove dead code.\r
+\r
+       * coding.c (detect_coding, Fupdate_coding_systems_internal):\r
+       * fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE\r
+       Since we do not want to see internal Lisp_*fwd objects here.\r
+\r
+2007-11-18  Jan Djärv  <jan.h.d@swipnet.se>\r
+\r
+       * sysdep.c (init_system_name): Use getaddrinfo if available.\r
+\r
+       * xterm.c (x_scroll_bar_set_handle, x_scroll_bar_handle_click)\r
+       (x_scroll_bar_note_movement): start, end, with, height in struct\r
+       scroll_bar are integers and not Lisp_Object, so remove XINT for them.\r
+\r
+2007-11-17  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * puresize.h (BASE_PURESIZE): Increase to 1190000.\r
+\r
+2007-11-16  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * buffer.h (struct buffer): Move `undo_list' back to before `name'.\r
+       This undoes Richard's change of 14-Oct-2002.\r
+\r
+       * alloc.c (allocate_other_vector):\r
+       * lisp.h (allocate_other_vector): Remove.\r
+\r
+       * window.c (struct save_window_data): Move non-lisp data to the end\r
+       and make it `int' rather than Lisp_Object.\r
+       (Fcurrent_window_configuration): Use ALLOCATE_PSEUDOVECTOR.\r
+       Done wrap/unwrap integer values.\r
+       (Fset_window_configuration, compare_window_configurations):\r
+       Update use of fields to their new types.\r
+\r
+       * xterm.h (struct scroll_bar): Only use Lisp_Object for lisp data.\r
+       Turn integer fields into `int'.  Merge x_window_low and x_window_high.\r
+       (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK, SCROLL_BAR_X_WINDOW)\r
+       (SET_SCROLL_BAR_X_WINDOW): Remove.\r
+       (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):\r
+       Access the new x_window field directly.\r
+       * xterm.c (x_scroll_bar_create): Use a pseudovector.\r
+       Don't wrap/unwrap integers into Lisp_Objects.\r
+       (XTset_vertical_scroll_bar, x_scroll_bar_handle_click)\r
+       (x_scroll_bar_report_motion):\r
+       Don't wrap/unwrap integers into Lisp_Objects.\r
+       (x_term_init): Use SDATA.\r
+       (x_window_to_scroll_bar, x_create_toolkit_scroll_bar)\r
+       (x_scroll_bar_set_handle, x_scroll_bar_remove)\r
+       (XTset_vertical_scroll_bar, x_scroll_bar_expose)\r
+       (x_scroll_bar_report_motion, x_scroll_bar_clear):\r
+       * xfns.c (x_set_background_color):\r
+       * gtkutil.c (xg_create_scroll_bar, xg_set_toolkit_scroll_bar_thumb):\r
+       Access the new x_window field directly.\r
+\r
+       * alloc.c (ALLOCATE_PSEUDOVECTOR): Move to lisp.h.\r
+       (allocate_pseudovector): Make non-static.\r
+\r
+       * lisp.h (enum pvec_type): New tag PVEC_OTHER.\r
+       (allocate_pseudovector): Declare.\r
+       (ALLOCATE_PSEUDOVECTOR): Move from alloc.c.\r
+\r
+2007-11-15  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * editfns.c (Fformat): Correctly format EMACS_INT values.\r
+       Also take precision into account when formatting an integer.\r
+\r
+       * keyboard.c (Fevent_symbol_parse_modifiers): Fix declaration.\r
+\r
+2007-11-15  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * keyboard.c (Fevent_symbol_parse_modifiers): New function.\r
+       (syms_of_keyboard): Defsubr it.\r
+\r
+       * data.c (swap_in_global_binding): Fix longstanding bug where\r
+       store_symval_forwarding was not called with the right second argument,\r
+       thus causing objfwd-ing from being dropped.\r
+\r
+2007-11-14  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * macfns.c (Fx_create_frame, Fx_display_pixel_width)\r
+       (Fx_display_pixel_height, Fx_display_planes)\r
+       (Fx_display_color_cells, Fx_server_max_request_size)\r
+       (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)\r
+       (Fx_display_visual_class, Fx_display_save_under):\r
+       * w32fns.c (Fx_create_frame, Fx_display_pixel_width)\r
+       (Fx_display_pixel_height, Fx_display_planes)\r
+       (Fx_display_color_cells, Fx_server_max_request_size)\r
+       (Fx_server_vendor, Fx_server_version, Fx_display_screens)\r
+       (Fx_display_mm_height, Fx_display_mm_width)\r
+       (Fx_display_backing_store, Fx_display_visual_class)\r
+       (Fw32_select_font, Fx_display_save_under):\r
+       * xfns.c (Fx_create_frame, Fx_display_pixel_width)\r
+       (Fx_display_pixel_height, Fx_display_planes)\r
+       (Fx_display_color_cells, Fx_server_max_request_size)\r
+       (Fx_server_vendor, Fx_server_version, Fx_display_backing_store)\r
+       (Fx_display_save_under): Fix typos in docstrings.\r
+\r
+2007-11-14  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * w32fns.c (Fw32_registered_hot_keys): Don't return the nil values\r
+       corresponding to deleted entries; they are an implementation detail.\r
+       (gray_bitmap_width, gray_bitmap_height, gray_bitmap_bits):\r
+       Remove variables.\r
+       (w32_pass_extra_mouse_buttons_to_system, w32_strict_fontnames)\r
+       (w32_pass_multimedia_buttons_to_system, w32_strict_painting)\r
+       (Vw32_charset_info_alist, w32_to_x_color, w32_init_class)\r
+       (w32_createscrollbar, w32_createwindow, my_post_msg, w32_get_modifiers)\r
+       (w32_grabbed_keys, cancel_all_deferred_msgs): Make static.\r
+       (Fw32_define_rgb_color, Fw32_load_color_file)\r
+       (syms_of_w32fns) <w32-pass-multimedia-buttons-to-system>:\r
+       Fix typos in docstrings.\r
+       (Fx_server_version): Reflow docstring.\r
+       (Fw32_shell_execute): Doc fixes.\r
+\r
+2007-11-13  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * w32fns.c (Fw32_register_hot_key): Don't try to register hot key\r
+       if w32_parse_hot_key returned nil.\r
+\r
+2007-11-10  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * xdisp.c (load_overlay_strings): Fix copy&paste typo.\r
+\r
+2007-11-09  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.\r
+\r
+       * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.\r
+\r
+       * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:\r
+       Remove W32_SCROLL_BAR_CLICK_EVENT.\r
+\r
+       * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.\r
+       Add MULTIMEDIA_KEY_EVENT.\r
+\r
+       * keyboard.c (lispy_function_keys) [WINDOWSNT]: Add more keys.\r
+       (lispy_multimedia_keys) [WINDOWSNT]: New array.\r
+       (make_lispy_event) [WINDOWSNT]: Use it to translate\r
+       MULTIMEDIA_KEY_EVENT.\r
+\r
+       * w32term.h (WM_APPCOMMAND): Define if not already.\r
+       (GET_APPCOMMAND_LPARAM): Likewise.\r
+\r
+       * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from\r
+       WM_APPCOMMAND.\r
+\r
+       * w32fns.c (w32_pass_multimedia_buttons_to_system): New user option.\r
+       (syms_of_w32fns): Export and initialize it.\r
+       (w32_wnd_proc): Pass WM_APPCOMMAND on to w32_read_socket.\r
+\r
+2007-11-09  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE\r
+       twice.\r
+\r
+       * xdisp.c (handle_face_prop): Fix last change.\r
+\r
+2007-11-09  Richard Stallman  <rms@gnu.org>\r
+\r
+       * xdisp.c (handle_face_prop): Test for strings that came from overlays,\r
+       not just for after-strings and before-strings.\r
+       Call face_for_overlay_string and pass the overlay to it.\r
+       (handle_display_prop): Determine whether property came from an overlay.\r
+       Pass OVERLAY arg to handle_single_display_spec.\r
+       (handle_single_display_spec): New arg OVERLAY sets it->from_overlay.\r
+       (load_overlay_strings): Fill in it->string_overlays.\r
+       (get_overlay_strings_1, push_it, pop_it): Handle it->from_overlays.\r
+\r
+       * xfaces.c (face_for_overlay_string): Function renamed from\r
+       face_at_buffer_position_no_overlays, and add arg OVERLAY.\r
+\r
+       * dispextern.h (struct it): New elt string_overlays.\r
+       New elt from_overlay, also in stack.\r
+       Rearrange a few elements.\r
+       (face_for_overlay_string): Decl renamed from\r
+       face_at_buffer_position_no_overlays, and add argument.\r
+\r
+2007-11-09  Richard Stallman  <rms@gnu.org>\r
+\r
+       * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays\r
+       to get the base face for an overlay string.\r
+\r
+       * dispextern.h (face_at_buffer_position_no_overlays): Add decl.\r
+\r
+       * xfaces.c (face_at_buffer_position_no_overlays): New function.\r
+\r
+       * xdisp.c (handle_stop): Move some code out of loop.\r
+\r
+2007-11-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):\r
+       Fix conversion from Lisp object to ATSUFontID.\r
+\r
+2007-11-09  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.\r
+\r
+2007-11-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * unexmacosx.c (unexec_regions_recorder, unexec_regions_merge):\r
+       Don't assume regions are aligned to page boundary.\r
+       (print_load_command_name): Add LC_UUID if defined.\r
+\r
+2007-11-09  Richard Stallman  <rms@gnu.org>\r
+\r
+       * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.\r
+\r
+2007-11-07  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * s/windows95.h: Remove.\r
+\r
+2007-11-06  Jan Djärv  <jan.h.d@swipnet.se>\r
+\r
+       * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and\r
+       abort with a message on unhandled store_type values.\r
+\r
+2007-11-01  Jan Djärv  <jan.h.d@swipnet.se>\r
+\r
+       * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:\r
+       Remove HAVE_X11R5 and HAVE_X11R4.\r
+\r
+2007-11-01  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * Makefile.in: Remove references to sunfns.c and sunfns.o.\r
+\r
+2007-11-01  Johan Bockgård  <bojohan@gnu.org>\r
+\r
+       * macterm.c, w32term.c, xterm.c (x_draw_stretch_glyph_string):\r
+       Don't set s->stippled_p here, since it has already been set by\r
+       x_set_glyph_string_gc from x_draw_glyph_string.\r
+\r
+2007-11-01  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * sunfns.c: Remove file.\r
+\r
+       * m/sun386.h:\r
+       * m/sun2.h:\r
+       * m/sparc.h: Remove Sun windows code.\r
+\r
+2007-10-31  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * keyboard.c (syms_of_keyboard): Initialize the initial_kboard.\r
+       (init_keyboard): Set current_kboard's window-system to nil.\r
+       (tty_read_avail_input): Typo.\r
+       * frame.c (make_initial_frame): Don't initialize the initial_kboard.\r
+\r
+2007-10-31  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * s/usg5-4.h:\r
+       * s/usg5-3.h:\r
+       * s/ptx.h:\r
+       * m/is386.h:\r
+       * m/ibmps2-aix.h:\r
+       * Makefile.in: Remove all mentions of X10.\r
+\r
+       * dispnew.c (syms_of_display): Don't mention version 10.\r
+\r
+2007-10-28  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * makefile.w32-in (OBJ1): Remove abbrev.$(O).\r
+       ($(BLD)/abbrev.$(O)): Remove.\r
+\r
+2007-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       Rewrite abbrev.c in Elisp.\r
+       * image.c (Qcount): Don't declare as extern.\r
+       (syms_of_image): Initialize and staticpro `Qcount'.\r
+       * puresize.h (BASE_PURESIZE): Increase for the new abbrev.el functions.\r
+       * emacs.c (main): Don't call syms_of_abbrev.\r
+       * Makefile.in (obj): Remove abbrev.o.\r
+       (abbrev.o): Remove.\r
+       * abbrev.c: Remove.\r
+\r
+2007-10-26  Martin Rudalics  <rudalics@gmx.at>\r
+\r
+       * window.c (window_min_size_2): Don't count header-line.\r
+\r
+2007-10-26  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * frame.h (struct frame): Move all bit fields after the first bit\r
+       field to take advantage of the available space.  Group all the\r
+       chars together to reduce wasted space due to padding.\r
+\r
+2007-10-26  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.\r
+\r
+       * alloc.c (spare_memory, stack_copy, stack_copy_size, ignore_warnings)\r
+       (Vdead, dont_register_blocks, staticvec, staticidx, interval_block)\r
+       (n_interval_blocks, init_strings, check_string_bytes, check_sblock)\r
+       (init_float, free_float, n_cons_blocks, init_cons, all_vectors)\r
+       (n_vectors, symbol_block, symbol_block_index, symbol_free_list)\r
+       (n_symbol_blocks, init_symbol, marker_block, marker_free_list)\r
+       (n_marker_blocks, init_marker, valid_pointer_p, make_pure_float)\r
+       (last_marked, mark_object_loop_halt): Make static.\r
+\r
+       * frame.c (syms_of_frame) <delete-frame-functions>:\r
+       Fix typo in docstring.\r
+\r
+2007-10-25  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * w32.c (init_environment): Fix tiny memory leak.\r
+       (w32_get_resource): Remove unused variable `ok'.\r
+\r
+2007-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       Make `window-system' into a keyboard-local variable (rather than\r
+       frame-local as done originally by multi-tty).\r
+\r
+       * keyboard.h (struct kboard): Add Vwindow_system.\r
+       * keyboard.c (init_kboard): Set a default for Vwindow_system.\r
+       (mark_kboards): Mark Vwindow_system.\r
+\r
+       * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.\r
+       (init_display): Don't set the obsolete `window-system' frame-param.\r
+\r
+       * xterm.c (x_term_init):\r
+       * w32term.c (w32_create_terminal):\r
+       * term.c (init_tty): Set Vwindow_system.\r
+       * macterm.c (mac_create_terminal): Set a keyboard (missing piece of the\r
+       multi-tty merge maybe?), copied from w32term.c.  Set Vwindow_system.\r
+\r
+       * xfns.c (Fx_create_frame, x_create_tip_frame):\r
+       * w32fns.c (Fx_create_frame, x_create_tip_frame):\r
+       * macfns.c (Fx_create_frame):\r
+       Don't set the obsolete `window-system' frame-param.\r
+\r
+       * frame.h (Qwindow_system): Remove.\r
+       * frame.c (Qwindow_system): Remove.  In `syms_of_frame' as well.\r
+       (Fmake_terminal_frame): Don't set obsolete `window-system' frame-param.\r
+\r
+2007-10-24  Richard Stallman  <rms@gnu.org>\r
+\r
+       * frame.c (x_figure_window_size): For fullscreen case,\r
+       set USPosition | PPosition without clobbering rest of window_prompting.\r
+\r
+       * keyboard.c (Fcurrent_idle_time): Doc fix.\r
+\r
+       * print.c (Fwith_output_to_temp_buffer): Doc fix.\r
+\r
+2007-10-23  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * process.c (unwind_request_sigio): Only define if __ultrix__.\r
+\r
+       * callproc.c (child_setup): Remove spurious *.\r
+\r
+       * lisp.h (Fget_text_property): Declare.\r
+       (have_menus_p): Declare it here rather than in sys-dep header files.\r
+       * macterm.h (have_menus_p):\r
+       * msdos.h (have_menus_p):\r
+       * xterm.h (have_menus_p): Remove.\r
+\r
+       * data.c (Fmake_variable_buffer_local, Fmake_local_variable)\r
+       (Fmake_variable_frame_local): Just check the variable's const-ness\r
+       rather than checking nil or t.\r
+\r
+2007-10-22  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32fns.c: Include math.h.\r
+       (w32_abort): Declaration moved to nt/config.nt.\r
+\r
+       * s/ms-w32.h (HAVE_STDLIB_H): Define.\r
+       (abort): Redefinition moved to nt/config.nt.\r
+\r
+       * m/windowsnt.h: Remove.\r
+\r
+2007-10-22  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * emacs.c (Fdump_emacs): Fix typo in message.\r
+       (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.\r
+       <installation-directory>: Reflow docstring.\r
+\r
+2007-10-22  Juri Linkov  <juri@jurta.org>\r
+\r
+       * minibuf.c: Allow minibuffer default to be a list of default values.\r
+       With empty input use the first element of this list as returned default.\r
+       (string_to_object)\r
+       (read_minibuf_noninteractive): If defalt is cons, set val to its car.\r
+       (read_minibuf): If defalt is cons, set histstring to its car.\r
+       (Fread_string): If default_value is cons, set val to its car.\r
+       (Fread_buffer): If def is cons, use its car.\r
+       (Fcompleting_read): If defalt is cons, set val to its car.\r
+\r
+2007-10-21  Michael Albinus  <michael.albinus@gmx.de>\r
+\r
+       * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.\r
+\r
+2007-10-20  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * doc.c (Fdocumentation): Check for advice in all cases.\r
+\r
+2007-10-19  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.\r
+\r
+2007-10-19  Richard Stallman  <rms@gnu.org>\r
+\r
+       * doc.c (Fdocumentation): Check for and handle an advised function.\r
+\r
+2007-10-19  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * process.c (Fset_process_filter): Doc fix.\r
+\r
+2007-10-18  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty\r
+       which caused key-translation-map to applied repeatedly (thus breaking\r
+       double-mode).\r
+\r
+2007-10-17  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * xselect.c (x_own_selection, x_handle_selection_clear)\r
+       (x_clear_frame_selections):\r
+       * w32menu.c (list_of_panes, list_of_items):\r
+       * w32fns.c (w32_color_map_lookup, Fx_create_frame, Fx_display_list):\r
+       * textprop.c (validate_plist, interval_has_all_properties)\r
+       (interval_has_some_properties, interval_has_some_properties_list)\r
+       (add_properties, text_property_list):\r
+       * process.c (Fget_buffer_process, list_processes_1, status_notify):\r
+       * minibuf.c (Fassoc_string):\r
+       * macselect.c (x_own_selection, x_clear_frame_selections)\r
+       (Fx_disown_selection_internal):\r
+       * keymap.c (Fcommand_remapping, where_is_internal, describe_map_tree):\r
+       Use CONSP rather than !NILP and XC[AD]R rather than Fc[ad]r.\r
+\r
+2007-10-17  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * process.c: Link to libs for calling res_init() if available.\r
+       (Fmake_network_process): Call res_init() before getaddrinfo or\r
+       gethostbyname, if possible.\r
+\r
+2007-10-17  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * lread.c (read1): Set pvectype for char_tables.\r
+\r
+       * lisp.h (XMISCANY, XMARKER, XINTFWD, XBOOLFWD, XOBJFWD, XOVERLAY)\r
+       (XBUFFER_OBJFWD, XBUFFER_LOCAL_VALUE, XKBOARD_OBJFWD, XSAVE_VALUE):\r
+       Add type checks.\r
+       (SOME_BUFFER_LOCAL_VALUEP, GC_SOME_BUFFER_LOCAL_VALUEP): Remove.\r
+\r
+       * alloc.c (free_misc): Use XMISCTYPE.\r
+       (live_misc_p, gc_sweep): Use Lisp_Misc_Any.\r
+\r
+2007-10-17  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * minibuf.c (Qcompletion_ignore_case): New Lisp_Object.\r
+       (syms_of_minibuf): Add Qcompletion_ignore_case.\r
+       * dired.c (Qcompletion_ignore_case): Change to external.\r
+       (syms_of_dired) [VMS]: Remove Qcompletion_ignore_case.\r
+       * fileio.c (Qcompletion_ignore_case): New external Lisp_Object.\r
+       (Fread_file_name): Use it rather than intern'ing.\r
+\r
+       * coding.c (Qcompletion_ignore_case): New external Lisp_Object.\r
+       (Fread_coding_system): Ignore case of user input.\r
+\r
+2007-10-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * xdisp.c (handle_display_prop): Ignore display specs after\r
+       replacing one when string text is being replaced.\r
+       (handle_single_display_spec): Pretend as if characters with display\r
+       property haven't been consumed only when buffer text is being replaced.\r
+\r
+2007-10-16  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * xfns.c (Fx_create_frame, Fx_display_list):\r
+       * window.c (window_fixed_size_p, enlarge_window)\r
+       (shrink_window_lowest_first):\r
+       * macterm.c (init_font_name_table):\r
+       * macfns.c (Fx_create_frame, Fx_display_list):\r
+       * lread.c (close_load_descs):\r
+       * keyboard.c (read_char_x_menu_prompt):\r
+       * fns.c (Fmember, Fmemql, Fdelete, Fset_char_table_parent):\r
+       * coding.c (code_convert_region_unwind): Test the type of an object\r
+       rather than just !NILP before extracting data from it.\r
+\r
+       * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.\r
+\r
+       * lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.\r
+       (XMISCANY): New macro.\r
+       (XMISCTYPE): Use it.\r
+       (struct Lisp_Misc_Any): New type.\r
+       (union Lisp_Misc): Use it.\r
+       (struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.\r
+       * data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)\r
+       (find_symbol_value, set_internal, default_value, Fset_default)\r
+       (Fmake_variable_buffer_local, Fmake_local_variable)\r
+       (Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)\r
+       (Flocal_variable_if_set_p, Fvariable_binding_locus):\r
+       The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.\r
+       * alloc.c (allocate_buffer): Set the size and tag.\r
+       (allocate_misc, mark_maybe_object, mark_object, survives_gc_p):\r
+       Use XMISCANY.\r
+       (die): Follow the GNU convention for error messages.\r
+       * print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.\r
+       * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the\r
+       tag any more.\r
+       (set_buffer_internal_1):\r
+       * frame.c (store_frame_param):\r
+       * eval.c (specbind):\r
+       * xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.\r
+\r
+       * doc.c (Fsnarf_documentation): Simplify.\r
+\r
+2007-10-14  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.\r
+       (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.\r
+\r
+2007-10-14  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.\r
+\r
+2007-10-14  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * eval.c (do_autoload): Don't save autoloads.\r
+\r
+       * data.c (Ffset): Save autoload of the function being set.\r
+\r
+2007-10-07  John Paul Wallington  <jpw@pobox.com>\r
+\r
+       * xfns.c (x_create_tip_frame): Set the `display-type' frame\r
+       parameter before setting up faces.\r
+\r
+2007-10-13  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * ccl.c (Fregister_code_conversion_map):\r
+       * keyboard.c (append_tool_bar_item): Reformat last change.\r
+\r
+       * lisp.h (eabs): Rename from `abs'.  All callers changed.\r
+\r
+2007-10-05  Dmitry Antipov  <dmantipov@yandex.ru>\r
+\r
+       * buffer.c (add_overlay_mod_hooklist):\r
+       * ccl.c (Fregister_ccl_program, Fregister_code_conversion_map):\r
+       * fontset.c (make_fontset):\r
+       * keyboard.c (GROW_RAW_KEYBUF, menu_bar_items, menu_bar_item)\r
+       (append_tool_bar_item):\r
+       * macmenu.c (grow_menu_items):\r
+       * w32menu.c (grow_menu_items):\r
+       * xmenu.c (grow_menu_items): Use larger_vector.\r
+\r
+2007-10-13  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving\r
+       selected frame'' on MSDOS).\r
+\r
+2007-10-12  Martin Rudalics  <rudalics@gmx.at>\r
+\r
+       * frame.c (Qexplicit_name): New variable.\r
+       (x_report_frame_params): Report it in parameter alist.\r
+       (syms_of_frame): Intern and staticpro it.\r
+\r
+2007-10-10  Patrick Mahan  <mahan@mahan.org>  (tiny change)\r
+\r
+       * macfns.c (x_create_tip_frame): Set terminal for frame.\r
+\r
+2007-10-10  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * frame.c (Qenvironment): Remove.\r
+       (syms_of_frame) <Qenvironment>: Don't initialize.\r
+       (Fdelete_frame): Don't treat the `environment' param specially.\r
+       * frame.h (Qenvironment): Don't declare.\r
+       * callproc.c (set_initial_environment): Don't set unused frame param.\r
+\r
+       * frame.c (Fframe_with_environment): Remove.\r
+       (syms_of_frame) <Sframe_with_environment>: Don't declare.\r
+\r
+       * lisp.h (Fframe_with_environment): Don't declare.\r
+\r
+2007-10-10  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * indent.c (indent_tabs_mode, last_known_column)\r
+       (last_known_column_modified): Make static.\r
+       (syms_of_indent) <indent-tabs-mode>: Remove redundant info in docstring.\r
+\r
+2007-10-10  Katsumi Yamaoka  <yamaoka@jpl.org>\r
+\r
+       * puresize.h (BASE_PURESIZE): Increase to 1170000.\r
+\r
+2007-10-09  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32term.c (x_set_window_size): Disable code that attempts to tell\r
+       Lisp code about a size change before it actually happens.\r
+\r
+2007-10-09  Richard Stallman  <rms@gnu.org>\r
+\r
+       * xdisp.c (handle_invisible_prop): After setting up an ellipsis,\r
+       return HANDLED_RETURN.\r
+\r
+2007-10-08  Martin Rudalics  <rudalics@gmx.at>\r
+\r
+       * keyboard.c (kbd_buffer_get_event): Break loop waiting for input\r
+       when there's an unread command event.\r
+\r
+       * frame.c (focus_follows_mouse): Move here from frame.el to allow\r
+       window autoselection act appropriately when leaving selected frame.\r
+       (syms_of_frame): Initialize focus_follows_mouse.\r
+       * frame.h (focus_follows_mouse): Extern it.\r
+       * macterm.c (XTread_socket): When focus_follows_mouse is nil\r
+       make SELECT_WINDOW_EVENT only if we don't leave the selected frame.\r
+       * msdos.c (dos_rawgetc): Likewise.\r
+       * w32term.c (w32_read_socket): Likewise.\r
+       * xterm.c (handle_one_xevent): Likewise.\r
+       * xdisp.c (syms_of_xdisp): In doc-string of\r
+       mouse-autoselect-window mention focus-follows-mouse.\r
+\r
+2007-10-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * macterm.c (mac_load_query_font): Fix missing return value.\r
+       [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):\r
+       Add BLOCK_INPUT.\r
+\r
+2007-10-08  Richard Stallman  <rms@gnu.org>\r
+\r
+       * xdisp.c (get_window_cursor_type): Implement documented behavior\r
+       for cursor-in-non-selected-windows = t.\r
+\r
+2007-10-08  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32.c (w32_get_resource): Always close registry keys.\r
+\r
+2007-10-08  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * makefile.w32-in (LIBS): Add COMCTL32.\r
+\r
+       * w32fns.c (globals_of_w32fns): Init common controls.\r
+\r
+2007-10-08  Richard Stallman  <rms@gnu.org>\r
+\r
+       * image.c (our_memory_buffer): Rename from omfib_buffer.\r
+\r
+2007-10-08  Richard Stallman  <rms@gnu.org>\r
+\r
+       * buffer.c (Foverlays_at): Doc fix.\r
+\r
+2007-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * fns.c (Fplist_put): Preserve uneven tail data.\r
+\r
+2007-10-08  Peter O'Gorman  <bug-gnu-emacs@mlists.thewrittenword.com>  (tiny change)\r
+\r
+       * termhooks.h (enum event_kind): Remove trailing comma.\r
+\r
+       * frame.h (enum): Remove trailing comma.\r
+\r
+2007-10-08  Dhruva Krishnamurthy  <dhruvakm@gmail.com>  (tiny change)\r
+\r
+       * w32proc.c (delete_child): Don't terminate threads of zombies.\r
+\r
+2007-10-08  Martin Rudalics  <rudalics@gmx.at>\r
+\r
+       * keyboard.h (struct kboard): New elt Vlast_repeatable_command.\r
+\r
+       * keyboard.c (syms_of_keyboard): Set up new Lisp variable\r
+       last-repeatable-command.\r
+       (init_kboard): Initialize Vlast_repeatable_command.\r
+       (command_loop_1): Set it to real_this_command unless that was\r
+       bound to an input event.\r
+       (mark_kboards): Mark it.\r
+\r
+2007-10-08  Richard Stallman  <rms@gnu.org>\r
+\r
+       * eval.c (condition-case): Doc fix.\r
+\r
+2007-10-08  Masatake YAMATO  <jet@gyve.org>\r
+\r
+       * xfaces.c (tty_supports_face_attributes_p): Fix code\r
+       for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code\r
+       was copied and not edited.\r
+\r
+2007-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       Add new `input-decode-map' keymap and use it for terminal\r
+       escape sequences.\r
+       * keyboard.h (struct kboard): Add Vinput_decode_map.\r
+       Remove Vlocal_key_translation_map.\r
+       * keyboard.c (read_key_sequence): Add support for input-decode-map.\r
+       (init_kboard): Init input-decode-map.\r
+       Replace local-key-translation-map back with key-translation-map.\r
+       (syms_of_keyboard): Declare input-decode-map.\r
+       Remove local-key-translation-map.  Update docstrings.\r
+       (mark_kboards): Mark Vinput_decode_map.\r
+       Don't mark Vlocal_key_translation_map.\r
+       * keymap.c (Fdescribe_buffer_bindings): Describe input-decode-map.\r
+       Replace local-key-translation-map back with key-translation-map.\r
+       * term.c (term_get_fkeys_1, CONDITIONAL_REASSIGN):\r
+       Bind in input-decode-map rather than function-key-map.\r
+\r
+       * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.\r
+       This was made redundant by the previous introduction of XSETPVECTYPE.\r
+\r
+2007-10-09  Richard Stallman  <rms@gnu.org>\r
+\r
+       * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.\r
+\r
+2007-09-29  Richard Stallman  <rms@gnu.org>\r
+\r
+       * eval.c (internal_condition_case_2, internal_condition_case_1)\r
+       (internal_condition_case): Reenable abort if x_catching_errors ()\r
+       to see if that really happens and why.\r
+\r
+2007-10-06  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.\r
+\r
+2007-10-04  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * image.c (syms_of_image) <image-types>: Fix typo in docstring.\r
+\r
+2007-10-03  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.\r
+\r
+2007-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * window.h (struct window):\r
+       * window.c (struct save_window_data, struct saved_window):\r
+       * termhooks.h (struct terminal):\r
+       * process.h (struct Lisp_Process):\r
+       * frame.h (struct frame):\r
+       * buffer.h (struct buffer):\r
+       * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table)\r
+       (struct Lisp_Bool_Vector, struct Lisp_Subr, struct Lisp_Hash_Table):\r
+       The size field of (pseudo)vectors is now unsigned.\r
+       (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Simplify accordingly.\r
+\r
+       * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.\r
+       Turn `count' into an integer.\r
+\r
+       * fns.c (make_hash_table, hash_put, hash_remove, hash_clear)\r
+       (sweep_weak_table, sweep_weak_hash_tables, Fhash_table_count):\r
+       * print.c (print_object) <HASH_TABLE_P>: `count' is an int.\r
+       * alloc.c (allocate_hash_table): Use ALLOCATE_PSEUDOVECTOR.\r
+       (mark_object) <HASH_TABLE_P>: Use mark_vectorlike.\r
+\r
+       * alloc.c (allocate_pseudovector): New fun.\r
+       (ALLOCATE_PSEUDOVECTOR): New macro.\r
+       (allocate_window, allocate_terminal, allocate_frame)\r
+       (allocate_process): Use it.\r
+       (mark_vectorlike): New function.\r
+       (mark_object) <FRAMEP, WINDOWP, BOOL_VECTOR_P, VECTORP>: Use it.\r
+       (mark_terminals): Use it.\r
+       (Fmake_bool_vector, Fmake_char_table, make_sub_char_table)\r
+       (Fmake_byte_code): Use XSETPVECTYPE.\r
+\r
+       * frame.c (Fframe_parameters): Minor simplification.\r
+\r
+       * insdel.c (adjust_markers_for_insert): Generalize assertion checks.\r
+\r
+       * marker.c (Fmarker_buffer): Make test for odd case into a failure.\r
+\r
+       * buffer.c (Fget_buffer_create, init_buffer_once):\r
+       * lread.c (defsubr):\r
+       * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.\r
+\r
+       * lisp.h (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG): Don't let them be\r
+       defined differently in the m/*.h files.\r
+       (XCHAR_TABLE, XBOOL_VECTOR): Add assertion checking.\r
+       (XSETPVECTYPE): New macro.\r
+       (XSETPSEUDOVECTOR): Use it.\r
+\r
+       * buffer.c (syms_of_buffer) <local-abbrev-table>: Move from abbrev.c.\r
+       (DEFVAR_PER_BUFFER, defvar_per_buffer): Move from lisp.h and lread.c.\r
+\r
+       * lisp.h (defvar_per_buffer, DEFVAR_PER_BUFFER):\r
+       * lread.c (defvar_per_buffer):\r
+       * abbrev.c (syms_of_abbrev) <local-abbrev-tabl>: Move to buffer.c.\r
+\r
+       * window.c (candidate_window_p): Only consider as visible frames that\r
+       are on the same terminal.\r
+\r
+       * m/ibms390x.h (MARKBIT): Remove unused macro.\r
+\r
+2007-10-01  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * lread.c (Fload): Fix typo in docstring.\r
+\r
+2007-10-01  Michaël Cadilhac  <michael@cadilhac.name>\r
+\r
+       * floatfns.c (Fexpt): Manually check for overflows, so that a power\r
+       of a non-zero value can't yield zero.\r
+\r
+2007-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * term.c (term_clear_mouse_face, term_mouse_highlight)\r
+       (tty_write_glyphs_with_face): Only define is HAVE_GPM.\r
+\r
+       * print.c (safe_debug_print): Use XHASH.\r
+\r
+       * lisp.h (DECL_ALIGN, USE_LSB_TAG): Move logic to before definition of\r
+       Lisp elements such as tags.\r
+       (XHASH): New macro.\r
+       (EQ): Use it.\r
+       (SREF, SSET, STRING_COPYIN): Use SDATA.\r
+       (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): Remove.\r
+\r
+       * alloc.c (mark_terminal): Remove left-over declaration.\r
+       (enum mem_type): Replace all vector subtypes -> MEM_TYPE_VECTORLIKE.\r
+       (allocate_vectorlike): Remove type argument.  Adjust callers.\r
+       (live_vector_p, mark_maybe_pointer, valid_lisp_object_p):\r
+       Only handle the one remaining MEM_TYPE_VECTORLIKE.\r
+\r
+       * alloc.c (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): New macros\r
+       to avoid unnecessary BLOCK_INPUTs when SYNC_INPUT is used.\r
+       (xmalloc, xrealloc, xfree, lisp_malloc, lisp_free, lisp_align_malloc)\r
+       (lisp_align_free, make_interval, allocate_string, allocate_string_data)\r
+       (make_float, Fcons, allocate_vectorlike, Fmake_symbol, allocate_misc):\r
+       Use them.\r
+\r
+       * xfaces.c (load_face_font, free_realized_face, clear_face_gcs):\r
+       Don't let signal handlers run when a GC is freed but not yet NULL'ed.\r
+       (x_free_gc): Remove BLOCK_INPUT since it's now redundant.\r
+\r
+2007-09-28  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * Makefile.in (lisp, shortlisp): Delete server.elc, it is not\r
+       loaded by default.\r
+\r
+2007-09-28  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * term.c (Fgpm_mouse_start): Don't signal an error if already activated\r
+       on this tty.\r
+       (Fgpm_mouse_stop): Only deactivate if it was activated on this tty.\r
+\r
+       * term.c (mouse_face_window): Rename from Qmouse_face_window.\r
+       Update all users.\r
+       (handle_one_term_event): Use Gpm_DrawPointer.\r
+       (Fgpm_mouse_start): Rename from Fterm_open_connection.\r
+       Signal errors instead of returning nil.  Always return nil.\r
+       (Fgpm_mouse_stop): Rename from Fterm_close_connection.\r
+       Make it a noop if gpm-mouse was not activated.\r
+       (syms_of_term): Update names.\r
+\r
+2007-09-27  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.\r
+       (init_sys_modes): Check that gpm_tty is the current tty.\r
+\r
+       * alloc.c (allocate_terminal): Set the vector size to only count the\r
+       lisp fields.  Initialize those to nil.\r
+       (mark_object): Don't treat terminals specially.\r
+       (mark_terminal): Remove.\r
+       (mark_terminals): Use mark_object instead.\r
+\r
+       * termhooks.h (struct terminal): Move all Lisp_Object fields traced by\r
+       the GC to the beginning.\r
+\r
+       * indent.h:\r
+       * indent.c: Use EMACS_INT for ints coming from Elisp data.\r
+\r
+       * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.\r
+\r
+2007-09-25  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.\r
+\r
+       * w32console.c (create_w32cons_output): Remove.\r
+\r
+       * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.\r
+\r
+       * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.\r
+       (reset_sys_modes): Use reset_terminal_modes_hook.\r
+\r
+2007-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * eval.c (do_autoload): Don't output any message.\r
+\r
+2007-09-24  Juri Linkov  <juri@jurta.org>\r
+\r
+       * emacs.c (standard_args): Change priority of "--no-splash"\r
+       from 40 to 3.  Add "--no-desktop" with the same priority.\r
+\r
+2007-09-23  Dmitry Antipov  <dmantipov@yandex.ru>\r
+\r
+       * alloc.c (gc_sweep): Check cons cell mark bits word by word\r
+       and optimize the case where they are all 1.\r
+\r
+2007-09-23  Johannes Weiner  <hannes@saeurebad.de>\r
+\r
+       * lisp.h (abs): Define if not defined.\r
+       * keyboard.c, sound.c, w32term.c, xfaces.c, xterm.c:\r
+       Don't define `abs', since it's defined in lisp.h.\r
+\r
+2007-09-22  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * term.c (DEV_TTY): New macro.  Provide a definition for MS-Windows.\r
+       (FRAME_TERMCAP_P) [WINDOWSNT]: Don't define to zero.\r
+       (Fcontrolling_tty_p, Fresume_tty, dissociate_if_controlling_tty)\r
+       (init_tty): Use DEV_TTY instead of "/dev/tty".\r
+       [WINDOWSNT]: No need to protect from NAME arg being null.\r
+\r
+2007-09-21  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning\r
+       up the tty state.\r
+\r
+2007-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * termhooks.h (term_gpm): Delete.  Use gpm_tty's NULLness instead.\r
+       (gpm_tty): Change its type.\r
+       * term.c (term_gpm): Delete.  Use gpm_tty's NULLness instead.\r
+       (gpm_tty): Change its type and initialize it.\r
+       (Fterm_open_connection): Check the frame is indeed a tty.\r
+       Use the new gpm_tty.\r
+       (Fterm_close_connection): Use the new gpm_tty.\r
+       * keyboard.c (tty_read_avail_input): Use the new gpm_tty.\r
+       * sysdep.c (init_sys_modes): term_gpm -> gpm_tty.\r
+\r
+2007-09-21  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * w32term.c (x_draw_glyph_string): Use strike_through_color, not\r
+       underline_color, to draw strike-through.\r
+\r
+2007-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * lisp.h (allocate_terminal): Declare.\r
+\r
+       * window.c (candidate_window_p): Consider frames that are being placed\r
+       by the user as somewhere between visible and iconified.\r
+       (window_loop): Prefer windows on the current frame.\r
+       (Fselect_window): Move the use of select-frame to the beginning so we\r
+       can just delegate all the work (it'll call us back anyway).\r
+\r
+       * frame.c (Qdisplay_environment_variable):\r
+       * frame.h (Qdisplay_environment_variable): Delete.\r
+\r
+       * .gdbinit (xbacktrace): Print the arg's address rather than the value\r
+       of the first arg, since that value may be a union.\r
+\r
+       * callproc.c (child_setup, getenv_internal): Use the frame's `display'\r
+       parameter rather than Qdisplay_environment_variable.  If all else\r
+       fails, look for DISPLAY in initial-environment.\r
+\r
+2007-09-21  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * Makefile.in (emacstool): Remove target.\r
+       (lisp, shortlisp): Remove termdev.elc.\r
+\r
+2007-09-21  Markus Triska  <markus.triska@gmx.at>\r
+\r
+       * xterm.c (x_delete_display): Compile session management conditionally.\r
+\r
+2007-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * callproc.c (getenv_internal_1): New function.\r
+       (getenv_internal): Use it.\r
+       (Fgetenv_internal): Use it.  Accept an env-list as optional arg.\r
+\r
+       * terminal.c (get_terminal): Don't accept ints to represent terminals.\r
+       (Fterminal_name, Fterminal_parameters, Fterminal_parameter)\r
+       (Fset_terminal_parameter): Work with dead terminals as well.\r
+       (Fmodify_terminal_parameters): Remove.\r
+\r
+       * terminal.c (get_terminal): Handle terminals.\r
+       Make sure the terminal returned is live.\r
+       (create_terminal): Use allocate_terminal.\r
+       (mark_terminals): Move to alloc.c.\r
+       (delete_terminal): Use terminal->name as liveness status.\r
+       NULL out fields after freeing their contents.\r
+       Don't deallocate the object.\r
+       (Fframe_terminal): Use FRAME_TERMINAL.  Return the terminal object\r
+       rather than an int.\r
+       (Fterminal_live_p): Accept non-integer arguments.\r
+       (Fterminal_list): Return terminal objects rather than an ints.\r
+\r
+       * alloc.c (enum mem_type): New member for `terminal' objects.\r
+       (allocate_terminal): New function.\r
+       (mark_maybe_pointer, valid_lisp_object_p, mark_object):\r
+       Handle terminals.\r
+       (mark_terminal): New fun.\r
+       (mark_terminals): Move from terminal.c.\r
+\r
+       * term.c (get_tty_terminal): Don't treat output_initial specially.\r
+       (Fsuspend_tty, Fresume_tty): Use terminal objects rather than ints.\r
+       (delete_tty): Use terminal->name as liveness status.\r
+\r
+       * termhooks.h (struct terminal): Make it into a pseudovector.\r
+       Remove `deleted' replaced by checking `name's nullness.\r
+\r
+       * print.c (print_object): Handle terminals.\r
+\r
+       * lisp.h (enum pvec_type): New `terminal' pseudovector.\r
+       (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.\r
+\r
+       * frame.c (make_terminal_frame):\r
+       * keyboard.c (tty_read_avail_input):\r
+       * w32term.c (x_delete_terminal):\r
+       * xfns.c (Fx_create_frame, x_create_tip_frame):\r
+       * xterm.c (x_delete_terminal): Use terminal->name as liveness status.\r
+\r
+2007-09-20  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * process.c (Fmake_network_process): Doc fix.\r
+\r
+2007-09-19  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.\r
+\r
+2007-09-19  Michaël Cadilhac  <michael@cadilhac.name>\r
+\r
+       * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):\r
+       Fix a C warning regarding variable constness.\r
+\r
+       * xterm.c (handle_one_xevent): Fix a C warning.\r
+\r
+2007-09-18  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.\r
+\r
+2007-09-17  Jan Djärv  <jan.h.d@swipnet.se>\r
+\r
+       * gtkutil.c (gdpy_def): New variable.\r
+       (xg_initialize): Initialize gdpy_def.\r
+       (xg_display_close): If no other display exists, set gdpy_def to a\r
+       new connection.\r
+\r
+2007-09-16  Jan Djärv  <jan.h.d@swipnet.se>\r
+\r
+       * gtkutil.c (xg_get_image_for_pixmap): Always create a GdkPixbuf\r
+       when we have no file name for the icon.\r
+       (xg_tool_bar_expose_callback): Remove.\r
+       (xg_create_tool_bar): Don't connect expose signal to\r
+       xg_tool_bar_expose_callback.\r
+       (xg_get_file_with_chooser): Move GCPRO1 after declarations.\r
+\r
+2007-09-16  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * alloc.c (reset_malloc_hooks): Set the hooks to the previous\r
+       values instead of zapping them.\r
+\r
+2007-09-14  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * fringe.c (init_fringe_bitmap) <swap_nibble>: Move to file scope.\r
+       * gtkutil.c (xg_separator_p) <separator_names>: Move to file scope.\r
+       * image.c (our_memory_fill_input_buffer) <buffer>: Move to file\r
+       scope and rename to omfib_buffer for clarity.\r
+       (gif_load) <interlace_start, interlace_increment>: Move to file scope.\r
+\r
+2007-09-14  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.\r
+\r
+2007-09-13  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.\r
+\r
+       * w32term.c (w32_term_init): Pass rif to w32_init_fringe.\r
+\r
+       * macterm.c (mac_initialize): Don't call mac_init_fringe here.\r
+       (mac_term_init): Call here instead, passing rif.\r
+\r
+2007-09-13  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * s/hpux.h: No longer define `static' as nothing.\r
+\r
+2007-09-13  Johan Bockgård  <bojohan@gnu.org>\r
+\r
+       * callint.c (Fcall_interactively): Remove unused var `fun'.\r
+\r
+2007-09-12  Romain Francoise  <romain@orebokech.com>\r
+\r
+       * window.c (prefer_window_split_horizontally, display_buffer):\r
+       Revert 2007-09-08 change.\r
+\r
+2007-09-12  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * alloca.c: Remove file.\r
+       * Makefile.in (alloca): Do not undef.\r
+       (allocaobj, alloca.o): Remove.\r
+       (otherobj): Remove allocaobj.\r
+       * keyboard.c (command_loop_1): Remove #ifdef C_ALLOCA block.\r
+       * regex.c (C_ALLOCA): Remove all references and code that was only\r
+       used when this was defined.\r
+       * search.c (boyer_moore): Remove #ifdef C_ALLOCA block.\r
+       * xmenu.c (xmenu_show): Remove #ifdef C_ALLOCA block.\r
+       * m/ibms390x.h, m/sh3el.h (C_ALLOCA): Remove references to this.\r
+\r
+       * Makefile.in (SOURCES, unlock, relock): Delete.\r
+\r
+       * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.\r
+       (menu_grab_callback): All uses changed.\r
+\r
+       * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.\r
+       (x_reply_selection_request): All uses changed.\r
+\r
+2007-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * lread.c (load_warn_old_style_backquotes): Change message to look\r
+       better when it appears in the middle of byte-compiler messages.\r
+\r
+2007-09-10  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * s/darwin.h (MULTI_KBOARD): Only define for Carbon.\r
+\r
+       * xterm.c (x_create_terminal): Add comment.\r
+\r
+       * term.c (clear_tty_hooks, set_tty_hooks): Add comments.\r
+\r
+2007-09-10  Richard Stallman  <rms@gnu.org>\r
+\r
+       * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.\r
+\r
+2007-09-10  Michaël Cadilhac  <michael@cadilhac.name>\r
+\r
+       * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.\r
+       (DEFUN): Document `intspec', use it instead of `prompt'.\r
+\r
+       * eval.c (Fcommandp): Change `->prompt' to `->intspec'.\r
+\r
+       * data.c (Finteractive_form): If the interactive specification starts\r
+       with a `(', use it as a Lisp form.\r
+\r
+       * fileio.c (Fset_file_modes): Add an interactive spec that reads a file\r
+       name and file modes.\r
+\r
+       * callint.c (Fcall_interactively): Comment fixes.\r
+\r
+2007-09-10  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * callint.c (Fcall_interactively): Use Finteractive_form also for subrs\r
+       and compiled functions.\r
+\r
+2007-09-08  Fredrik Axelsson  <f.axelsson@gmail.com>\r
+\r
+       * window.c (prefer_window_split_horizontally): New variable.\r
+       (display_buffer): Consider splitting window horizontally depending\r
+       on prefer_window_split_horizontally.\r
+\r
+2007-09-08  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * sysdep.c [WINDOWSNT]: Don't include sysselect.h.\r
+\r
+2007-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.\r
+\r
+       * frame.c (x_set_frame_parameters): Check number is positive before\r
+       using XFASTINT.\r
+\r
+       * window.c (freeze_window_start): Don't presume selected_window holds\r
+       a window object.\r
+       (Fdisplay_buffer): Remove `register' since `buffer' needs to be gcpro'd.\r
+\r
+2007-09-07  Angelo Graziosi  <Angelo.Graziosi@roma1.infn.it>  (tiny change)\r
+\r
+       * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.\r
+\r
+2007-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * window.c (Vsplit_window_preferred_function): New var.\r
+       (Fdisplay_buffer): Use it.\r
+       (syms_of_window): Export, and initialize it.\r
+\r
+2007-09-06  Pixel  <pixel@mandriva.com>  (tiny change)\r
+\r
+       * image.c (gif_load): Fix bug: Handle nonexistent colormap.\r
+\r
+2007-09-06  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * gtkutil.c (menu_grab_callback) <cnt>:\r
+       * xselect.c (x_reply_selection_request) <cnt>: Move static\r
+       variable to file scope.\r
+\r
+2007-09-06  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * xdisp.c (redisplay_internal): Make sure Elisp code always sees\r
+       consistent values of selected_frame and selected_window.\r
+\r
+2007-09-04  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32console.c (initialize_w32_display): Zero unused hooks.\r
+\r
+2007-09-04  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * term.c (Vsuspend_tty_functions, Vresume_tty_functions)\r
+       (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.\r
+\r
+2007-09-04  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * term.c (init_tty) [WINDOWSNT]: Add hooks that are not accessible\r
+       in w32console.c.  Set up input.  Remove XXX comments that have been\r
+       confirmed as correct.\r
+\r
+       * s/ms-w32.h (MULTI_KBOARD): Define.\r
+\r
+       * w32console.c (one_and_only_w32cons): Remove.\r
+       (initialize_w32_display): Take terminal argument.\r
+\r
+       * term.c (init_tty) [WINDOWSNT]: Pass terminal to\r
+       initialize_w32_display.\r
+       (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.\r
+\r
+       * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.\r
+\r
+       * keyboard.c (discard_mouse_events): Discard it.\r
+       (make_lispy_event): Translate it to a lisp event.\r
+       (lispy_wheel_names): Add wheel-left and right events.\r
+       (syms_of_keyboard): Enlarge wheel_syms.\r
+\r
+       * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.\r
+       <WM_MOUSEHWHEEL>: Pass new system message to lisp.\r
+\r
+       * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.\r
+\r
+       * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT\r
+       from WM_MOUSEHWHEEL.\r
+       (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.\r
+\r
+       * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from\r
+       terminal.\r
+\r
+       * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new\r
+       keyboard for the terminal.\r
+\r
+2007-09-04  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * term.c (Vsuspend_tty_hook): Rename from Vsuspend_tty_functions.\r
+       (Vresume_tty_hook): Rename from Vresume_tty_functions.\r
+       (syms_of_term): Rename suspend-tty-functions to suspend-tty-hook\r
+       and resume-tty-function to resume-tty-hook.\r
+       (Fsuspend_tty, Fresume_tty): Use new names.\r
+\r
+2007-09-02  Jan Djärv  <jan.h.d@swipnet.se>\r
+\r
+       * gtkutil.c (update_frame_tool_bar): Handle stock name as a named icon\r
+       if it starts with "n:".\r
+\r
+2007-08-31  Jan Djärv  <jan.h.d@swipnet.se>\r
+\r
+       * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.\r
+\r
+2007-08-31  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * frame.h:\r
+       * frame.c (Qterm_environment_variable): Remove.\r
+       (syms_of_frame): Don't init and staticpro it.\r
+\r
+       * callproc.c (getenv_internal): Remove special case for $TERM.\r
+\r
+       * callproc.c (Vinitial_environment): New variable.\r
+       (set_initial_environment): Initialize it.\r
+       (syms_of_callproc): Declare it.\r
+       (child_setup): Don't mess with TERM via Qterm_environment_variable; the\r
+       TERM under which a process runs is never related to the TERM in which\r
+       Emacs is running.\r
+\r
+2007-08-29  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...\r
+       * s/darwin.h: ... do it here.\r
+\r
+2007-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * lisp.h (set_initial_environment): Rename from set_global_environment.\r
+\r
+       * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been\r
+       removed by mistake on the multi-tty branch.\r
+\r
+       * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.\r
+       (Fmodify_frame_parameters): Return a value.\r
+\r
+       * image.c (png_load): Comment-out var only used in commented-out code.\r
+\r
+       * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)\r
+       before passing it to mark_object.\r
+\r
+       * xfaces.c (internal_resolve_face_name): Return a value.\r
+       (internal_resolve_face_name, resolve_face_name_error): Comment out.\r
+\r
+       * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.\r
+       (x_icon): Comment-out var only used in commented-out code.\r
+\r
+2007-08-29  Romain Francoise  <romain@orebokech.com>\r
+\r
+       * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if\r
+       QUIT hasn't been provided.\r
+\r
+2007-08-29  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * callproc.c (child_setup, getenv_internal): Use the\r
+       display-environment-variable and term-environment-variable frame params.\r
+       (set_initial_environment): Initialise Vprocess_environment.\r
+\r
+       * config.in: Disable multi-keyboard support on a mac.\r
+\r
+       * frame.c (Qterm_environment_variable)\r
+       (Qdisplay_environment_variable): New variables.\r
+       (syms_of_frame): Intern and staticpro them.\r
+       (Fmake_terminal_frame): Disable output method test.\r
+\r
+       * frame.h: Declare them here.\r
+\r
+       * macfns.c (x_set_mouse_color): Get rif from the frame.\r
+       (x_set_tool_bar_lines): Don't use updating_frame.\r
+       (mac_window): Add 2 new parameters for consistency with other systems.\r
+       (Fx_create_frame): Fix doc string.  Rename the parameter.  Set the\r
+       frame parameters following what is done in X11 and w32.  Don't use\r
+       FRAME_MAC_DISPLAY_INFO.\r
+       (Fx_open_connection, start_hourglass): Remove window-system check.\r
+       (x_create_tip_frame): Get the keyboard from the terminal.\r
+\r
+       * macmenu.c: Reorder includes.\r
+       (Fx_popup_menu): Use terminal specific mouse_position_hook.\r
+\r
+       * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a\r
+       terminal parameter.\r
+       (x_clear_frame): Add a frame parameter.\r
+       (note_mouse_movement): Get rif from the frame.\r
+       (mac_term_init): Initialize the terminal.\r
+       (mac_initialize): Make static and move terminal initialization ...\r
+       (mac_create_terminal): ... to this new function.\r
+\r
+       * macterm.h (struct mac_display_info): Add terminal.\r
+       (mac_initialize): Delete declaration.\r
+\r
+       * puresize.h (BASE_PURESIZE): Increase base value to 1164000.\r
+\r
+       * sysdep.c: Comment out text after #endif.\r
+\r
+       * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD\r
+       is defined.  Better initialize ttys in windows.  Use terminal\r
+       specific mouse_position_hook.\r
+\r
+       * termhooks.h (union display_info): Add mac_display_info.\r
+\r
+       * w32fns.c (Fx_create_frame): Use kboard from the terminal.\r
+       Set the default minibuffer frame, window_system and the rest of the\r
+       frame parameters following what is done in X11.\r
+\r
+       * w32term.c (w32_initialize): Make static.\r
+\r
+       * xselect.c (x_handle_selection_clear): Only access\r
+       terminal->kboard when MULTI_KBOARD is defined.\r
+\r
+       * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.\r
+       (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.\r
+\r
+2007-08-29  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.\r
+       (make_terminal_frame) [WINDOWSNT]: Initialize terminal.\r
+\r
+       * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:\r
+       (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.\r
+\r
+       * keyboard.c (restore_kboard_configuration): Only define when\r
+       MULTI_KBOARD defined.\r
+\r
+       * makefile.w32-in: Update dependancies from Makefile.in.\r
+       (OBJ1): Add terminal.$(O)\r
+\r
+       * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:\r
+       Don't define function body.\r
+       (init_tty) [WINDOWSNT]: Use selected_frame for initializing.\r
+\r
+       * termhooks.h (display_info) [WINDOWSNT]: Add w32.\r
+\r
+       * w32.c (request_sigio, unrequest_sigio): Remove.\r
+\r
+       * w32console.c (w32con_move_cursor, w32con_clear_to_end)\r
+       (w32con_clear_frame, w32con_clear_end_of_line)\r
+       (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)\r
+       (w32con_delete_glyphs, w32con_set_terminal_window)\r
+       (scroll_line, w32_sys_ring_bell): Add frame arg.\r
+       (w32con_set_terminal_modes, w32con_reset_terminal_modes):\r
+       Add terminal arg.\r
+       (PICK_FRAME): Remove.\r
+       (w32con_write_glyphs): Use frame specific terminal coding.\r
+       (one_and_only_w32cons): New global variable.\r
+       (initialize_w32_display): Use it for storing hooks.\r
+       (create_w32cons_output): New function.\r
+\r
+       * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first\r
+       arg a frame.\r
+\r
+       * w32fns.c (x_create_tip_frame): Set terminal and ref count.\r
+       Set window_system.\r
+       (x_set_tool_bar_lines): Don't use updating_frame.\r
+       (Fx_create_frame): Set terminal and ref count.\r
+       (Fx_open_connection): Remove window-system check.\r
+\r
+       * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.\r
+\r
+       * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.\r
+       (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.\r
+       (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):\r
+       Add frame arg.\r
+       (x_delete_terminal, w32_create_terminal): New functions.\r
+       (w32_term_init): Create a terminal.\r
+       (w32_initialize): Move terminal specific initialization to\r
+       w32_create_terminal.\r
+\r
+       * w32term.h (x_output): Remove foreground_pixel and background_pixel.\r
+       (w32_clear_rect, w32_clear_area): Use background from frame.\r
+       (w32_display_info): Add terminal.\r
+       (w32_sys_ring_bell, x_delete_display): Declare here.\r
+\r
+       * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.\r
+\r
+       * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.\r
+\r
+2007-08-29  Kalle Olavi Niemitalo  <kon@iki.fi>  (tiny change)\r
+\r
+       * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):\r
+       Fix get_named_tty calls for the controlling tty.\r
+\r
+2007-08-29  ARISAWA Akihiro  <ari@mbf.ocn.ne.jp>  (tiny change)\r
+\r
+       * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.\r
+\r
+2007-08-29  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>  (tiny change)\r
+\r
+       * term.c (tty_insert_glyphs): Add missing first parameter.\r
+\r
+2007-08-29  Károly Lőrentey  <karoly@lorentey.hu>\r
+\r
+       * buffer.c (Fbuffer_list, Fbury_buffer):\r
+       Take frame->buried_buffer_list into account.\r
+\r
+       * cm.c (current_tty): New variable, for cmputc().\r
+       (cmputc): Use it.\r
+       (cmcheckmagic): Add tty parameter, look up terminal streams there.\r
+       (calccost): Add tty parameter.  Use emacs_tputs() instead of tputs().\r
+       (cmgoto): Add tty parameter.  Pass it on to calccost().\r
+       Use emacs_tputs() instead of tputs().\r
+\r
+       * cm.h (emacs_tputs): New macro to set current_tty, and then call\r
+       tputs().\r
+       (current_tty): New variable, for cmputc().\r
+       (cmcheckmagic, cmputc, cmgoto): Add prototypes.\r
+\r
+       * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.\r
+       (internal_condition_case, internal_condition_case_1)\r
+       (internal_condition_case_2): Don't abort when x_catching_errors.\r
+\r
+       * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.\r
+       (Fy_or_n_p): Likewise.  Use temporarily_switch_to_single_kboard to\r
+       prevent crashes caused by bogus longjmps in read_char.\r
+\r
+       * keymap.h (Fset_keymap_parent): Add EXFUN.\r
+\r
+       * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)\r
+       * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):\r
+       Remove redundant definition.\r
+\r
+       * macfns.c (x_set_mouse_color, x_make_gc):\r
+       Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.\r
+\r
+       * w32term.c (x_free_frame_resources):\r
+       Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.\r
+       (w32_initialize): Use the accessor macros for terminal characteristics.\r
+\r
+       * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.\r
+       Use the accessor macros for terminal characteristics.\r
+       * msdos.c (internal_terminal_init): Use the accessor macros for\r
+       terminal characteristics.\r
+       (ScreenVisualBell, internal_terminal_init):\r
+       Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.\r
+\r
+       * termopts.h (no_redraw_on_reenter): Declare.\r
+\r
+       * alloc.c (emacs_blocked_malloc): Disable mallopt call.\r
+       (mark_terminals, mark_ttys): Declare.\r
+       (Fgarbage_collect): Call them.\r
+       (mark_object): Mark buried_buffer_list.\r
+\r
+       * prefix-args.c: Include stdlib.h for exit.\r
+\r
+       * syssignal.h: Add comment.\r
+\r
+       * indent.c: Include stdio.h.\r
+\r
+       * window.h (Vinitial_window_system): Declare.\r
+       (Vwindow_system): Delete declaration.\r
+\r
+       * fontset.c (Finternal_char_font): Use FRAME_RIF.\r
+\r
+       * image.c (lookup_image): Don't initialize `c' until the xasserts\r
+       have been run.\r
+\r
+       * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and\r
+       FRAME_FOREGROUND_PIXEL.\r
+\r
+       * print.c (print_preprocess): Don't lose print_depth levels while\r
+       iterating.\r
+\r
+       * widget.c (update_from_various_frame_slots):\r
+       Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.\r
+\r
+       * window.c (set_window_buffer): Don't call clear_mouse_face on tty\r
+       frames.\r
+       (window_internal_height): Remove bogus make_number call.\r
+       (init_window_once): Call make_terminal_frame with two zero parameters.\r
+\r
+       * fileio.c (Fread_file_name): Update comment.\r
+\r
+       * callint.c (Fcall_interactively):\r
+       Use temporarily_switch_to_single_kboard instead of single_kboard_state.\r
+       Make sure it is correctly unwound.\r
+\r
+       * xsmfns.c (x_session_close): New function.\r
+\r
+       * coding.h (terminal_coding, safe_terminal_coding, keyboard_coding):\r
+       Delete declarations.\r
+\r
+       * xterm.h: Remove declaration for x_fully_uncatch_errors.\r
+       (x_output): Remove background_pixel and foreground_pixel fields.\r
+       (x_display_info): Add new field TERMINAL.  Remove KBOARD field.\r
+       (x_delete_device, x_session_close): Declare.\r
+\r
+       * lread.c: Include setjmp.h.  Update declaration of `read_char'.\r
+       (read_filtered_event): Call `read_char' with a local\r
+       `wrong_kboard_jmpbuf'.\r
+\r
+       * minibuf.c (read_minibuf): Call temporarily_switch_to_single_kboard.\r
+       Don't call single_kboard_state.  Use FRAME_RIF.\r
+\r
+       * process.c (Fmake_network_process): Don't unrequest_sigio on modern\r
+       systems.\r
+\r
+       * lisp.h (set_process_environment): Rename to `set_global_environment'.\r
+       (Fframe_with_environment, Fset_input_meta_mode)\r
+       (Fset_quit_char): EXFUN.\r
+       (x_create_device, tty_output, terminal, tty_display_info): Declare.\r
+       (init_sys_modes, reset_sys_modes): Update prototypes.\r
+       (init_all_sys_modes, reset_all_sys_modes): New prototypes.\r
+\r
+       * keyboard.h (struct kboard): Add new fields Vlocal_function_key_map,\r
+       Vlocal_key_translation_map, and Vkeyboard_translate_table.\r
+       (Vfunction_key_map, Vkeyboard_translate_table, single_kboard_state):\r
+       Delete declarations.\r
+       (Vfunction_key_map, Vkey_translation_map, push_kboard, pop_kboard)\r
+       (temporarily_switch_to_single_kboard, tty_read_avail_input):\r
+       New declarations.\r
+\r
+       * emacs.c (main): Don't call init_sys_modes(), the new term_init()\r
+       already does that during init_display().  Call syms_of_keymap\r
+       before syms_of_keyboard.  Call `syms_of_terminal'.\r
+       Call set_initial_environment, not set_process_environment.\r
+       (shut_down_emacs): Call reset_all_sys_modes() instead of\r
+       reset_sys_modes().\r
+\r
+       * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.\r
+       (internal_resolve_face_name, resolve_face_name_error): New functions.\r
+       (resolve_face_name): Protect against loops and errors thrown by Fget.\r
+       (realize_default_face): Don't use FRAME_FONT unless frame is an X frame.\r
+       (Ftty_supports_face_attributes_p): Update tty_capable_p call.\r
+\r
+       * scroll.c: Replace CURTTY() with local variables throughout the\r
+       file (where applicable).\r
+       (calculate_scrolling, calculate_direct_scrolling)\r
+       (scrolling_1, scroll_cost): Use the accessor macros for terminal\r
+       characteristics.\r
+\r
+       * keymap.c (Vfunction_key_map): Remove.\r
+       (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.\r
+       (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.\r
+       (Vkey_translation_map): Remove.\r
+       (syms_of_keymap): Remove DEFVAR for key-translation-map.\r
+       (Fdescribe_buffer_bindings)\r
+       (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):\r
+       Update for terminal-local key-translation-map.\r
+\r
+       * Makefile.in (callproc.o): Update dependencies.\r
+       (lisp, shortlisp): Add termdev.elc.\r
+       (obj): Add terminal.o.\r
+       (terminal.o): Add dependencies.\r
+       [HAVE_CARBON]: Make terminal.o depend on macgui.h.\r
+       (data.o, fns.o): Add termhooks.h dependency.\r
+       (SOME_MACHINE_LISP): Add dnd.elc.\r
+       (minibuf.o): Fix typo.\r
+       Update dependencies.\r
+\r
+       * data.c (do_symval_forwarding, store_symval_forwarding)\r
+       (find_symbol_value): Use the selected frame's keyboard, not\r
+       current_kboard.\r
+\r
+       * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of\r
+       Vwindow_system.\r
+\r
+       * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from\r
+       Fmenu_bar_open.\r
+       (syms_of_xmenu): Update defsubr.\r
+       (mouse_position_for_popup, Fx_popup_menu)\r
+       (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)\r
+       (set_frame_menubar, free_frame_menubar)\r
+       (create_and_show_popup_menu, xmenu_show, )\r
+       (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not\r
+       an X frame.\r
+\r
+       * xselect.c (x_own_selection): Abort if not an X frame.\r
+       (some_frame_on_display): Check if it is an X frame.\r
+       (x_handle_selection_clear): Deal with MULTI_KBOARD.\r
+\r
+       * coding.c: Include frame.h and termhooks.h.\r
+       (terminal_coding, keyboard_coding): Delete.\r
+       (Fset_terminal_coding_system_internal)\r
+       (Fset_keyboard_coding_system_internal)\r
+       (Fkeyboard_coding_system)\r
+       (Fterminal_coding_system): Add a terminal parameter.\r
+       Get terminal_coding from the terminal.\r
+       (init_coding_once): Don't call setup_coding_system here.\r
+\r
+       * dispextern.h (set_scroll_region, turn_off_insert)\r
+       (turn_off_highlight, background_highlight, clear_end_of_line_raw)\r
+       (tty_clear_end_of_line, tty_setup_colors)\r
+       (delete_tty, updating_frame)\r
+       (produce_special_glyphs, produce_glyphs, write_glyphs)\r
+       (insert_glyphs): Remove.\r
+       (raw_cursor_to, clear_to_end, tty_turn_off_insert)\r
+       (tty_turn_off_highlight, get_tty_size): Add declaration.\r
+       (tabs_safe_p, init_baud_rate, get_tty_terminal): Update prototypes.\r
+\r
+       * frame.h (enum output_method): Add output_initial.\r
+       (struct x_output): Delete.\r
+       (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):\r
+       Access foreground_pixel and background_pixel directly from the frame.\r
+       (tty_display): Delete.\r
+       (struct frame): Add buried_buffer_list, foreground_pixel,\r
+       background_pixel and terminal.  Delete kboard.\r
+       (union output_data): Add tty.\r
+       (FRAME_KBOARD): Get the kboard from the terminal.\r
+       (FRAME_INITIAL_P): New macro.\r
+       (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)\r
+       (Qterm_environment_variable, Qdisplay_environment_variable)\r
+       (make_terminal_frame, Qburied_buffer_list, Qwindow_system):\r
+       New declarations.\r
+\r
+       * termchar.h (tty_output, tty_display_info): New structures.\r
+       (tty_list): Declare.\r
+       (FRAME_TTY, CURTTY): New macros.\r
+       (must_write_spaces, min_padding_speed, fast_clear_end_of_line)\r
+       (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)\r
+       (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)\r
+       (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.\r
+\r
+       * callproc.c: Include frame.h and termhooks.h, for terminal\r
+       parameters.\r
+       (add_env): New function.\r
+       (child_setup): Use it.\r
+       (child_setup, getenv_internal): Handle the new Vprocess_environment.\r
+       (getenv_internal): Fix get_terminal_param call.\r
+       (Fgetenv_internal, egetenv): Update doc.\r
+       (syms_of_callproc): Initialize Vprocess_environment to nil.\r
+       Register and initialize them.  Remove obsolete defvars.  Update doc\r
+       strings.\r
+       (child_setup): Handle Vlocal_environment_variables.\r
+       (getenv_internal): Add terminal parameter.\r
+       Handle Vlocal_environment_variables.\r
+       (Fgetenv_internal): Add terminal parameter.\r
+       (child_setup, getenv_internal, Fgetenv_internal): Store the local\r
+       environment in a frame (not terminal) parameter.  Update doc strings.\r
+       (set_initial_environment): Rename from set_global_environment.\r
+       Store Emacs environment in initial frame parameter.\r
+\r
+       * xdisp.c (redisplay_internal): Update references to\r
+       `previous_terminal_frame'.\r
+       (display_mode_line, Fformat_mode_line): Replace calls to\r
+       `push_frame_kboard' with `push_kboard'.\r
+       (get_glyph_string_clip_rects): Add extra parentheses and\r
+       braces to prevent compiler warnings.\r
+       (calc_pixel_width_or_height): Add xassert to check that the\r
+       frame is alive.  Don't call `lookup_image' on a termcap frame.\r
+       (message2_nolog, message3_nolog, redisplay_internal)\r
+       (set_vertical_scroll_bar, redisplay_window, check_x_display_info)\r
+       (x_set_scroll_bar_foreground, x_set_scroll_bar_background)\r
+       (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)\r
+       (Fx_display_pixel_width, Fx_display_pixel_height)\r
+       (Fx_display_planes, Fx_display_color_cells)\r
+       (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)\r
+       (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)\r
+       (Fx_display_backing_store, Fx_display_visual_class)\r
+       (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):\r
+       Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.\r
+\r
+       * xfns.c (x_set_foreground_color x_set_background_color)\r
+       (x_set_mouse_color, x_set_cursor_color, x_make_gc):\r
+       Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.\r
+       (Fx_create_frame, x_create_tip_frame, build_string, x_window)\r
+       (Fx_create_frame, x_create_tip_frame): Don't create frames on a\r
+       terminal that is being deleted.\r
+       (Fx_create_frame): Use `store_frame_param' to set `window-system'\r
+       frame parameter, and make sure it overrides any user-supplied setting.\r
+       (Fx_close_connection, Fx_synchronize): Unify argument names with\r
+       the rest of the DEFUNs.\r
+\r
+       * dispnew.c (Fsend_string_to_terminal): Update call to\r
+       `get_tty_terminal'.\r
+       (Fredraw_frame, Fsend_string_to_terminal)\r
+       (Fsend_string_to_terminal, init_display): Use FRAME_RIF,\r
+       FRAME_TERMCAP_P and FRAME_TTY.\r
+       (window_change_signal): Don't believe width/height values that are\r
+       impossibly small.\r
+       (Vinitial_window_system): Rename from Vwindow_system.\r
+       (termscript, Wcm, rif): Delete.\r
+\r
+       * termhooks.h (struct terminal): New struct containing the\r
+       previously global text display hooks and new members NAME,\r
+       DELETED and PARAM_ALIST.\r
+       (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)\r
+       (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)\r
+       (FRAME_RIF): New macros.\r
+       (get_terminal_param, get_device): New declarations.\r
+       (termscript): Delete declaration.\r
+\r
+       * xterm.c (x_initialize): Use Fset_input_interrupt_mode.\r
+       (XTflash, x_free_frame_resources, x_scroll_bar_create)\r
+       (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and\r
+       FRAME_FOREGROUND_PIXEL.\r
+       (x_fully_uncatch_errors): Disable definition.\r
+       (x_scroll_bar_expose): Fix reference to foreground pixel.\r
+       (XTread_socket): Disable loop on all X displays.\r
+       (x_delete_terminal): Don't set terminal->deleted and let\r
+       delete_terminal delete the frames on the terminal.\r
+       (x_delete_display): Doc update to reflect changes in\r
+       delete_terminal.\r
+       (x_display_info) <terminal>: Move member earlier in the struct.\r
+       (deleting_tty): Remove old variable.\r
+       (Fsuspend_tty): Call clear_tty_hooks.\r
+       (Fresume_tty, init_tty): Call set_tty_hooks.\r
+       (Ftty_display_color_p, Ftty_display_color_cells): Don't throw\r
+       errors on X frames.\r
+       (x_catch_errors_unwind): Abort if x_error_message is NULL.\r
+       (handle_one_xevent): Initialize `f' to NULL.\r
+       (x_delete_terminal, x_create_terminal): New functions.\r
+       (XTset_terminal_modes, XTreset_terminal_modes)\r
+       (XTread_socket, x_connection_closed, x_term_init)\r
+       (x_term_init, x_delete_display): Add terminal parameter.\r
+       (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary\r
+       X connections.\r
+\r
+       * frame.c: Include termchar.h.\r
+       (Qterminal, Qterminal_live_p, Qburied_buffer_list, Qtty, Qtty_type)\r
+       (Qwindow_system, Qenvironment, Qterm_environment_variable)\r
+       (Qdisplay_environment_variable): New vars.\r
+       (Fframep): Deal with output_initial.\r
+       (Fframe-live-p): Doc fix.\r
+       (Fwindow-system): New function.\r
+       (x_set_screen_gamma, store_frame_param): Fix compilation errors.\r
+       (make_terminal_frame): Don't create frames on a terminal that is\r
+       being deleted.  Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.\r
+       (store_frame_param): Check for found_for_frame before calling XFRAME.\r
+       (Fmake_terminal_frame): Handle NULL tty names correctly.\r
+       (syms_of_frame): Enhance doc string of `default-frame-alist'.\r
+       (Fdelete_frame): Remove unused variable `count'.  Don't allow other\r
+       frames to refer to a deleted frame in their 'environment parameter.\r
+       (Fframe_with_environment): New function.\r
+       (syms_of_frame): Defsubr it.  Initialize and staticpro Qenvironment.\r
+       (get_future_frame_param): New function.\r
+       (Fmake_terminal_frame): Use it.\r
+       (x_set_frame_parameters, x_set_screen_gamma): Use FRAME_RIF.\r
+\r
+       * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.\r
+       * sysdep.c (reset_sys_modes): Update for renames.\r
+\r
+       * keyboard.c (tty_read_avail_input): New function.\r
+       (Fset_input_interrupt_mode, Fset_output_flow_control): New functions.\r
+       (syms_of_keyboard): Defsubr them.\r
+       (Fset_input_meta_mode, Fset_quit_char): New functions.\r
+       (Fset_input_mode): Split to above functions.\r
+       (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf\r
+       parameter.  Use it in call to `read_char'.\r
+       (read_char): Declare.  Update call to `read_char_minibuf_menu_prompt'.\r
+       Set wrong_kboard_jmpbuf correctly in recursive calls.\r
+       Use current_kboard to access Vkeyboard_translate_table.\r
+       Enhance comment before extra longjmp to wrong_kboard_jmpbuf.\r
+       Add wrong_kboard_jmpbuf parameter to allow for recursive calls.\r
+       Update longjmp invocations.  Remember the original current_kboard,\r
+       and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel\r
+       changes it.  Comment out unnecessary calls to\r
+       `record_single_kboard_state' and `any_kboard_state'.\r
+       Update recursive calls.\r
+       (wrong_kboard_jmpbuf): Remove global variable.\r
+       (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.\r
+       Handle deleted interrupted_kboards correctly; that is a legal\r
+       case.  Add `wrong_kboard_jmpbuf' local variable.  Update setjmp\r
+       and read_char calls.  Abort if interrupted_kboard died in read_char.\r
+       (any_kboard_state, single_kboard_state)\r
+       (push_frame_kboard): Remove function.\r
+       (pop_kboard): Switch out of single_kboard mode if the kboard has\r
+       been deleted.  Remove unused variable.  Help debugging by not\r
+       changing current_kboard unnecessarily.  Set current_kboard to the\r
+       kboard of the selected frame when the stored kboard object has\r
+       been deleted before pop_kboard.\r
+       (temporarily_switch_to_single_kboard): Change first parameter to a\r
+       frame pointer.  Throw an error when caller wants to change kboards\r
+       while in single_kboard mode.  Don't push_kboard if we weren't in\r
+       single kboard state.  Don't pop_kboard if we popped into any\r
+       kboard state.\r
+       (restore_kboard_configuration): Abort if pop_kboard changed the\r
+       kboard in single_kboard mode.  Call pop_kboard only after setting\r
+       up single_kboard mode.\r
+       (Frecursive_edit): Switch to single_kboard mode only in nested\r
+       command loops.\r
+       (cmd_error, command_loop, command_loop_1, timer_check):\r
+       Comment out unnecessary call to `any_kboard_state' and\r
+       `record_single_kboard_state'.\r
+       (delete_kboard): Exit single_kboard mode if we have just deleted\r
+       that kboard.  Use FRAME_KBOARD.\r
+       (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not\r
+       `fatal_error_signal'.\r
+       (record_single_kboard_state): Don't push_kboard if we weren't in\r
+       single kboard state.  Don't pop_kboard if we popped into any\r
+       kboard state.\r
+       (push_frame_kboard): Rename to push_kboard.\r
+       (kbd_buffer_get_event): Use FRAME_TERMINAL.\r
+       (read_avail_input): Read input from all terminals.\r
+       (mark_kboards): Also mark Vkeyboard_translate_table.\r
+       (kbd_buffer_store_event_hold): Simplify condition.\r
+       (read_key_sequence): Reinitialize fkey and keytran at each replay.\r
+       (Vkeyboard_translate_table): Move to struct kboard.\r
+       (init_kboard): Initialize Vkeyboard_translate_table.\r
+       (syms_of_keyboard): Use DEFVAR_KBOARD to define\r
+       Vkeyboard_translate_table.  Update doc strings.  Update docs of\r
+       local-function-key-map and function-key-map.\r
+\r
+       * terminal.c: New file.\r
+\r
+       * term.c: Include errno.h.\r
+       (Vring_bell_function, device_list, initial_device)\r
+       (next_device_id, ring_bell, update_begin, update_end)\r
+       (set_terminal_window, cursor_to, raw_cursor_to)\r
+       (clear_to_end, clear_frame, clear_end_of_line)\r
+       (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)\r
+       (Fdisplay_name, create_device, delete_device): Move to terminal.c.\r
+       (syms_of_term): Move their initialization to terminal.c.\r
+       (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)\r
+       (Ftty_display_color_cells)\r
+       (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)\r
+       (clear_tty_hooks, set_tty_hooks)\r
+       (init_tty, maybe_fatal): New functions.\r
+       (Ftty_type): Return nil if terminal is not on a tty instead of\r
+       throwing an error.  Doc update.\r
+       (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:\r
+       Doc update.  Initialize new subrs and variables.\r
+       (delete_tty): Use terminal->deleted.\r
+       (tty_set_terminal_modes): Rename from set_terminal_modes.\r
+       (tty_reset_terminal_modes): Rename from reset_terminal_modes.\r
+       (set_scroll_region): Rename to `tty_set_scroll_region'.\r
+       (turn_on_insert): Rename to `tty_turn_on_insert'.\r
+       (turn_off_insert): Rename to `tty_turn_off_insert'.\r
+       (turn_off_highlight): Rename to `tty_turn_off_highlight'.\r
+       (turn_on_highlight): Rename to `tty_turn_on_highlight'.\r
+       (toggle_highligh): Rename to `tty_toggle_highlight'.\r
+       (background_highlight): Rename to `tty_background_highlight'.\r
+       (highlight_if_desired): Rename to `tty_highlight_if_desired'.\r
+       (tty_ring_bell, tty_update_end, tty_set_terminal_window)\r
+       (tty_set_scroll_region, tty_background_highlight)\r
+       (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)\r
+       (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)\r
+       (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)\r
+       (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):\r
+       Add static modifier.\r
+       (tty_reset_terminal_modes, tty_set_terminal_window)\r
+       (tty_set_scroll_region, tty_background_highlight)\r
+       (tty_highlight_if_desired, tty_cursor_to)\r
+       (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)\r
+       (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)\r
+       (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for\r
+       renames.\r
+\r
+2007-08-28  Jan Djärv  <jan.h.d@swipnet.se>\r
+\r
+       * keyboard.c: Qrtl is new.\r
+       (parse_tool_bar_item): Handle :rtl keyword.\r
+       (syms_of_keyboard): Intern :rtl keyword.\r
+\r
+       * dispextern.h (enum tool_bar_item_idx): Add TOOL_BAR_ITEM_RTL_IMAGE.\r
+\r
+       * gtkutil.c (xg_tool_bar_expose_callback): Just do SET_FRAME_GARBAGED\r
+       so no Lisp code is executed.\r
+       (file_for_image, find_rtl_image): New functions.\r
+       (xg_get_image_for_pixmap): Use file_for_image.\r
+       (update_frame_tool_bar): If direction is RTL, use RTL image if\r
+       defined.  Use Gtk stock images if defined.\r
+\r
+2007-08-27  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * macterm.c (x_draw_composite_glyph_string_foreground): Draw rectangle\r
+       for nonexistent or zero-width glyph in composition glyph.\r
+\r
+2007-08-25  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * m/amdx86-64.h: Redirect to intel386.h if compiling for i386.\r
+\r
+       * xdisp.c (Finvisible_p): New function.\r
+       (syms_of_xdisp): defsubr it.\r
+\r
+2007-08-24  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * image.c (syms_of_image) <image-library-alist, cross-disabled-images>:\r
+       Doc fixes.\r
+\r
+2007-08-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * mac.c [MAC_OSX] (select_and_poll_event, sys_select): Fix last changes.\r
+\r
+2007-08-24  Martin Rudalics  <rudalics@gmx.at>\r
+\r
+       * fileio.c (Finsert_file_contents): Consult CHARS_MODIFF to tell\r
+       whether decoding has modified buffer contents.\r
+\r
+2007-08-24  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * image.c [HAVE_NTGUI]: Define dynamic loaded functions for SVG.\r
+       (Qgdk_pixbuf, Qglib) [HAVE_NTGUI]: New symbols.\r
+       (syms_of_image) [HAVE_NTGUI]: Intern and staticpro them.\r
+       (init_svg_functions) [HAVE_NTGUI]: New function.\r
+       (fn_g_type_init, fn_g_object_unref, fn_g_error_free): New #defines.\r
+       (svg_load_image): Use them.\r
+       (svg_load_image) [HAVE_NTGUI]: Implement background.\r
+\r
+2007-08-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * Makefile.in (RSVG_LIBS, RSVG_CFLAGS): New variables.\r
+       (ALL_CFLAGS): Use ${RSVG_CFLAGS} instead of @RSVG_CFLAGS@.\r
+       (LIBX): Remove @RSVG_LIBS@.\r
+       (LIBES): Add $(RSVG_LIBS).\r
+\r
+       * image.c (svg_load_image): Blend with specified background if exists.\r
+       Use IMAGE_BACKGROUND.  Add Mac OS Support.\r
+\r
+       * mac.c (wakeup_from_rne_enabled_p) [MAC_OSX]: Remove variable.\r
+       (ENABLE_WAKEUP_FROM_RNE, DISABLE_WAKEUP_FROM_RNE) [MAC_OSX]:\r
+       Remove macros.\r
+       [MAC_OSX] (socket_callback): Do nothing.\r
+       [MAC_OSX] (select_and_poll_event): Use CFRunLoopRunInMode instead of\r
+       ReceiveNextEvent.\r
+       [MAC_OSX] (sys_select): Likewise.  Don't set context as argument to\r
+       socket_callback.\r
+       (mac_wakeup_from_rne) [MAC_OSX]: Do nothing.\r
+\r
+2007-08-22  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * image.c (x_find_image_file): Search in etc/images/ rather than etc/.\r
+\r
+2007-08-22  Paul Pogonyshev  <pogonyshev@gmx.net>\r
+\r
+       * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.\r
+\r
+       * image.c: Add support for SVG images.  Some additional comments\r
+       by Joakim Verona <joakim@verona.se>.  When HAVE_RSVG is defined:\r
+       (svg_image_p): New function to test for SVG image.\r
+       (svg_load): New function to load SVG image.\r
+       (svg_load_image): New function, helper for svg_load.\r
+       (Qsvg): New Lisp_object.\r
+       (svg_keyword_index): New enum.\r
+       (svg_format): New static `image_keyword' struct.\r
+       (svg_type): New static `image_type' struct.\r
+       (librsvg/rsvg.h): Include it.\r
+\r
+2007-08-23  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * lread.c (load_warn_old_style_backquotes): Fix up array size typo.\r
+\r
+2007-08-22  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * lread.c (Qold_style_backquotes): New var.\r
+       (syms_of_lread): Init and staticpro it.\r
+       (load_warn_old_style_backquotes): New fun.\r
+       (Fload): Use them to warn about old style backquotes.\r
+       (end_of_file_error, Fload): Remove unused vars.\r
+\r
+       * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.\r
+\r
+       * lread.c (Vold_style_backquotes): New var.\r
+       (syms_of_lread): Init and export it to Elisp.\r
+       (read1): Set it when we find an old-style (back)quote.\r
+\r
+2007-08-22  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.\r
+\r
+2007-08-22  Katsumi Yamaoka  <yamaoka@jpl.org>\r
+\r
+       * puresize.h (BASE_PURESIZE): Increase to 1140000.\r
+\r
+2007-08-19  Richard Stallman  <rms@gnu.org>\r
+\r
+       * eval.c (Ffunction, Fquote): Signal error if not 1 argument.\r
+\r
+2007-08-19  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * alloc.c (pure): Round PURESIZE up.\r
+\r
+2007-08-17  Jan Djärv  <jan.h.d@swipnet.se>\r
+\r
+       * xterm.c (handle_one_xevent): Remove check that mouse click is in\r
+       active frame.\r
+\r
+2007-08-16  Richard Stallman  <rms@gnu.org>\r
+\r
+       * eval.c (Fcommandp): Add parens to clarify.\r
+\r
+       * minibuf.c (Fall_completions): Use enum for type of table.\r
+\r
+       * emacs.c (USAGE2): Improve text.\r
+\r
+2007-08-15  Philippe Waroquiers  <philippe.waroquiers@eurocontrol.int>\r
+\r
+       * term.c (tty_default_color_capabilities): Declare static\r
+       variables in file scope, to avoid HPUX compiler problem.\r
+\r
+2007-08-13  Jan Djärv  <jan.h.d@swipnet.se>\r
+\r
+       * gtkutil.c (update_frame_tool_bar): Use -1 as index\r
+       to gtk_toolbar_insert.\r
+\r
+2007-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.\r
+\r
+       * insdel.c (reset_var_on_error): New fun.\r
+       (signal_before_change, signal_after_change):\r
+       Use it to reset (after|before)-change-functions to nil in case of error.\r
+       Bind inhibit-modification-hooks to t.\r
+       Don't bind (after|before)-change-functions to nil while they run.\r
+\r
+2007-08-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when\r
+       filling pixmap with stippled background.\r
+\r
+2007-08-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):\r
+       Don't use invisible frame as parent window for repositioning.\r
+\r
+2007-08-10  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * print.c (new_backquote_output): Rename from old_backquote_output.\r
+       (print): Inverse its logic (according to its name) so as to match the\r
+       behavior of new_backquote_flag in lread.c.\r
+\r
+2007-08-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * gmalloc.c (posix_memalign): New function.\r
+\r
+       * macterm.c (frame_highlight, frame_unhighlight): Don't call\r
+       ActivateControl/DeactivateControl here.\r
+       [USE_MAC_TOOLBAR] (free_frame_tool_bar): Suppress animation when\r
+       frame-notice-user-settings is non-nil.\r
+       [USE_MAC_FONT_PANEL] (mac_handle_font_event): Also record parameter\r
+       for kEventParamFMFontStyle.\r
+       [TARGET_API_MAC_CARBON] (mac_handle_keyboard_event): Don't check\r
+       mac_pass_command_to_system and mac_pass_control_to_system here.\r
+       (XTread_socket): Call ActivateControl/DeactivateControl here.\r
+       (XTread_socket) [TARGET_API_MAC_CARBON]:\r
+       Check mac_pass_command_to_system and mac_pass_control_to_system here.\r
+       (mac_handle_window_event) [USE_MAC_TOOLBAR]: Add further workaround\r
+       for window repositioning.\r
+\r
+2007-08-08  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * Replace `iff' in doc-strings and comments.\r
+\r
+2007-08-07  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xdisp.c (move_it_by_lines): Remove incorrect optimization.\r
+\r
+2007-08-07  Martin Rudalics  <rudalics@gmx.at>\r
+\r
+       * fileio.c (Finsert_file_contents): Run format-decode and\r
+       after_insert_file_functions on entire buffer when REPLACE is\r
+       non-nil and inhibit modification_hooks and point_motion_hooks.\r
+       For consistency, run after_insert_file_functions iff something\r
+       got inserted.  Move signal_after_change and update_compositions\r
+       after code running after_insert_file_functions.  Make sure that\r
+       undo_list doesn't record intermediate steps of the decoding process.\r
+\r
+2007-08-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * emacs.c (main)\r
+       [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:\r
+       Call malloc_enable_thread on interactive startup.\r
+\r
+       * gmalloc.c (_malloc_thread_enabled_p) [USE_PTHREAD]: New variable.\r
+       (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS)\r
+       [USE_PTHREAD]: Conditionalize with it.\r
+       (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)\r
+       (malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:\r
+       New functions.\r
+\r
+2007-08-06  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xdisp.c (redisplay_window): When restoring original buffer\r
+       position, make sure it is still valid.\r
+\r
+       * image.c (png_load): Ignore png-supplied background color.\r
+\r
+2007-08-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.\r
+       Use kCFAbsoluteTimeIntervalSince1970.\r
+\r
+       * macmenu.c (quit_dialog_event_loop) [TARGET_API_MAC_CARBON]:\r
+       New variable.\r
+       [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog\r
+       event loop should be quit.\r
+       [TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:\r
+       Quit dialog event loop if quit_dialog_event_loop is set.\r
+\r
+       * macselect.c [!TARGET_API_MAC_CARBON]: Include Scrap.h.\r
+       (Selection): New typedef.  Use instead of ScrapRef.\r
+       (mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.\r
+       (mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.\r
+       (mac_clear_selection): Rename from clear_scrap.\r
+       (get_flavor_type_from_symbol): New argument SEL and subsume function of\r
+       scrap_has_target_type.  All uses changed.\r
+       (mac_get_selection_ownership_info, mac_valid_selection_value_p)\r
+       (mac_selection_has_target_p): New functions.\r
+       (mac_put_selection_value): Rename from put_scrap_string.\r
+       (mac_get_selection_value): Rename from get_scrap_string.\r
+       (mac_get_selection_target_list): Rename from get_scrap_target_type_list.\r
+       (put_scrap_private_timestamp, scrap_has_target_type)\r
+       (get_scrap_private_timestamp): Remove functions.\r
+       (SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.\r
+       (x_own_selection, x_get_local_selection):\r
+       Use mac_valid_selection_value_p.\r
+       (x_own_selection): Don't use put_scrap_private_timestamp.\r
+       Record OWNERSHIP-INFO into Vselection_alist instead.\r
+       (x_get_local_selection): Don't check type if request is local.\r
+       (Fx_selection_owner_p): Don't use get_scrap_private_timestamp.\r
+       Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.\r
+\r
+2007-08-04  Jan Djärv  <jan.h.d@swipnet.se>\r
+\r
+       * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,\r
+       add comment explaining why.\r
+\r
+2007-08-03  Richard Stallman  <rms@gnu.org>\r
+\r
+       * fileio.c (Fvisited_file_modtime): Use make_time.\r
+\r
+2007-08-01  Ryo Yoshitake  <ryo@shiftmode.net>  (tiny change)\r
+\r
+       * mac.c (init_mac_osx_environment): Adjust load-path on self-contained\r
+       build.\r
+\r
+2007-07-31  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.\r
+\r
+2007-07-30  Katsumi Yamaoka  <yamaoka@jpl.org>\r
+\r
+       * puresize.h (BASE_PURESIZE): Increase to 1130000.\r
+\r
+2007-07-30  Richard Stallman  <rms@gnu.org>\r
+\r
+       * lread.c (readevalloop, read1): Treat NBSP as whitespace.\r
+\r
+2007-07-29  Jan Djärv  <jan.h.d@swipnet.se>\r
+\r
+       * gmalloc.c (__malloc_initialize): Remove pthread_once.  Not needed.\r
+\r
+2007-07-28  Nick Roberts  <nickrob@snap.net.nz>\r
+\r
+       * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for\r
+       remote default-directory.\r
+\r
+       * buffer.c (mode-line-format): Update doc string.\r
+\r
+2007-07-27  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * w32term.c (w32_draw_fringe_bitmap): Extend fringe background to\r
+       scroll bar gap.\r
+       (x_scroll_bar_create): Set bar->fringe_extended_p.\r
+       (w32_set_vertical_scroll_bar): Put leftmost/rightmost scroll bars\r
+       on frame edge.  Check fringe background extension.  Don't clear\r
+       extended fringe background area.\r
+\r
+       * w32term.h (struct scroll_bar): New member fringe_extended_p.\r
+       (w32_fill_area): Enclose multiple statements with do ... while (0).\r
+\r
+       * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:\r
+       Extend fringe background to scroll bar gap.\r
+       (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]:\r
+       Set bar->fringe_extended_p.\r
+       (XTset_vertical_scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:\r
+       Put leftmost/rightmost scroll bars on frame edge.  Check fringe\r
+       background extension.  Don't clear extended fringe background area.\r
+\r
+       * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:\r
+       New member fringe_extended_p.\r
+\r
+2007-07-25  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * Relicense all FSF files to GPLv3 or later.\r
+\r
+       * COPYING: Switch to GPLv3.\r
+\r
+2007-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * eval.c (Fcommandp): Pay attention to the `interactive-form' property.\r
+\r
+       * data.c (Finteractive_form): Check for the presence of an\r
+       `interactive-form' symbol property more thoroughly.\r
+\r
+       * data.c (Finteractive_form): Use an `interactive-form' property if\r
+       present, analogous to the function-documentation property.\r
+\r
+2007-07-24  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32fns.c (x_real_positions): Get real position from OS instead of\r
+       calculating it.\r
+\r
+2007-07-23  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * filelock.c (current_lock_owner): Allow for @ sign in username.\r
+\r
+2007-07-22  Nick Roberts  <nickrob@snap.net.nz>\r
+\r
+       * xdisp.c (decode_mode_spec): Add case 'R' for to test for\r
+       remote default-directory.\r
+\r
+       * buffer.c (mode-line-format): Describe above case in doc string.\r
+\r
+2007-07-20  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):\r
+       Define if not defined.\r
+\r
+2007-07-18  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32proc.c (w32_executable_type): Handle 64 bit executables.\r
+\r
+2007-07-18  Richard Stallman  <rms@gnu.org>\r
+\r
+       * data.c (Fsetq_default): Doc fix.\r
+\r
+       * eval.c (Fsetq): Doc fix.\r
+\r
+2007-07-18  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * coding.c (Ffind_operation_coding_system):\r
+       * eval.c (For, Fand): Doc fixes.\r
+       Reported by Johan Bockgård.\r
+\r
+2007-07-18  Jan Djärv  <jan.h.d@swipnet.se>\r
+\r
+       * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.\r
+\r
+       * xterm.h: Declare x_ewmh_activate_frame.\r
+\r
+       * xterm.c (x_ewmh_activate_frame): New function.\r
+       (XTframe_raise_lower): Move code to x_ewmh_activate_frame.\r
+\r
+2007-07-17  Martin Rudalics  <rudalics@gmx.at>\r
+\r
+       * window.c (Fdisplay_buffer): If largest or LRU window is the\r
+       only window, split it even if it is not eligible for splitting.\r
+       This restores the original behavior broken by the 2007-07-15\r
+       change.\r
+\r
+2007-07-17  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * abbrev.c (abbrev_check_chars): New function.\r
+       (Fdefine_global_abbrev, Fdefine_mode_abbrev):\r
+       Call abbrev_check_chars to check abbrev characters are word\r
+       constituents.  Doc fix.\r
+\r
+2007-07-17  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * process.c (Fstart_process, Fmake_network_process)\r
+       (read_process_output): Fix up last changes.\r
+\r
+2007-07-16  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * makefile.w32-in (clean): Don't delete *~.\r
+\r
+2007-07-16  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * window.c (Fdisplay_buffer): Use NILP.\r
+       (Fset_window_scroll_bars): Likewise.\r
+\r
+2007-07-15  Martin Rudalics  <rudalics@gmx.at>\r
+\r
+       * window.c (window_min_size_2): New function.\r
+       (window_min_size_1, size_window, Fdisplay_buffer)\r
+       (Fsplit_window, adjust_window_trailing_edge): Use it to avoid\r
+       windows without mode- or header-lines when window-min-height is\r
+       too small.\r
+       (size_window): Reset nodelete_p after testing it, following an\r
+       earlier note by Kim F. Storm.\r
+       (display_buffer): Do not set split_height_threshold to twice the\r
+       value of window_min_height to avoid changing the value of a\r
+       customizable variable.  Rather explicitly check whether the\r
+       height of the window that shall be splitted is at least as large\r
+       as split_height_threshold.\r
+       (Fwindow_full_width_p): New defun.\r
+       (syms_of_window): Defsubr it.\r
+\r
+       * window.h: Add EXFUN for Fwindow_full_width_p.\r
+\r
+2007-07-14  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * process.c [WINDOWSNT]: Don't undefine AF_INET6.\r
+\r
+2007-07-14  Richard Stallman  <rms@gnu.org>\r
+\r
+       * eval.c (maybe_call_debugger): New function.\r
+       (find_handler_clause): Use maybe_call_debugger.\r
+       Call it when the handler says `debug'.\r
+       Eliminate DEBUGGER_VALUE_PTR.\r
+       (Fsignal): Eliminate debugger_value.\r
+       (Qdebug): New variable.\r
+       (syms_of_eval): Initialize it.\r
+\r
+2007-07-14  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * eval.c (Fprogn):\r
+       * keyboard.c (Ftrack_mouse):\r
+       * print.c (Fwith_output_to_temp_buffer):\r
+       * window.c (Fsave_window_excursion): Doc fix.\r
+\r
+2007-07-13  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.\r
+\r
+2007-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * process.h (struct Lisp_Process): Turn slots infd, outfd,\r
+       kill_without_query, pty_flag, tick, update_tick, decoding_carryover,\r
+       inherit_coding_system_flag, filter_multibyte, adaptive_read_buffering,\r
+       read_output_delay, and read_output_skip from Lisp_Objects to ints.\r
+       Remove unused encoding_carryover.\r
+       * process.c: Adjust all functions accordingly.\r
+\r
+2007-07-12  Richard Stallman  <rms@gnu.org>\r
+\r
+       * term.c: Include unistd.h only if HAVE_UNISTD_H.\r
+\r
+2007-07-11  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * makefile.w32-in (LIBS): Include OLE32.\r
+\r
+       * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.\r
+       (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.\r
+\r
+2007-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * lisp.h (struct Lisp_Hash_Table): Turn next_weak into a bare pointer.\r
+       * fns.c (weak_hash_tables): Rename from Vweak_hash_tables and turned\r
+       from a Lisp_Object into a bare pointer.\r
+       (make_hash_table, copy_hash_table, sweep_weak_hash_tables, init_fns):\r
+       Adjust the code correspondingly.\r
+\r
+       * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.\r
+\r
+       * term.c: Include unistd.h for ttyname, used in handle_one_term_event.\r
+       (term_show_mouse_face): Remove unused var `j'.\r
+       (handle_one_term_event): Remove unused vars `i' and `j'.\r
+       Don't cast return value of ttyname since it's not necessary.\r
+\r
+2007-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using\r
+       USE_LSB_TAG.  Suggested by Dmitry Antipov <dmantipov@yandex.ru>.\r
+\r
+       * fns.c (map_char_table): Use an array of int for `indices' rather than\r
+       an array of Lisp_Objects (which are only ever integers anyway).\r
+       (Fmap_char_table): Update caller.\r
+       * lisp.h: Update prototype.\r
+       * keymap.c (Fset_keymap_parent, map_keymap, Fcopy_keymap):\r
+       * fontset.c (Ffontset_info):\r
+       * casetab.c (set_case_table): Update callers.\r
+\r
+       * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.\r
+\r
+       * keymap.c (struct accessible_keymaps_data)\r
+       (struct where_is_internal_data): New structures.\r
+       (accessible_keymaps_1, where_is_internal_1): Use them to change\r
+       interface to adhere to the one used by map_keymap.\r
+       (Faccessible_keymaps, where_is_internal): Use map_keymap.\r
+       (accessible_keymaps_char_table, where_is_internal_2): Remove.\r
+\r
+       * keymap.h (map_keymap_function_t): More informative prototype.\r
+\r
+2007-07-10  Guanpeng Xu  <herberteuler@hotmail.com>\r
+\r
+       * search.c (Vinhibit_changing_match_data, search_regs_1): New vars.\r
+       (looking_at_1): Don't change search_regs and last_thing_searched\r
+       if `inhibit-changing-match-data' is non-nil.\r
+       (string_match_1, search_buffer, set_search_regs): Likewise.\r
+       (syms_of_search): Add Lisp level definition for\r
+       `inhibit-changing-match-data' and set it to nil.\r
+       (boyer_moore): If `inhibit-changing-match-data' is non-nil, compute\r
+       start and end of the match, instead of using values in search_regs.\r
+\r
+2007-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * minibuf.c (Fcompleting_read): New value `confirm-only'\r
+       for `require-match'.\r
+\r
+2007-06-28  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as\r
+       part of the 2007-06-27 change to syms_of_fileio.\r
+\r
+2007-06-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):\r
+       Check WINDOWP before using XWINDOW.  Consolidate return statements.\r
+\r
+2007-06-27  Richard Stallman  <rms@gnu.org>\r
+\r
+       * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.\r
+\r
+2007-06-27  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.\r
+\r
+2007-06-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * gmalloc.c [HAVE_GTK_AND_PTHREAD]: Check this after including config.h.\r
+       (_aligned_blocks_mutex) [USE_PTHREAD]: New variable.\r
+       (LOCK_ALIGNED_BLOCKS, UNLOCK_ALIGNED_BLOCKS): New macros.\r
+       (_free_internal, memalign): Use them.\r
+       (_malloc_mutex, _aligned_blocks_mutex) [USE_PTHREAD]:\r
+       Initialize to PTHREAD_MUTEX_INITIALIZER.\r
+       (malloc_initialize_1) [USE_PTHREAD]: Don't use recursive mutex.\r
+       (morecore_nolock): Rename from morecore.  All uses changed.\r
+       Use only nolock versions of internal allocation functions.\r
+       (_malloc_internal_nolock, _realloc_internal_nolock)\r
+       (_free_internal_nolock): New functions created from\r
+       _malloc_internal, _realloc_internal, and _free_internal.\r
+       (_malloc_internal, _realloc_internal, _free_internal): Use them.\r
+       Copy hook value to automatic variable before its use.\r
+       (memalign): Copy hook value to automatic variable before its use.\r
+\r
+2007-06-26  Kenichi Handa  <handa@m17n.org>\r
+\r
+       * coding.c (Ffind_operation_coding_system): Docstring improved.\r
+       (syms_of_coding): Docstring of `file-coding-system-alist' improved.\r
+\r
+2007-06-25  David Kastrup  <dak@gnu.org>\r
+\r
+       * keymap.c (Fcurrent_active_maps): Add `position' argument.\r
+       (Fwhere_is_internal): Adjust call to `current-active-maps' to\r
+       cater for additional parameter.\r
+\r
+       * keymap.h: Adjust number of parameters to `current-active-maps'.\r
+\r
+       * doc.c (Fsubstitute_command_keys): Adjust call of\r
+       `current-active-maps'.\r
+\r
+2007-06-25  David Kastrup  <dak@gnu.org>\r
+\r
+       * callint.c (Fcall_interactively): Make the parsing of interactive\r
+       specs somewhat more readable.\r
+\r
+2007-06-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe background\r
+       to scroll bar gap also when bitmap fills fringe.  Draw only foreground\r
+       if extended background has already been filled.\r
+\r
+2007-06-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.\r
+       (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.\r
+\r
+       * macmenu.c (mac_dialog_modal_filter, Fx_popup_dialog) [MAC_OSX]:\r
+       Put special treatment for Fmessage_box, Fyes_or_no_p, and Fy_or_n_p\r
+       in #if 0 as it is not compatible with y-or-n-p-with-timeout.\r
+       (timer_check) [TARGET_API_MAC_CARBON]: Add extern.\r
+       [TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Use QuitEventLoop\r
+       instead of QuitAppModalLoopForWindow.  Consolidate QuitEventLoop calls.\r
+       (pop_down_dialog) [TARGET_API_MAC_CARBON]: New function.\r
+       [TARGET_API_MAC_CARBON] (create_and_show_dialog): Use it for unwind.\r
+       Run timers during dialog popup.\r
+       (Fmenu_or_popup_active_p) [TARGET_API_MAC_CARBON]: Use popup_activated.\r
+\r
+2007-06-21  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * image.c (convert_mono_to_color_image): Swap fore and background.\r
+\r
+2007-06-20  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.\r
+       (w32_free_bdf_font): Unmap memory not handle.\r
+\r
+2007-06-20  Sam Steingold  <sds@gnu.org>\r
+\r
+       * gmalloc.c (__morecore): Fix the declaration to comply with the\r
+       definition.\r
+\r
+2007-06-20  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * w32term.c (w32_delete_display): Remove leftover declaration.\r
+       (w32_define_cursor, w32_initialize): Make static.\r
+\r
+       * w32.c (_wsa_errlist): Fix typo in error message.\r
+       (init_environment): Ignore any environment variable from the\r
+       registry having a null value.\r
+\r
+2007-06-20  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * Makefile.in (LIBGIF): Default to -lgif.\r
+\r
+2007-06-17  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32menu.c (add_menu_item): Don't use multibyte string functions on\r
+       unicode strings.\r
+\r
+2007-06-16  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:\r
+       Fix typo in docstring.\r
+\r
+2007-06-16  Eli Zaretskii  <eliz@gnu.org>\r
+\r
+       * w32menu.c (add_menu_item): Escape `&' characters in menu items\r
+       and their keybindings.\r
+\r
+2007-06-15  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * composite.c (update_compositions): Fix last fix.\r
+\r
+2007-06-14  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32.c (get_process_times_fn): New function pointer.\r
+       (globals_of_w32): Intialize it if present in kernel32.dll.\r
+       (w32_get_internal_run_time): New function.\r
+\r
+       * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.\r
+\r
+2007-06-14  Kenichi Handa  <handa@etlken.m17n.org>\r
+\r
+       * composite.c (update_compositions): Check the validness of\r
+       compositions.\r
+\r
+2007-06-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.\r
+       (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.\r
+\r
+       * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.\r
+       (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.\r
+\r
+       * macgui.h (USE_MAC_TOOLBAR): New define.\r
+\r
+       * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):\r
+       Return immediately unless popup is activated.\r
+\r
+       * macterm.c (x_draw_fringe_bitmap) [MAC_OSX]: Extend fringe\r
+       background to scroll bar gap.\r
+       (x_scroll_bar_create) [MAC_OSX]: Set bar->fringe_extended_p.\r
+       (XTset_vertical_scroll_bar) [MAC_OSX]: Put leftmost/rightmost\r
+       scroll bars on frame edge.  Check fringe background extension.\r
+       Don't clear extended fringe background area.\r
+       (TOOLBAR_IDENTIFIER, TOOLBAR_ICON_ITEM_IDENTIFIER)\r
+       (TOOLBAR_ITEM_COMMAND_ID_OFFSET, TOOLBAR_ITEM_COMMAND_ID_P)\r
+       (TOOLBAR_ITEM_COMMAND_ID_VALUE, TOOLBAR_ITEM_MAKE_COMMAND_ID):\r
+       [USE_MAC_TOOLBAR]: New macros.\r
+       (mac_move_window_with_gravity, mac_get_window_origin_with_gravity)\r
+       (mac_handle_toolbar_event, mac_image_spec_to_cg_image)\r
+       (mac_create_frame_tool_bar, update_frame_tool_bar, free_frame_tool_bar)\r
+       (mac_tool_bar_note_mouse_movement, mac_handle_toolbar_command_event)\r
+       [USE_MAC_TOOLBAR]: New functions.\r
+       (mac_handle_window_event) [USE_MAC_TOOLBAR]: Reposition window\r
+       manually if previous repositioning has failed.\r
+       (mac_handle_keyboard_event): Use precomputed event kind.\r
+       (XTread_socket) [USE_MAC_TOOLBAR]: Handle click in structure region\r
+       as tool bar item click.  Handle mouse movement over tool bar items.\r
+\r
+       * macterm.h (struct mac_output) [USE_MAC_TOOLBAR]: New member\r
+       toolbar_win_gravity.\r
+       (struct scroll_bar) [MAC_OSX]: New member fringe_extended_p.\r
+       (update_frame_tool_bar, free_frame_tool_bar) [USE_MAC_TOOLBAR]:\r
+       Add externs.\r
+\r
+       * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)\r
+       [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.\r
+\r
+2007-06-14  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * image.c (search_image_cache): Remove unused variable.\r
+\r
+2007-06-13  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xfns.c, xmenu.c: Link to xaw3d if available.\r
+\r
+2007-06-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members\r
+       frame_foreground and frame_background.\r
+\r
+       * image.c (lookup_image): Save frame foreground and background colors.\r
+       (search_image_cache): Check if saved and current frame colors match.\r
+\r
+2007-06-12  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * regex.c (regex_compile): Remove the `regnum' counter.\r
+       Use bufp->re_nsub instead.  Add support for \(?N:RE\).\r
+\r
+2007-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * term.c: Include intervals.h to declare Fget_text_property.\r
+\r
+2007-06-10  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * w32fns.c (Fx_file_dialog): Take size from struct not pointer.\r
+\r
+2007-06-08  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * callint.c (Fcall_interactively):\r
+       * editfns.c (Fdelete_and_extract_region):\r
+       * fileio.c (Fread_file_name):\r
+       * fns.c (Fmapconcat):\r
+       * keyboard.c (cmd_error_internal):\r
+       * keymap.c (Fkey_description):\r
+       * lread.c (openp):\r
+       * minibuf.c (read_minibuf):\r
+       * search.c (wordify):\r
+       * sunfns.c (sel_read):\r
+       * xdisp.c (Fformat_mode_line, syms_of_xdisp):\r
+       * xfns.c (x_default_scroll_bar_color_parameter):\r
+       * xmenu.c (menu_help_callback):\r
+       * xselect.c (Fx_get_atom_name):\r
+       * xterm.c (x_term_init): Use empty_unibyte_string.\r
+\r
+2007-06-08  Dmitry Antipov  <dmantipov@yandex.ru>  (tiny change)\r
+\r
+       * alloc.c (init_strings): Initialize canonical empty strings.\r
+       (make_uninit_string, make_uninit_multibyte_string): Return appropriate\r
+       canonical empty string when the requested size is 0.\r
+\r
+       * emacs.c (empty_unibyte_string): Rename from empty_string.\r
+       (empty_multibyte_string): New canonical empty string.\r
+       (syms_of_emacs): Don't initialize empty_string.\r
+\r
+       * lisp.h (STRING_SET_UNIBYTE): Return the canonical empty unibyte\r
+       string, if appropriate.\r
+       (empty_unibyte_string, empty_multibyte_string): New externs.\r
+       (empty_string): Remove extern.\r
+\r
+       * lread.c (syms_of_lread): Use empty_unibyte_string.\r
+\r
+2007-06-07  Jason Rumney  <jasonr@gnu.org>\r
+\r
+       * s/ms-w32.h: Don't define HAVE_TZNAME.\r
+\r
+       * editfns.c (Fcurrent_time_zone): Remove hack for Japanese Windows.\r
+\r
+2007-06-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * mac.c (xrm_get_preference_database): Remove BLOCK_INPUT.\r
+\r
+       * macfns.c (mac_get_window_bounds): Move extern to macterm.h.\r
+       (compute_tip_xy) [TARGET_API_MAC_CARBON]: Use GetGlobalMouse.\r
+\r
+       * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):\r
+       Don't call next handler.\r
+       [TARGET_API_MAC_CARBON] (install_menu_target_item_handler):\r
+       Remove argument.  Install handler to application.\r
+       (set_frame_menubar): Don't change deep_p.\r
+       (mac_menu_show): Use FRAME_OUTER_TO_INNER_DIFF_X and\r
+       FRAME_OUTER_TO_INNER_DIFF_Y.\r
+       (DIALOG_BUTTON_COMMAND_ID_OFFSET, DIALOG_BUTTON_COMMAND_ID_P)\r
+       (DIALOG_BUTTON_COMMAND_ID_VALUE, DIALOG_BUTTON_MAKE_COMMAND_ID)\r
+       [HAVE_DIALOGS]: New macros.\r
+       [HAVE_DIALOGS] (mac_handle_dialog_event, create_and_show_dialog):\r
+       Use them.\r
+       (fill_menubar) [TARGET_API_MAC_CARBON]: Use CFString.\r
+\r
+       * macselect.c [MAC_OSX] (install_service_handler): Rename from\r
+       init_service_handler.  All callers changed.  Return OSStatus value.\r
+\r
+       * macterm.c (mac_begin_cg_clip): New arg F.  Call SetPortWindowPort.\r
+       All callers changed so as not to call SetPortWindowPort.\r
+       (mac_begin_cg_clip) [USE_CG_DRAWING]: Call mac_prepare_for_quickdraw.\r
+       (mac_draw_image_string_atsui) [USE_ATSUI]: New function created from\r
+       mac_draw_string_common.\r
+       (mac_draw_image_string_qd): Likewise.\r
+       (mac_draw_string_common): Use them.  Add INLINE.\r
+       (XTmouse_position, x_scroll_bar_report_motion) [TARGET_API_MAC_CARBON]:\r
+       Use FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y, and\r
+       GetGlobalMouse.\r
+       (x_set_mouse_pixel_position) [MAC_OSX]: Use FRAME_OUTER_TO_INNER_DIFF_X\r
+       and FRAME_OUTER_TO_INNER_DIFF_Y.\r
+       [TARGET_API_MAC_CARBON] (mac_handle_mouse_event): Likewise.\r
+       [USE_MAC_TSM] (mac_handle_text_input_event): Likewise.\r
+       (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Move code for\r
+       repositioning window to mac_handle_window_event.\r
+       (x_make_frame_invisible) [TARGET_API_MAC_CARBON]: Move code for\r
+       saving window location to mac_handle_window_event\r
+       [USE_MAC_FONT_PANEL] (mac_show_hide_font_panel): Install handler here.\r
+       (install_menu_target_item_handler): Remove argument in extern.\r
+       [TARGET_API_MAC_CARBON] (mac_event_to_emacs_modifiers):\r
+       Also accept command events.\r
+       (do_keystroke): New function created from XTread_socket.\r
+       (init_command_handler): Remove functions.\r
+       [TARGET_API_MAC_CARBON] (mac_handle_window_event): Reposition window\r
+       and save window location by kEventWindowShowing and kEventWindowHiding\r
+       handlers here.  Don't call next handler for window state change and\r
+       focus events.\r
+       (mac_handle_application_event, mac_handle_keyboard_event)\r
+       [TARGET_API_MAC_CARBON]: New functions.\r
+       (install_window_handler) [TARGET_API_MAC_CARBON]: Register handlers for\r
+       kEventWindowShowing and kEventWindowHiding events.  Move installation\r
+       of mouse, font, text input and menu target item handlers to\r
+       install_application_handler.\r
+       (install_application_handler) [TARGET_API_MAC_CARBON]: New function.\r
+       (mac_handle_cg_display_reconfig) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:\r
+       New function.\r
+       (init_dm_notification_handler) [MAC_OS_X_VERSION_MAX_ALLOWED >= 1030]:\r
+       Register it.\r
+       (XTread_socket) [TARGET_API_MAC_CARBON]:\r
+       Consolidate SendEventToEventTarget calls.\r
+       Use FRAME_OUTER_TO_INNER_DIFF_X and FRAME_OUTER_TO_INNER_DIFF_Y.\r
+       Move application activation handler to mac_handle_application_event.\r
+       Move keyboard handler to mac_handle_keyboard_event.\r
+       (XTread_socket) [!TARGET_API_MAC_CARBON]: Use do_keystroke.\r
+       (mac_initialize) [TARGET_API_MAC_CARBON]: Don't call\r
+       init_command_handler.  Call install_application_handler.\r
+\r
+       * macterm.h (mac_get_window_bounds): Move extern from macfns.c.\r
+       (FRAME_OUTER_TO_INNER_DIFF_X, FRAME_OUTER_TO_INNER_DIFF_Y): New macros.\r
+\r
+2007-06-07  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * emacs.c (main): Use `emacs-copyright' in --version output.\r
+\r
+2007-06-06  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * image.c (xpm_load): Remove spurious call to xpm_init_color_cache.\r
+\r
+2007-06-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * macfns.c (mac_window): Replace WindowPtr with WindowRef.\r
+\r
+       * macgui.h: Replace WindowPtr with WindowRef.\r
+\r
+       * macmenu.c: Replace MenuHandle and GetMenuHandle with MenuRef and\r
+       GetMenuRef, respectively.  Replace WindowPtr with WindowRef.\r
+       Replace ControlHandle with ControlRef.\r
+       (install_menu_quit_handler): Rename arg MENU_HANDLE to ROOT_MENU.\r
+\r
+       * macterm.c: Replace MenuHandle and GetMenuHandle with MenuRef and\r
+       GetMenuRef, respectively.  Replace WindowPtr with WindowRef.\r
+       Replace ControlHandle with ControlRef.\r
+       (USE_CARBON_EVENTS): Remove.  Use TARGET_API_MAC_CARBON instead.\r
+       [MAC_OS8] (do_get_menus): Rename variable `menu_handle' to `menu'.\r
+\r
+       * macterm.h (struct scroll_bar): Rename member control_handle_low\r
+       and control_handle_high to control_ref_low and control_ref_high.\r
+       All uses changed.\r
+       (SCROLL_BAR_CONTROL_REF, SET_SCROLL_BAR_CONTROL_REF): Rename from\r
+       SCROLL_BAR_CONTROL_HANDLE and SET_SCROLL_BAR_CONTROL_HANDLE,\r
+       respectively.  All uses changed.\r
+       (XCreatePixmap, XCreatePixmapFromBitmapData, XSetWindowBackground)\r
+       (install_window_handler, remove_window_handler): Replace WindowPtr\r
+       with WindowRef in externs.\r
+\r
+2007-06-05  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.\r
+\r
+2007-06-03  Nick Roberts  <nickrob@snap.net.nz>\r
+\r
+       * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.\r
+\r
+       * frame.c (Fmouse_position, Fmouse_pixel_position):\r
+       Condition on HAVE_GPM too.\r
+\r
+       * term.c (term_mouse_highlight): Remove unused variables.\r
+       (Fterm_open_connection): Set gpm_zerobased to 1.\r
+       (term_mouse_movement, term_mouse_click, handle_one_term_event):\r
+       Use zero based co-ordinates.\r
+       (handle_one_term_event): Report a drag as mouse movement too.\r
+\r
+       * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.\r
+\r
+2007-06-03  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * image.c (search_image_cache): New function.  Require background\r
+       color match if background color is unspecified in the image spec.\r
+       (uncache_image, lookup_image): Use it.\r
+\r
+2007-06-01  Juanma Barranquero  <lekktu@gmail.com>\r
+\r
+       * window.c (Fshrink_window): Reflow docstring.\r
+\r
+2007-06-02  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * Version 22.1 released.\r
+\r
+2007-06-01  Richard Stallman  <rms@gnu.org>\r
+\r
+       * xfns.c (x_encode_text): Add GCPRO.\r
+\r
+2007-06-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * xfns.c (x_set_name_internal): Save encoded name before\r
+       x_encode_text in case string data is relocated.\r
+\r
+2007-05-31  Richard Stallman  <rms@gnu.org>\r
+\r
+       * buffer.c (syms_of_buffer): Doc fix.\r
+\r
+2007-05-30  Nick Roberts  <nickrob@snap.net.nz>\r
+\r
+       * sysdep.c (init_sys_modes): Add rather than replace with\r
+       O_NONBLOCK.\r
+\r
+       * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to\r
+       term_mouse_moveto.\r
+\r
+       * termhooks.h (term_mouse_moveto): New extern.\r
+\r
+       * term.c (mouse_face_window): Rename...\r
+       (Qmouse_face_window): ...to this.\r
+       (term_show_mouse_face, term_clear_mouse_face)\r
+       (term_mouse_highlight): Use Qmouse_face_window.\r
+       (term_mouse_moveto): New function.\r
+       (term_mouse_position): Make it work.\r
+       (syms_of_term): Uncomment assignment to mouse_position_hook.\r
+       Staticpro Qmouse_face_window.\r
+\r
+2007-05-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t\r
+       around current_column call.\r
+\r
+2007-05-26  Dan Nicolaescu  <dann@ics.uci.edu>\r
+\r
+       * xfaces.c (syms_of_xfaces): Delete stray semicolon.\r
+       * xdisp.c (next_element_from_buffer):\r
+       * window.c (delete_window):\r
+       * term.c (term_mouse_highlight):\r
+       * msdos.c (getdefdir):\r
+       * macterm.c (mac_create_bitmap_from_bitmap_data)\r
+       (init_font_name_table):\r
+       * fns.c (Fsxhash):\r
+       * data.c (Fmake_local_variable):\r
+       * ccl.c (ccl_driver): Likewise.\r
+\r
+2007-05-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):\r
+       Call mac_wakeup_from_rne on window size change.\r
+\r
+2007-05-25  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * image.c (uncache_image): Fix typo.\r
+\r
+2007-05-23  Johannes Weiner  <hannes@saeurebad.de>  (tiny change)\r
+\r
+       * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.\r
+\r
+2007-05-22  Richard Stallman  <rms@gnu.org>\r
+\r
+       * xterm.c (x_connection_closed): Remove NO_RETURN.\r
+\r
+2007-05-22  Martin Rudalics  <rudalics@gmx.at>\r
+\r
+       * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.\r
+\r
+2007-05-21  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * image.c (uncache_image): New function.\r
+       (Fimage_refresh): New function.\r
+\r
+2007-05-20  Jan Djärv  <jan.h.d@swipnet.se>\r
+\r
+       * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.\r
+\r
+2007-05-20  Nick Roberts  <nickrob@snap.net.nz>\r
+\r
+       * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,\r
+       * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.\r
+\r
+2007-05-20  Nick Roberts  <nickrob@snap.net.nz>\r
+\r
+       * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT\r
+       conditional on [HAVE_GPM_H].\r
+\r
+2007-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * syntax.c (skip_chars): Update syntax-table only after we checked that\r
+       the new location is valid.\r
+\r
+2007-05-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around\r
+       mac_get_window_bounds.\r
+\r
+2007-05-20  Nick Roberts  <nickrob@snap.net.nz>\r
+\r
+       * Makefile.in (LIBGPM): Allow it to be set from configure.\r
+       If set then link Emacs with it.\r
+\r
+       * config.in: Regenerate.\r
+\r
+       * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):\r
+       New externs.\r
+\r
+       * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.\r
+       Include gpm.h.\r
+       (handle_one_term_event, term_gpm): New externs.\r
+\r
+       * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking\r
+       and allow it to be interrupted by SIGIO.\r
+\r
+       * process.c (gpm_wait_mask, max_gpm_desc): New variables.\r
+       (wait_reading_process_output): Wait on gpm_fd too.\r
+       (add_gpm_wait_descriptor, delete_gpm_wait_descriptor)): New functions.\r
+       (add_gpm_wait_descriptor_called_flag): New variable.\r
+       (delete_keyboard_wait_descriptor): Check gpm_wait_mask.\r
+\r
+       * keyboard.c [HAVE_GPM_H] (Qmouse_fixup_help_message)\r
+       (make_lispy_movement, tracking_off, Ftrack_mouse, some_mouse_moved)\r
+       (show_help_echo, readable_events, kbd_buffer_get_event, init_keyboard):\r
+       Extend HAVE_MOUSE ifdefs to HAVE_GPM_H.\r
+       (make_lispy_event): Add case GPM_CLICK_EVENT.\r
+       (read_avail_input): Handle mouse input.\r
+\r
+       * term.c (write_glyphs_with_face): New function.\r
+       [HAVE_GPM_H]: Include buffer.h, sys/fcntl.h.\r
+       (mouse_face_beg_row, mouse_face_beg_col, mouse_face_end_row)\r
+       (mouse_face_end_col, mouse_face_past_end, mouse_face_window)\r
+       (mouse_face_face_id, term_gpm, pos_x, pos_y)\r
+       (last_mouse_x, last_mouse_y): New variables.\r
+       (term_show_mouse_face, term_clear_mouse_face, fast_find_position)\r
+       (term_mouse_highlight, term_mouse_movement, term_mouse_position)\r
+       (term_mouse_click, handle_one_term_event, Fterm_open_connection)\r
+       (Fterm_close_connection): New functions.\r
+       (term_init): Initialise mouse_face_window.\r
+\r
+2007-05-19  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xdisp.c (redisplay_window): If first window line is a\r
+       continuation line, recompute the new window start instead of\r
+       recentering.\r
+\r
+2007-05-18  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.\r
+       Suggested by Alfred M. Szmidt <ams@gnu.org>.\r
+\r
+2007-05-17  Glenn Morris  <rgm@gnu.org>\r
+\r
+       * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.\r
+\r
+2007-05-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert\r
+       dead key repeat and up events.\r
+\r
+2007-05-14  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * image.c (pbm_load): Check image size for monochrome pbm.\r
+\r
+2007-05-13  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * xterm.c (XTread_socket): Revert last change.\r
+\r
+2007-05-12  Chong Yidong  <cyd@stupidchicken.com>\r
+\r
+       * image.c (pbm_load): Correctly check image size for greyscale pbm.\r
+\r
+       * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).\r
+\r
+2007-05-07  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object\r
+       mixup (YAILOM).\r
+\r
+2007-05-07  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * keymap.c (Flookup_key): Fix typo in last change.\r
+\r
+2007-05-07  Stefan Monnier  <monnier@iro.umontreal.ca>\r
+\r
+       * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier\r
+       mapping for unibyte strings.\r
+\r
+2007-05-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.\r
+       (Fx_popup_dialog) [MAC_OSX]: Likewise.\r
+\r
+2007-04-29  Richard Stallman  <rms@gnu.org>\r
+\r
+       * insdel.c (replace_range): For undo, record insertion first.\r
+\r
+2007-04-29  Andreas Schwab  <schwab@suse.de>\r
+\r
+       * lisp.h (VECSIZE): Use OFFSETOF.\r
+\r
+2007-04-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>\r
+\r
+       * xdisp.c (try_window_reusing_current_matrix): Fix number of\r
+       disabled lines.\r
+\r
+2007-04-28  Richard Stallman  <rms@gnu.org>\r
+\r
+       * lread.c (read_escape): In a string, \s is always space.\r
+\r
+2007-04-27  Jan Djärv  <jan.h.d@swipnet.se>\r
+\r
+       * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.\r
+\r
+       * gtkutil.c (xg_update_menubar, create_menus): Create empty\r
+       submenu for menu bar items.\r
+\r
+See ChangeLog.10 for earlier changes.\r
+\r
+;; Local Variables:\r
+;; coding: utf-8\r
+;; add-log-time-zone-rule: t\r
+;; bug-reference-url-format: "http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=%s"\r
+;; End:\r
+\r
+    Copyright (C) 2007, 2008  Free Software Foundation, Inc.\r
+\r
+  This file is part of GNU Emacs.\r
+\r
+  GNU Emacs is free software: you can redistribute it and/or modify\r
+  it under the terms of the GNU General Public License as published by\r
+  the Free Software Foundation, either version 3 of the License, or\r
+  (at your option) any later version.\r
+\r
+  GNU Emacs is distributed in the hope that it will be useful,\r
+  but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+  GNU General Public License for more details.\r
+\r
+  You should have received a copy of the GNU General Public License\r
+  along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.\r
+\r
+;; arch-tag: dfb6ad96-1550-4905-9e53-d2059ee84c40\r