]> git.eshelyaron.com Git - emacs.git/commitdiff
(Fwindow_dedicated_p, Fset_window_dedicated_p):
authorMartin Rudalics <rudalics@gmx.at>
Sun, 19 Oct 2008 13:50:25 +0000 (13:50 +0000)
committerMartin Rudalics <rudalics@gmx.at>
Sun, 19 Oct 2008 13:50:25 +0000 (13:50 +0000)
Mention kill-buffer in doc-string.
(Fset_window_buffer): Reinsert tem check removed in last commit.
(Fenlarge_window, Fshrink_window): Have argument names and
doc-string follow Elisp manual more closely.

src/ChangeLog
src/window.c

index ebabb5cd15234544a42ded7f53e41d50eb5a6368..b6ef1e3e1f6fffc92b799e2016343df3d2cb994c 100644 (file)
-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
+2008-10-19  Martin Rudalics  <rudalics@gmx.at>
+
+       * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
+       Mention kill-buffer in doc-string.
+       (Fset_window_buffer): Reinsert tem check removed in last commit.
+       (Fenlarge_window, Fshrink_window): Have argument names and
+       doc-string follow Elisp manual more closely.
+
+2008-10-18  Eli Zaretskii  <eliz@gnu.org>
+
+       * fileio.c (Fset_file_modes): Doc fix.
+
+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
index 20b6ef846dc3b18249aec6a9decc08ab526017d8..58b8dd3b843f5ce623fbf2c2107a7356325ce15d 100644 (file)
@@ -1268,8 +1268,8 @@ WINDOW defaults to the selected window.
 When a window is dedicated to its buffer, `display-buffer' and
 `set-window-buffer' will refrain from displaying another buffer in it.
 `get-lru-window' and `get-largest-window' treat dedicated windows
-specially.  `delete-windows-on' and `replace-buffer-in-windows'
-sometimes delete a dedicated window and the containing frame.  */)
+specially.  `delete-windows-on', `replace-buffer-in-windows' and
+`kill-buffer' can delete a dedicated window and the containing frame.  */)
      (window)
      Lisp_Object window;
 {
@@ -1286,8 +1286,8 @@ Return FLAG.
 When a window is dedicated to its buffer, `display-buffer' and
 `set-window-buffer' will refrain from displaying another buffer in it.
 `get-lru-window' and `get-largest-window' treat dedicated windows
-specially.  `delete-windows-on' and `replace-buffer-in-windows'
-sometimes delete a dedicated window and the containing frame.  */)
+specially.  `delete-windows-on', `replace-buffer-in-windows' and
+`kill-buffer' can delete a dedicated window and the containing frame.  */)
      (window, flag)
      Lisp_Object window, flag;
 {
@@ -3490,7 +3490,9 @@ This function runs the hook `window-scroll-functions'.  */)
     error ("Attempt to display deleted buffer");
 
   tem = w->buffer;
-  if (!EQ (tem, Qt))
+  if (NILP (tem))
+    error ("Window is deleted");
+  else if (!EQ (tem, Qt))
     /* w->buffer is t when the window is first being set up.  */
     {
       if (!NILP (w->dedicated) && !EQ (tem, buffer))
@@ -3887,17 +3889,19 @@ See Info node `(elisp)Splitting Windows' for more details and examples.  */)
 }
 \f
 DEFUN ("enlarge-window", Fenlarge_window, Senlarge_window, 1, 2, "p",
-       doc: /* Make current window ARG lines bigger.
-From program, optional second arg non-nil means grow sideways ARG columns.
-Interactively, if an argument is not given, make the window one line bigger.
-If HORIZONTAL is non-nil, enlarge horizontally instead of vertically.
-This function can delete windows, even the second window, if they get
-too small.  */)
-     (arg, horizontal)
-     Lisp_Object arg, horizontal;
+       doc: /* Make selected window SIZE lines taller.
+Interactively, if no argument is given, make the selected window one
+line taller.  If optional argument HORIZONTAL is non-nil, make selected
+window wider by SIZE columns.  If SIZE is negative, shrink the window by
+-SIZE lines or columns.  Return nil.
+
+This function can delete windows if they get too small.  The size of
+fixed size windows is not altered by this function.  */)
+     (size, horizontal)
+     Lisp_Object size, horizontal;
 {
-  CHECK_NUMBER (arg);
-  enlarge_window (selected_window, XINT (arg), !NILP (horizontal));
+  CHECK_NUMBER (size);
+  enlarge_window (selected_window, XINT (size), !NILP (horizontal));
 
   run_window_configuration_change_hook (SELECTED_FRAME ());
 
@@ -3905,15 +3909,19 @@ too small.  */)
 }
 
 DEFUN ("shrink-window", Fshrink_window, Sshrink_window, 1, 2, "p",
-       doc: /* Make current window ARG lines smaller.
-From program, optional second arg non-nil means shrink sideways arg columns.
-Interactively, if an argument is not given, make the window one line smaller.
-Only siblings to the right or below are changed.  */)
-     (arg, side)
-     Lisp_Object arg, side;
-{
-  CHECK_NUMBER (arg);
-  enlarge_window (selected_window, -XINT (arg), !NILP (side));
+       doc: /* Make selected window SIZE lines smaller.
+Interactively, if no argument is given, make the selected window one
+line smaller.  If optional argument HORIZONTAL is non-nil, make the
+window narrower by SIZE columns.  If SIZE is negative, enlarge selected
+window by -SIZE lines or columns.  Return nil.
+
+This function can delete windows if they get too small.  The size of
+fixed size windows is not altered by this function. */)
+     (size, horizontal)
+     Lisp_Object size, horizontal;
+{
+  CHECK_NUMBER (size);
+  enlarge_window (selected_window, -XINT (size), !NILP (horizontal));
 
   run_window_configuration_change_hook (SELECTED_FRAME ());