]> git.eshelyaron.com Git - emacs.git/commitdiff
Merge from emacs-23; up to 2010-06-22T07:41:10Z!rgm@gnu.org
authorGlenn Morris <rgm@gnu.org>
Sun, 6 Nov 2011 23:38:01 +0000 (15:38 -0800)
committerGlenn Morris <rgm@gnu.org>
Sun, 6 Nov 2011 23:38:01 +0000 (15:38 -0800)
1  2 
src/ChangeLog
src/xmenu.c

diff --cc src/ChangeLog
index 4074ee4e924a5ef5efa85d55fcd3886d85772410,d006f58b8b6244872bc2de8897033b2119731eb7..f174eeff623b6b95c36090103e21133b33481331
 -2011-10-31  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
++2011-11-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+       * xmenu.c (cleanup_widget_value_tree): New function.
+       (xmenu_show, xdialog_show): Use it in record_unwind_protect instead of
+       calling free_menubar_widget_value_tree directly (Bug#9830).
 -2011-09-19  Andreas Schwab  <schwab@linux-m68k.org>
 +2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix some portability problems with 'inline'.
 +      * dispextern.h (window_box, window_box_height, window_text_bottom_y)
 +      (window_box_width, window_box_left, window_box_left_offset)
 +      (window_box_right, window_box_right_offset): Declare extern.
 +      Otherwise, these inline functions do not conform to C99 and
 +      are miscompiled by Microsoft compilers.  Reported by Eli Zaretskii in
 +      <http://lists.gnu.org/archive/html/emacs-devel/2011-11/msg00084.html>.
 +      * intervals.c (adjust_intervals_for_insertion)
 +      (adjust_intervals_for_deletion): Now extern, because otherwise the
 +      extern inline functions 'offset_intervals' couldn't refer to it.
 +      (static_offset_intervals): Remove.
 +      (offset_intervals): Rewrite using the old contents of
 +      static_offset_intervals.  The old version didn't conform to C99
 +      because an extern inline function contained a reference to an
 +      identifier with static linkage.
 +
 +2011-11-06  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * keyboard.c (interrupt_signal): Don't call kill-emacs while in
 +      GC.
 +
 +2011-11-06  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * xdisp.c (init_iterator, reseat_to_string): Don't set the
 +      iterator's bidi_p flag if Vpurify_flag is non-nil.  (Bug#9963)
 +      (Fcurrent_bidi_paragraph_direction): If Vpurify_flag is non-nil,
 +      return Qleft_to_right.
  
 -      * keymap.c (Fsingle_key_description): Use make_specified_string
 -      instead of build_string to build string from push_key_description.
 -      (Bug#5193)
 -
 -2011-09-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xdisp.c (expose_window): Save original value of phys_cursor_on_p
 -      and turn window cursor on if cleared (Bug#9415).
 -
 -2011-09-07  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * search.c (boyer_moore): Take unibyte characters from pattern
 -      literally.  (Bug#9458)
 -
 -2011-08-30  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * syntax.c (find_defun_start): Update all cache variables if
 -      exiting early (Bug#9401).
 -
 -2011-08-19  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * keyboard.c: Include "process.h"
 -
 -2011-07-28  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * xfaces.c (update_face_from_frame_parameter): Move out of
 -      HAVE_WINDOW_SYSTEM portion.  Condition window-system only parts
 -      with HAVE_WINDOW_SYSTEM.
 -
 -2011-07-26  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * fontset.c (fontset_get_font_group): Add proper type checks.
 -      (Bug#9172)
 -
 -2011-07-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * unexmacosx.c (print_load_command_name): Add cases LC_FUNCTION_STARTS
 -      and LC_VERSION_MIN_MACOSX.
 -      (copy_linkedit_data) [LC_FUNCTION_STARTS]: New function.
 -      (dump_it) [LC_FUNCTION_STARTS]: Use it.
 -
 -2011-07-22  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * frame.c (Fmodify_frame_parameters): In tty case, update the
 -      default face if necessary (Bug#4238).
 -
 -2011-07-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * s/darwin.h (LD_SWITCH_SYSTEM_TEMACS): Add -fno-pie so as to suppress
 -      address randomization (Bug#8395).
 -
 -2011-07-07  Kenichi Handa  <handa@m17n.org>
 -
 -      * composite.c (composition_compute_stop_pos): Ignore a static
 -      composition starting before CHARPOS (Bug#8915).
 -
 -      * xdisp.c (handle_composition_prop): Likewise.
 -
 -2011-06-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * dispnew.c (scrolling_window): Before scrolling, turn off a
 -      mouse-highlight in the window being scrolled.
 -
 -2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
 -
 -      * nsmenu.m: Replace all uses of XVECTOR with ASIZE and AREF.  (Bug#8839)
 -
 -2011-06-02  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * emacs.c (main): Warn when starting a GTK emacs in daemon mode.
 -
 -2011-06-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * fringe.c (update_window_fringes): Don't update overlay arrow bitmap
 -      in the current matrix if keep_current_p is non-zero.
 -
 -2011-05-25  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * dispextern.h (struct glyph_row): New member fringe_bitmap_periodic_p.
 -
 -      * dispnew.c (shift_glyph_matrix, scrolling_window): Mark scrolled row
 -      for fringe update if it has periodic bitmap.
 -      (row_equal_p): Also compare left_fringe_offset, right_fringe_offset,
 -      and fringe_bitmap_periodic_p.
 -
 -      * fringe.c (get_fringe_bitmap_data): New function.
 -      (draw_fringe_bitmap_1, update_window_fringes): Use it.
 -      (update_window_fringes): Record periodicity of fringe bitmap in glyph
 -      row.  Mark glyph row for fringe update if periodicity changed.
 -
 -      * xdisp.c (try_window_reusing_current_matrix): Don't mark scrolled row
 -      for fringe update unless it has periodic bitmap.
 -
 -2011-05-25  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (get_next_display_element): Set correct it->face_id for
 -      a static composition.
 -
 -2011-05-21  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * dispnew.c (scrolling_window): Don't exclude the case that the
 -      last enabled row in the desired matrix touches the bottom boundary.
 -
 -2011-05-11  Drew Adams  <drew.adams@oracle.com>
 -
 -      * textprop.c (Fprevious_single_char_property_change): Doc fix (bug#8655).
 -
 -2011-05-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * w32term.c (w32_draw_fringe_bitmap): Rename local vars `left' and
 -      `width' to `bar_area_x' and `bar_area_width', respectively.
 -      (x_scroll_run): Take account of fringe background extension.
 -
 -      * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]: Rename
 -      local vars `left' and `width' to `bar_area_x' and
 -      `bar_area_width', respectively.
 -      (x_scroll_run) [USE_TOOLKIT_SCROLL_BARS]: Take account of fringe
 -      background extension.
 -
 -2011-05-09  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * xmenu.c (set_frame_menubar): Fix submenu loops.
 -
 -2011-05-09  Eli Zaretskii  <eliz@gnu.org>
 -
 -      Backport revisions 103939.1.41..103939.1.44 (inclusive) from trunk.
 -      (bug#8623)
 -      The next log entry shows the actual changes by Paul Eggert.
 -
 -2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
 -
 -      Fix a problem with aliasing and vector headers.
 -      GCC 4.6.0 optimizes based on type-based alias analysis.  For
 -      example, if b is of type struct buffer * and v of type struct
 -      Lisp_Vector *, then gcc -O2 was incorrectly assuming that &b->size
 -      != &v->size, and therefore "v->size = 1; b->size = 2; return
 -      v->size;" must therefore return 1.  This assumption is incorrect
 -      for Emacs, since it type-puns struct Lisp_Vector * with many other
 -      types.  To fix this problem, this patch adds a new type struct
 -      vector_header that documents the constraints on layout of vectors
 -      and pseudovectors, and helps optimizing compilers not get fooled
 -      by Emacs's type punning.  It also adds the macros XSETTYPED_PVECTYPE
 -      XSETTYPED_PSEUDOVECTOR, TYPED_PSEUDOVECTORP, for similar reasons.
 -      * lisp.h (XVECTOR_SIZE): New convenience macro.  All previous uses of
 -      XVECTOR (foo)->size replaced to use this macro, to avoid the hassle
 -      of writing XVECTOR (foo)->header.size.
 -      * lisp.h: Say "vectorlike header" rather than "vector header.
 -      (struct vectorlike_header): Rename from struct vector_header.
 -      (XVECTORLIKE_HEADER_SIZE): Renamed from XVECTOR_HEADER_SIZE.
 -      All uses changed.
 -      (XVECTOR_HEADER_SIZE): New macro, for use in XSETPSEUDOVECTOR.
 -      (XSETTYPED_PVECTYPE): New macro, specifying the name of the size
 -      member.
 -      (XSETPVECTYPE): Rewrite in terms of new macro.
 -      (XSETPVECTYPESIZE): New macro, specifying both type and size.
 -      This is a bit clearer, and further avoids the possibility of
 -      undesirable aliasing.
 -      (XSETTYPED_PSEUDOVECTOR): New macro, specifying the size.
 -      (XSETPSEUDOVECTOR): Rewrite in terms of XSETTYPED_PSEUDOVECTOR
 -      and XVECTOR_HEADER_SIZE.
 -      (XSETSUBR): Rewrite in terms of XSETTYPED_PSEUDOVECTOR and XSIZE,
 -      since Lisp_Subr is a special case (no "next" field).
 -      (ASIZE): Rewrite in terms of XVECTOR_SIZE.
 -      (struct vector_header): New type.
 -      (TYPED_PSEUDOVECTORP): New macro, also specifying the C type of the
 -      object, to help avoid aliasing.
 -      (PSEUDOVECTORP): Rewrite in terms of TYPED_PSEUDOVECTORP.
 -      (SUBRP): Likewise, since Lisp_Subr is a special case.
 -
 -      * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table):
 -      (struct Lisp_Sub_Char_Table, struct Lisp_Bool_Vector):
 -      (struct Lisp_Hash_Table): Combine first two members into a single
 -      struct vector_header member.  All uses of "size" and "next" members
 -      changed to be "header.size" and "header.next".
 -      * buffer.h (struct buffer): Likewise.
 -      * font.h (struct font_spec, struct font_entity, struct font): Likewise.
 -      * frame.h (struct frame): Likewise.
 -      * process.h (struct Lisp_Process): Likewise.
 -      * termhooks.h (struct terminal): Likewise.
 -      * window.c (struct save_window_data, struct saved_window): Likewise.
 -      * window.h (struct window): Likewise.
 -      * alloc.c (allocate_buffer, Fmake_bool_vector, allocate_pseudovector):
 -      Use XSETPVECTYPESIZE, not XSETPVECTYPE, to avoid aliasing problems.
 -      * buffer.c (init_buffer_once): Likewise.
 -      * lread.c (defsubr): Use XSETTYPED_PVECTYPE, since Lisp_Subr is a
 -      special case.
 -      * process.c (Fformat_network_address): Use local var for size,
 -      for brevity.
 -      * fns.c (vector): Remove; this old hack is no longer needed.
 -      * bytecode.c (exec_byte_code): Don't use XVECTOR before CHECK_VECTOR.
 -
 -2011-04-29  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32heap.c (allocate_heap) [USE_LISP_UNION_TYPE || USE_LSB_TAG]:
 -      New version that can reserve upto 2GB of heap space.
 -
 -2011-04-26  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsfns.m (Fns_read_file_name): Doc fix (Bug#8534).
 -
 -2011-04-18  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * s/ms-w32.h (localtime): Redirect to sys_localtime.
 -
 -      * w32.c: Include <time.h>.
 -      (sys_localtime): New function.
 -
 -2011-04-13  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (init_xdisp): Initialize echo_area_window (Bug#6451).
 -
 -2011-04-10  Samuel Thibault  <sthibault@debian.org>  (tiny change)
 -
 -      * sysdep.c (wait_for_termination): On GNU Hurd, kill returns -1 on
 -      zombies (Bug#8467).
 -
 -2011-04-10  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * buffer.c (syms_of_buffer): Doc fix (Bug#6902).
 -
 -2011-04-08  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * ftfont.c (get_adstyle_property, ftfont_pattern_entity): Use
 -      unsigned char, to match FcChar8 type definition.
 -
 -      * xterm.c (handle_one_xevent):
 -      * xmenu.c (create_and_show_popup_menu):
 -      * xselect.c (x_decline_selection_request)
 -      (x_reply_selection_request): Avoid type-punned deref of X events.
 -
 -2011-04-08  Samuel Thibault  <sthibault@debian.org>  (tiny change)
 -
 -      * term.c (init_tty): Fix incorrect ifdef placement (Bug#8450).
 -
 -2011-03-19  Christoph Scholtes  <cschol2112@googlemail.com>
 -
 -      * process.c (Fformat_network_address): Doc fix.
 -
 -2011-03-19  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * buffer.h (BUF_BEGV, BUF_BEGV_BYTE, BUF_ZV, BUF_ZV_BYTE, BUF_PT)
 -      (BUF_PT_BYTE): Rewrite to handle indirect buffers (Bug#8219).
 -      These macros can no longer be used for assignment.
 -
 -      * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Assign
 -      struct members directly, instead of using BUF_BEGV etc.
 -      (record_buffer_markers, fetch_buffer_markers): New functions for
 -      recording and fetching special buffer markers.
 -      (set_buffer_internal_1, set_buffer_temp): Use them.
 -
 -      * lread.c (unreadchar): Use SET_BUF_PT_BOTH.
 -
 -      * insdel.c (adjust_point): Use SET_BUF_PT_BOTH.
 -
 -      * intervals.c (temp_set_point_both): Use SET_BUF_PT_BOTH.
 -      (get_local_map): Use SET_BUF_BEGV_BOTH and SET_BUF_ZV_BOTH.
 -
 -      * xdisp.c (hscroll_window_tree):
 -      (reconsider_clip_changes): Use PT instead of BUF_PT.
 -
 -2011-03-17  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * xfaces.c (Fx_load_color_file):
 -      Read color file from absolute filename (bug#8250).
 -
 -2011-03-11  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      Backport revno:103582 from trunk.
 -      * w32xfns.c (select_palette): Check success of RealizePalette against
 -      GDI_ERROR, not zero.
 -
 -2011-03-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * fringe.c (update_window_fringes): Remove unused variables.
 -
 -      * unexmacosx.c (copy_data_segment): Also copy __got section.
 -      (Bug#8223)
 -
 -2011-03-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Version 23.3 released.
 -
 -2011-02-22  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_open_entity): Be sure to set scaled_pixel_size.
 -      (font_find_for_lface): Check if attrs[LFACE_HEIGHT_INDEX] is
 -      integer.
 -
 -2011-02-19  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Makefile.in (prefix-args${EXEEXT}): Compile with ALL_CFLAGS.
 -
 -2011-02-13  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * xdisp.c (redisplay_internal): Resynchronize `w' if the selected
 -      window is changed inside calls to do_pending_window_change.
 -      (Bug#8020)
 -
 -2011-02-12  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * terminal.c (create_terminal): Use default-keyboard-coding-system
 -      and default-terminal-coding-system to initialize coding systems of
 -      the new terminal.  (Bug#7840)
 -
 -2011-02-09  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (select_window): Check inhibit_point_swap argument when
 -      deciding whether to return immediately.
 -
 -2011-02-08  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * nsterm.m (setFrame, initFrame): Make sure pixel_height doesn't become
 -      zero (Bug#7348).
 -
 -2011-02-03  Glenn Morris  <rgm@gnu.org>
 -
 -      * xfaces.c (Finternal_set_lisp_face_attribute):
 -      Try to clarify some error messages.  (Bug#2659)
 -
 -2011-02-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * editfns.c (save_restriction_restore): Don't forget to invalidate the
 -      current_column cache (bug#7946).
 -
 -2011-02-02  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_open): Use FC_DUAL only when it is defined.
 -
 -      * xftfont.c (xftfont_open): Likewise.
 -
 -2011-02-01  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * window.c (Fselect_window): Add missing return value.
 -
 -2011-01-29  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * image.c (DEF_IMGLIB_FN): Add parameter rettype, use it instead
 -      of int.  All uses adjusted.
 -      (PNG_JMPBUF, png_load, jpeg_load, tiff_load, gif_load)
 -      (svg_load_image): Remove casts.
 -
 -2011-01-29  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * image.c (fn_png_longjmp, fn_png_set_longjmp_fn): New png
 -      function definitions for compiling with libpng-1.5.
 -      (PNG_LONGJMP, PNG_JMPBUF): New macros for libpng-1.5.
 -      (my_png_error, png_load): Use them.  Suggested by Thomas Klausner
 -      (Bug#7908).
 -
 -2011-01-28  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * m/intel386.h: Define NO_ARG_ARRAY.  Suggested by Dan Nicolaescu.
 -
 -2011-01-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (font_parse_fcname): Require GTK-style font sizes to
 -      occur at the end of the font string (Bug#7853).
 -
 -2011-01-26  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (font_parse_fcname): Fix typo in string length.
 -
 -2011-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (handle_fontified_prop): Be careful with font-lock changing
 -      the buffer's point-max (bug#7876).
 -
 -2011-01-23  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * lisp.h (XPNTR): Obey DATA_SEG_BITS in all non-USE_LSB_TAG cases.
 -      Remove unused HAVE_SHM branch (Bug#6811).
 -
 -2011-01-23  Peter O'Gorman  <bug-gnu-emacs@mlists.thewrittenword.com>  (tiny change)
 -
 -      * s/hpux11.h: Set CANNOT_DUMP on IA64 (Bug#6811).
 -
 -2011-01-22  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (select_window): New function.
 -      (Fselect_window): Call it.
 -      (inhibit_point_swap): Variable deleted.
 -      (Fset_window_configuration): Call select_window directly.
 -
 -2011-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * image.c (syms_of_image): Don't access XSYMBOL's internals directly.
 -
 -2011-01-16  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * image.c (syms_of_image): Don't use SET_SYMBOL_VALUE.  (Bug#7848)
 -
 -2011-01-15  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (inhibit_point_swap): New variable.
 -      (Fselect_window): If inhibit_point_swap is nonzero, avoid swapping
 -      point this time.
 -      (Fset_window_configuration): Set inhibit_point_swap to 1 instead
 -      of setting selected_window to nil (Bug#7728).
 -
 -2011-01-12  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * config.in (TERMINFO): New definition.
 -
 -      * s/netbsd.h: Use it to choose between terminfo and termcap
 -      (Bug#7642).
 -
 -2011-01-03  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * coding.h (ENCODE_UTF_8): Remove "Used by ..." comment.
 -
 -      * nsfns.m (ns_set_name_iconic): Remove.
 -      (ns_get_screen): Don't assign integer to f.
 -      (ns_set_name_internal): New function (Bug#7517).
 -      (Vicon_title_format): Extern declare.
 -      (ns_set_name): Call ns_set_name_internal.
 -      (x_explicitly_set_name): Remove call to ns_set_name_iconic.
 -      (x_implicitly_set_name): Ditto.
 -      (x_set_title): Remove commet about EXPLICIT.  Call ns_set_name_internal.
 -      (ns_set_name_as_filename): Encode name with ENCODE_UTF_8.
 -      Always use buffer name for title and buffer filename only for
 -      RepresentedFilename.  Handle bad UTF-8 in buffer name (Bug#7517).
 -
 -2011-01-03  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * image.c (png_jmpbuf): Remove definition.
 -      (my_png_error, png_load): Don't use png_jmpbuf.
 -
 -2010-12-31  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * image.c <Qlibpng_version>: New variable.
 -      (syms_of_image): Intern and staticpro it.  Set its value to the
 -      version of PNG library we were compiled with.
 -      (my_png_error, png_load): Avoid GCC warnings about direct access
 -      to png_ptr->jmpbuf.  (Bug#7716)
 -      (png_jmpbuf): New macro.
 -      (my_png_error, png_load): Use it instead of #ifdef'ing according
 -      to PNG_LIBPNG_VER_MAJOR and PNG_LIBPNG_VER_MINOR.
 -
 -2010-12-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * .gdbinit (xgetptr): Fix the union+lsb case.
 -      (xbacktrace): Fix the union case.
 -
 -2010-12-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * window.c (Fmove_to_window_line): Avoid abort when called in a buffer
 -      different from selected-window's.
 -
 -2010-12-25  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * keyboard.c (parse_menu_item): Prepend "  " to the key sequence
 -      equivalent of a menu item when the key sequence is given by the
 -      `:keys' attribute.  (Bug#7662)
 -
 -      * xdisp.c (Fformat_mode_line): Doc fix: no need to state that only
 -      the basic faces are supported.
 -
 -2010-12-24  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_check_fullscreen): Fix pixel/character mixup.
 -
 -2010-12-17  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * xdisp.c (Fformat_mode_line): Fix last change.
 -
 -2010-12-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (Fformat_mode_line): Restrict the FACE argument to basic
 -      faces (Bug#7587).
 -
 -2010-12-13  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * fileio.c (Fexpand_file_name): One more doc fix.
 -
 -2010-12-12  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * fileio.c (Fexpand_file_name): Doc fix.  (Bug#7617)
 -
 -2010-12-11  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32fns.c (Fx_show_tip): Call try_window with last argument
 -      TRY_WINDOW_IGNORE_FONTS_CHANGE.  Delete the TODO ifdef: problem
 -      solved.  Round up the tip height to an integral multiple of the
 -      frame's line height.  Add FRAME_COLUMN_WIDTH to the tip width.
 -      (Bug#7398)
 -
 -      * xdisp.c (string_pos_nchars_ahead, c_string_pos)
 -      (face_before_or_after_it_pos, next_element_from_string)
 -      (next_element_from_c_string, produce_stretch_glyph): Remove unused
 -      calculations of maximum string length before calling
 -      string_char_and_length and STRING_CHAR_AND_LENGTH.
 -      (string_char_and_length): Update commentary: MAXLEN is no longer
 -      needed.
 -
 -2010-12-10  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * keyboard.c (kbd_buffer_get_event): Construct SAVE_SESSION_EVENT
 -      as (Qsave_session arg).
 -
 -      * xsmfns.c (smc_interact_CB): Set arg to Qnil.
 -      (smc_die_CB): Make an event with arg Qt.
 -      (Fhandle_save_session): If event has Qt as argument,
 -      call Fkill_emacs (Bug#7552).
 -
 -2010-12-07  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xsmfns.c (smc_die_CB): Call Fkill_emacs (Bug#7552).
 -
 -2010-12-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * dispextern.h (struct it): New member overlay_strings_charpos.
 -
 -      * xdisp.c (next_overlay_string, load_overlay_strings): Record the
 -      charpos where we computed n_overlay_strings.
 -      (next_overlay_string): Load overlay strings at recorded position,
 -      which may not be the same as the iterator's charpos (Bug#7016).
 -
 -2010-12-05  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * nsterm.m (ns_dumpglyphs_image): If drawing cursor, fill background
 -      with cursor color and draw a rectangle around the image (Bug#7412).
 -
 -2010-12-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (try_scrolling): Avoid infloop if the first line is
 -      obscured due to a vscroll (Bug#7537).
 -
 -2010-12-02  Jan Djärv  <jhd@zeplinf.localdomain>
 -
 -      * nsterm.h (FRAME_NS_TOOLBAR_HEIGHT): Rename to FRAME_TOOLBAR_HEIGHT.
 -
 -      * nsterm.m (x_set_window_size, windowWillResize, initFrameFromEmacs):
 -      Use FRAME_TOOLBAR_HEIGHT.
 -      (x_set_offset): Handle XNegative and YNegative in
 -      f->size_hint_flags (Bug#7510).
 -
 -2010-11-25  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (emacs_mule_charset): Make it an array of charset ID;
 -      i.e. integer.
 -      (Fdefine_charset_internal): Adjusted for the above change.
 -      (init_charset_once): Likewise.
 -
 -      * charset.h (emacs_mule_charset): Adjust the prototype.  Delete
 -      duplicated extern.
 -
 -      * coding.c (emacs_mule_char): Adjust for the change of
 -      emacs_mule_charset.
 -
 -      * lread.c (read_emacs_mule_char): Adjust for the change of
 -      emacs_mule_charset.
 -
 -2010-11-22  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32.c (_PROCESS_MEMORY_COUNTERS_EX): Don't define with versions
 -      of w32api >= 3.15.  (Bug#6989)  (Bug#7452)
 -
 -2010-11-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * alloc.c (mark_terminals): Ensure that the image cache is marked
 -      even if the terminal object was marked earlier (Bug#6301).
 -
 -2010-11-21  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * editfns.c (Fbyte_to_string): Signal an error arg is not a byte.
 -
 -2010-11-20  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (menubar_map_cb): New function (Bug#7425).
 -      (xg_update_frame_menubar): Connect signal map to menubar_map_cb.
 -      Use 23 as menubar height if 0.  (Bug#7425).
 -
 -2010-11-14  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xsettings.c (init_gconf): Check HAVE_G_TYPE_INIT.
 -
 -      * config.in (HAVE_G_TYPE_INIT): New symbol.
 -
 -2010-11-12  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * lread.c (Fload): Mention `load-in-progress' and
 -      `load-file-name'.  (Bug#7346)
 -
 -2010-11-09  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * keyboard.c (kbd_buffer_nr_stored): Define only ifdef subprocesses.
 -      (kbd_buffer_store_event_hold, kbd_buffer_get_event)
 -      (tty_read_avail_input): Call kbd_buffer_nr_stored only ifdef
 -      subprocesses.  Use buffer_free only ifdef subprocesses.
 -
 -      * process.c (init_process) [subprocesses]: Init kbd_is_on_hold in
 -      the subprocesses version, not in the non-subprocesses one.
 -
 -      * Makefile.in: Don't use ## comment, it breaks the MSDOS build.
 -
 -      * xfns.c (x_real_positions): Fix declaration-after-statement
 -      problem.
 -
 -2010-11-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * image.c (free_image): Don't garbage the frame here, since this
 -      function can be called while redisplaying (Bug#7210).
 -      (uncache_image): Garbage the frame here (Bug#6426).
 -
 -2010-11-04  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * process.c (Fmake_network_process): Don't apply Bug#5173 fix for
 -      Windows.
 -
 -2010-11-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * process.c (Fmake_network_process): Don't call turn_on_atimers around
 -      `connect' (Bug#5723).
 -
 -2010-11-04  Helmut Eller  <eller.helmut@gmail.com>
 -
 -      * process.c (Fmake_network_process): Call `select' for interrupted
 -      `connect' rather than creating new socket (Bug#5173).
 -
 -2010-11-04  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_delete_unmatched): Check Vface_ignored_fonts.
 -      Don't sheck SPEC if it is nil.
 -      (font_list_entities): Call font_delete_unmatched if
 -      Vface_ignored_fonts is non-nil.
 -
 -2010-11-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * dispextern.h (TRY_WINDOW_CHECK_MARGINS)
 -      (TRY_WINDOW_IGNORE_FONTS_CHANGE): New defines.
 -
 -      * xdisp.c (try_window): Change arg from CHECK_MARGINS to FLAGS.
 -      Don't abort with fonts change if TRY_WINDOW_IGNORE_FONTS_CHANGE is
 -      set in FLAGS.  Callers with non-zero CHECK_MARGINS changed to use
 -      TRY_WINDOW_CHECK_MARGINS.
 -
 -      * xfns.c (Fx_show_tip): Undo last change.  Call try_window with
 -      TRY_WINDOW_IGNORE_FONTS_CHANGE (Bug#2423).
 -
 -2010-11-04  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (x_real_positions): Only use _NET_FRAME_EXTENTS if our
 -      parent is the root window.  Check this after traversing window tree.
 -
 -      * xterm.c (x_term_init): Initialize Xatom_net_frame_extents.
 -
 -      * xterm.h (struct x_display_info): Xatom_net_frame_extents is new.
 -
 -      * xfns.c (x_real_positions): Try to get _NET_FRAME_EXTENTS first
 -      before traversing window tree (Bug#5721).
 -
 -2010-11-03  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (CRT_DIR): New variable, set by configure.
 -      * m/amdx86-64.h, m/ibms390x.h (START_FILES, LIB_STANDARD):
 -      Use $CRT_DIR rather than HAVE_LIB64_DIR.  (Bug#5655)
 -
 -2010-11-01  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * process.c (kbd_is_on_hold): New variable.
 -      (hold_keyboard_input, unhold_keyboard_input, kbd_on_hold_p):
 -      New functions.
 -      (wait_reading_process_output): If kbd_on_hold_p returns non-zero,
 -      select on empty input mask.
 -      (init_process): Initialize kbd_is_on_hold to 0.
 -
 -      * process.h (hold_keyboard_input, unhold_keyboard_input)
 -      (kbd_on_hold_p): Declare.
 -
 -      * keyboard.c (input_available_signal): Declare.
 -      (kbd_buffer_nr_stored): New function.
 -      (kbd_buffer_store_event_hold): If kbd_buffer_nr_stored returns
 -      more than KBD_BUFFER_SIZE/2, stop reding input (Bug#6571).
 -      (kbd_buffer_get_event): If input is suspended and kbd_buffer_nr_stored
 -      returns less than KBD_BUFFER_SIZE/4, resume reding input (Bug#6571).
 -      (tty_read_avail_input): If input is on hold, return.
 -      Don't read more that free slots in kbd_buffer (Bug#6571).
 -
 -2010-10-31  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xterm.c (x_connection_closed): Print informative error message
 -      when aborting on GTK.  This requires using shut_down_emacs
 -      directly instead of Fkill_emacs.
 -
 -2010-10-25  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (Fdbus_call_method_asynchronously)
 -      (Fdbus_register_signal, Fdbus_register_method): Check, whether
 -      `dbus-registered-objects-table' is initialized.
 -
 -2010-10-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xterm.c (x_connection_closed): Kill Emacs unconditionally.
 -
 -2010-10-22  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * frame.c (Fframep, Fwindow_system): Deprecate use as a predicate.
 -
 -      * dispnew.c (syms_of_display) <initial-window-system, window-system>:
 -      Deprecate use as a boolean flag.
 -
 -2010-10-18  Ken Brown  <kbrown@cornell.edu>
 -
 -      * s/cygwin.h (SIGNALS_VIA_CHARACTERS): New define (bug#7225).
 -
 -2010-10-15  Kenichi Handa  <handa@m17n.org>
 -
 -      Fix incorrect font metrics when the same font is opened with
 -      different pixelsizes.
 -
 -      * xftfont.c: Include composite.h.
 -      (xftfont_shape): New function.
 -      (syms_of_xftfont): Set xftfont_driver.shape.
 -
 -2010-10-13  Damyan Pepper  <damyanp@gmail.com>
 -
 -      Fix handling of font properties on Windows (bug#6303).
 -      * font.c (font_filter_properties): New function, refactored from
 -      ftfont_filter_properties.
 -      * font.h (font_filter_properties): Declare.
 -      * ftfont.c (ftfont_filter_properties): Use font_filter_properties.
 -      * w32font.c (w32font_booleans, w32font_non_booleans): New variables.
 -      (w32font_filter_properties): New function.
 -      (w32font_driver): Add w32font_filter_properties.
 -
 -2010-10-12  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * font.c (Ffont_variation_glyphs):
 -      * ccl.c (Fccl_execute_on_string): Fix typo in docstring.
 -
 -2010-10-10  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * nsterm.m (Qleft): Declare.
 -      (ns_right_alternate_modifier): New variable
 -      (NSRightAlternateKeyMask): New define.
 -      (EV_MODIFIERS): Parse NSRightAlternateKeyMask if
 -      ns_right_alternate_modifier isn't Qleft.
 -      (keyDown): If ns_right_alternate_modifier isn't Qleft, use it
 -      as emacs modifier for NSRightAlternateKeyMask.
 -      (syms_of_nsterm): DEFVAR_LISP ns-right-alternate-modifier.
 -
 -2010-10-08  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_get_dispatch_status): Return a Lisp_Object.
 -      (xd_pending_messages): Catch xd_get_dispatch_status calls.
 -
 -2010-10-08  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (complement_process_encoding_system): Fix previous change.
 -
 -2010-10-03  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (syms_of_dbusbind): Move putenv call ...
 -      (Fdbus_init_bus): ... here.  (Bug#7113)
 -
 -2010-10-03  Glenn Morris  <rgm@gnu.org>
 -
 -      * buffer.c (before-change-functions, after-change-functions):
 -      Three-year overdue doc fix following 2007-08-13 change.
 -
 -2010-10-02  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (coding_inherit_eol_type): If parent doesn't specify
 -      eol-format, inherit from the system's default.
 -      (complement_process_encoding_system): Make a new coding system
 -      inherit the original eol-format.
 -
 -2010-09-30  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (complement_process_encoding_system): New function.
 -
 -      * coding.h (complement_process_encoding_system): Extern it.
 -
 -      * callproc.c (Fcall_process): Complement the coding system for
 -      encoding arguments.
 -      (Fcall_process_region): Complement the coding system for encoding
 -      the input to the process.
 -
 -      * process.c (Fstart_process): Complement the coding system for
 -      encoding arguments.
 -      (send_process): Complement the coding system for encoding what
 -      sent to the process.
 -
 -2010-09-29  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfont.c (xfont_open): Fix setting of font->average_width from
 -      :avgwidth property (Bug#7123).
 -
 -2010-09-28  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (syms_of_dbusbind): Use putenv instead of setenv, it
 -      is more portable.
 -
 -      * keyboard.c (gobble_input): Move call of xd_read_queued_messages ...
 -      (kbd_buffer_get_event): ... here.  This is needed for cygwin, which
 -      has not defined SIGIO.
 -
 -2010-09-27  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (syms_of_dbusbind): Set $DBUS_FATAL_WARNINGS to "0".
 -      (Bug#7113)
 -
 -2010-09-26  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xgselect.c (xg_select): Clear file descriptors not set from
 -      rfds and wfds.
 -
 -2010-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * syntax.c (back_comment): Detect the case where a 1-char comment
 -      starter is also the 2nd char of a 2-char comment ender.
 -
 -2010-09-17  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_tool_bar_menu_proxy): Set gtk-menu-items to TRUE.
 -
 -2010-09-12  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (get_current_vm_state): New function.
 -      (do_ewmh_fullscreen): Call get_current_vm_state and compare with
 -      want_fullscreen so set_wm_state calls are few (Bug#7013).
 -      (x_handle_net_wm_state): Move code to get_current_vm_state and
 -      call that function.
 -
 -2010-09-11  Courtney Bane  <emacs-bugs-7626@cbane.org>  (tiny change)
 -
 -      * term.c (tty_set_terminal_modes): Don't initialize twice (bug#7002).
 -
 -2010-09-08  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (encode_coding_iso_2022): Don't optimize for ASCII if
 -      we may use designation or locking-shift.
 -
 -2010-09-07  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding_emacs_mule): Fix checking of multibyte
 -      sequence when the source is multibyte.
 -
 -2010-08-31  Kenichi Handa  <handa@m17n.org>
 -
 -      * dispextern.h (FACE_FOR_CHAR): Use an ASCII face for 8-bit
 -      characters.
 -
 -      * term.c (encode_terminal_code): Fix the previous change.
 -      (produce_glyphs): Don't set it->char_to_display here.
 -      Don't handle unibyte-display-via-language-environment here.
 -      (produce_special_glyphs): Set temp_it.char_to_display before
 -      calling produce_glyphs.
 -
 -      * xdisp.c (get_next_display_element): Set it->char_to_display
 -      here.  Convert all 8-bit bytes from unibyte buffer/string to 8-bit
 -      characters.
 -      (get_overlay_arrow_glyph_row): Set it.char_to_display too before
 -      calling PRODUCE_GLYPHS.
 -      (append_space_for_newline): Save and store it->char_to_display.
 -      Set it->char_to_display before calling PRODUCE_GLYPHS.
 -      (extend_face_to_end_of_line): Set it->char_to_display before
 -      calling PRODUCE_GLYPHS.
 -      (get_glyph_face_and_encoding): Set the glyph code an 8-bit
 -      character to its byte value.
 -      (get_char_glyph_code): New function.
 -      (produce_stretch_glyph): Set it2.char_to_display too before
 -      calling x_produce_glyphs.
 -      (x_produce_glyphs): Simplify by using the same code for ASCII and
 -      non-ASCII characters.  Don't set it->char_to_display here.
 -      Don't handle unibyte-display-via-language-environment here.  For a
 -      character of no glyph, use font->space_width instead of FONT_WIDTH.
 -
 -2010-08-29  Kenichi Handa  <handa@m17n.org>
 -
 -      * term.c (encode_terminal_code): Encode byte chars to the
 -      correspnding bytes.
 -
 -2010-08-17  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * eval.c (Flet, Feval, Fapply, apply_lambda): Use SAFE_ALLOCA_LISP
 -      instead of SAFE_ALLOCA.
 -
 -2010-08-17  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * eval.c (Flet, Feval, Fapply, apply_lambda): Use SAFE_ALLOCA
 -      (Bug#6214).
 -
 -2010-08-14  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * doc.c (Fsnarf_documentation): Set skip_file only if p[1] is S.
 -
 -2010-08-13  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * doc.c (Fsnarf_documentation): Initialize skip_file before
 -      build-files test.
 -
 -2010-08-09  Peter O'Gorman <pogma@thewrittenword.com>  (tiny change)
 -
 -      * s/hpux10-20.h (HAVE_TERMIOS, NO_TERMIO, ORDINARY_LINK):
 -      New definitions.
 -      (HAVE_TERMIO): Remove.
 -
 -2010-08-06  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c: Include <stdlib.h>
 -      (struct charset_sort_data): New struct.
 -      (charset_compare): New function.
 -      (Fsort_charsets): New function.
 -      (syms_of_charset): Declare Fsort_charsets as a Lisp function.
 -
 -      * coding.c (decode_coding_iso_2022): Fix checking of dimension
 -      number in CTEXT extended segment.
 -
 -2010-08-01  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32fns.c (syms_of_w32fns) <x-max-tooltip-size>: Fix typo in docstring.
 -      * xfns.c (syms_of_xfns) <x-max-tooltip-size>: Reflow docstring.
 -
 -2010-07-30  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * fns.c (Fsubstring_no_properties, Fnthcdr, Ffeaturep)
 -      (Fhash_table_size): Fix typos in docstrings.
 -      (Fmake_hash_table): Doc fix.
 -
 -2010-07-28  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * minibuf.c (syms_of_minibuf) <read-buffer-function>:
 -      Doc fix (bug#5625).
 -
 -2010-07-27  Ken Brown  <kbrown@cornell.edu>
 -
 -      * dired.c (DIRENTRY_NONEMPTY) [cygwin]: Use d_ino instead of
 -      the MSDOS definition.
 -
 -2010-07-25  Christoph Scholtes  <cschol2112@gmail.com>
 -
 -      * minibuf.c (Fread_buffer): Doc fix (bug#6528).
 -
 -2010-07-22  Christoph Scholtes  <cschol2112@gmail.com>
 -
 -      * window.c (Fwindow_height): Doc fix (bug#6518).
 -
 -2010-07-21  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * buffer.c (syms_of_buffer) <fringe-indicator-alist>: Doc fix.
 -
 -2010-07-17  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_event_is_for_menubar): Also check that event window
 -      is related to the menu bar (Bug#6499).
 -
 -2010-07-14  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.h (x_menubar_window_to_frame): Second parameter is XEvent*.
 -
 -      * xterm.c (handle_one_xevent): Pass event to x_menubar_window_to_frame.
 -
 -      * xmenu.c (x_activate_menubar): Revert previous fix for Bug#6499,
 -      i.e. don't put back ButtonRelease (Bug#6608).
 -
 -      * xfns.c (x_menubar_window_to_frame): Take XEvent as second parameter
 -      instead of Window.  Call xg_event_is_for_menubar when
 -      USE_GTK (Bug#6499).
 -
 -      * gtkutil.h (xg_event_is_for_menubar): Declare.
 -
 -      * gtkutil.c (xg_event_is_for_menubar): New function (Bug#6499).
 -
 -2010-07-14  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32fns.c (x_set_foreground_color): Fix setting the cursor color
 -      when it's the same as the old foreground.  (Bug#6609)
 -
 -2010-07-10  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (realize_face): Garbage the frame if a face is removed
 -      (Bug#6593).
 -
 -2010-07-05  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * keyboard.c: Remove duplicate <setjmp.h>.
 -      (read_key_sequence): Remove volatile qualifiers.
 -
 -2010-07-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * dispextern.h (FRINGE_HEIGHT_BITS): New define.
 -      (struct glyph_row): New members left_fringe_offset and
 -      right_fringe_offset.
 -
 -      * xterm.c (x_draw_fringe_bitmap): Don't clip bottom aligned bitmap
 -      specially.
 -      * w32term.c (w32_draw_fringe_bitmap): Likewise.
 -      * nsterm.m (ns_draw_fringe_bitmap): Likewise.
 -
 -      * fringe.c (draw_fringe_bitmap_1): Don't clip bitmap here.
 -      Take account of bitmap offset.
 -      (draw_window_fringes): Take account of window vscroll.
 -      (update_window_fringes): Likewise.  Extend top-aligned top indicator
 -      or bottom-aligned bottom indicator to adjacent rows if it doesn't fit
 -      in one row.  Don't set redraw_fringe_bitmaps_p outside row comparison.
 -      Set left_fringe_offset and right_fringe_offset (Bug#5634, Bug#6325).
 -
 -2010-07-04  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32fns.c (Qtooltip): Declare.
 -      Suggested by Andy Moreton <andrewjmoreton@gmail.com>.
 -
 -2010-07-03  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xmenu.c (x_activate_menubar): Send Press/Release for Gtk+ to avoid
 -      grab on just Press (Bug#6499).
 -
 -2010-07-02  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * frame.c (Qtooltip): New var.
 -      (delete_frame): Use it.  Fix faulty if statement.  Don't update
 -      mode line for tooltip frames.  Suggested by Martin Rudalics.
 -
 -      * xfns.c (x_create_tip_frame):
 -      * w32fns.c (x_create_tip_frame): Use it.
 -
 -2010-06-30  Naohiro Aota  <naota@elisp.net>  (tiny change)
 -
 -      * xftfont.c (xftfont_open): Check font width one by one also when
 -      spacing is dual.
 -
 -      * ftfont.c (ftfont_open): Ditto.
 -
 -2010-06-26  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * alloc.c (Fmake_byte_code): Don't access undefined argument
 -      (Bug#6517).
 -
 -2010-06-25  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (next_element_from_image): Ensure that after-strings are
 -      read the next time we hit handle_stop (Bug#1336).
 -
 -2010-06-23  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * lread.c (read1): Signal error if #s is not followed by paren.
 -
 -2010-06-19  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * image.c (free_image): Mark frame as garbaged (Bug#6426).
 -
 -      * keymap.c (Fdefine_key): Doc fix (Bug#6460).
 -
 -2010-06-15  Glenn Morris  <rgm@gnu.org>
 -
 -      * editfns.c (Fbyte_to_string): Pacify compiler.
 -
 -2010-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * dbusbind.c (xd_append_arg): Don't "make-unibyte" the string.
 -      Check `object's type before accessing its guts.
 -
 -2010-06-08  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * minibuf.c (Fall_completions): Add more checks.
 -
 -2010-06-08  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * minibuf.c (Fall_completions): Check COLLECTION's size (bug#6378).
 -
 -2010-06-03  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * process.c (conv_lisp_to_sockaddr): Fix conversion of IPv4
 -      address.  (Bug#6346)
 -
 -2010-06-03  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * ccl.c (Fccl_program_p): Fix typo in docstring.
 -
 -2010-05-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keymap.c (Fwhere_is_internal): Fix handling of remapping (in thread
 -      of bug#6305).
 -
 -2010-05-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (redisplay_window): After redisplay, check if point is
 -      still valid before setting it (Bug#6177).
 -
 -2010-05-20  enami tsugutomo  <tsugutomo.enami@jp.sony.com>
 -
 -      * s/netbsd.h: If terminfo is found, use it in preference to
 -      termcap.  (Bug#6190)  [Backport from trunk]
 -
 -2010-05-20  Kevin Ryde  <user42@zip.com.au>
 -
 -      * keyboard.c (Vlast_command, Vkeyboard_translate_table)
 -      (Voverriding_terminal_local_map, Vsystem_key_alist)
 -      (Vlocal_function_key_map): Fix manual link in docstring (Bug#6224).
 -
 -2010-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * editfns.c (Fbyte_to_string): New function.
 -
 -2010-05-18  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * character.c (Fstring, Funibyte_string): Use SAFE_ALLOCA to
 -      prevent stack overflow if number of arguments is too large
 -      (Bug#6214).
 -
 -2010-05-11  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * makefile.w32-in ($(BLD)/w32fns.$(O)): Depend on $(SRC)/w32.h.
 -
 -      * w32fns.c: Include w32.h.
 -      (Fw32_shell_execute): Decode the error message before passing it
 -      to `error'.  (Bug#6126)
 -
 -2010-05-11  Karel Klic  <kklic@redhat.com>
 -
 -      * ftfont.c: Fix incorrect parentheses of #if condition for
 -      definining M17N_FLT_USE_NEW_FEATURE.
 -
 -2010-05-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Version 23.2 released.
 -
 -2010-04-30  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * composite.c (autocmp_chars): Save point as marker before calling
 -      auto-composition-function (Bug#5984).
 -
 -      * lisp.h (restore_point_unwind): Add prototype.
 -
 -      * fileio.c (restore_point_unwind): Remove static attribute.
 -
 -2010-04-23  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (M17N_FLT_USE_NEW_FEATURE): Define it if we can use the
 -      new feature of libotf and m17n-flt.
 -      (ftfont_check_otf) [M17N_FLT_USE_NEW_FEATURE]:
 -      Call OTF_check_features even if no specific feature is given.
 -      (PACK_OTF_TAG) [M17N_FLT_USE_NEW_FEATURE]: New macro.
 -      (ftfont_drive_otf) [M17N_FLT_USE_NEW_FEATURE]: Handle the case
 -      that OUT is NULL.  Use OTF_drive_gsub_with_log and
 -      OTF_drive_gpos_with_log instead of OTF_drive_gsub and
 -      OTF_drive_gpos.
 -      (ftfont_try_otf) [M17N_FLT_USE_NEW_FEATURE]: New function.
 -      (ftfont_shape_by_flt) [M17N_FLT_USE_NEW_FEATURE]:
 -      Setup mflt_enable_new_feature and mflt_try_otf.
 -
 -2010-04-19  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * dired.c (Ffile_attributes): Fix typo in docstring.
 -
 -2010-04-13  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsmenu.m (EmacsDialog-runDialogAt:): Declare ret as
 -      NSInteger (Bug#5811).
 -
 -2010-04-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * s/darwin.h (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF)
 -      (PTY_OPEN): New defines.  Use openpty (Bug#726, Bug#5819).
 -
 -2010-04-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * frame.h (FRAME_LINE_TO_PIXEL_Y): Add missing parenthesis.
 -
 -2010-04-07  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * frame.h (FRAME_TEXT_LINES_TO_PIXEL_HEIGHT): Don't use
 -      FRAME_LINE_TO_PIXEL_Y.
 -
 -      * xterm.c (x_set_window_size_1): Don't add border_width/height to
 -      pixelwidth/height.
 -
 -2010-04-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (prepare_menu_bars): Don't call ns_set_doc_edited for
 -      terminal frames (Bug#5837).
 -
 -2010-03-31  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsfns.m (ns_set_doc_edited): Remove unused arg OLDVAL.
 -      * nsterm.h: Fix prototype.
 -
 -2010-03-31  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32fns.c (x_create_tip_frame): Copy `parms' before we modify it
 -      in this function.  (Bug#5703)
 -
 -2010-03-31  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsterm.h: Fix last change.
 -
 -2010-03-30  Bernhard Herzog  <bh@intevation.de>  (tiny change)
 -
 -      * menu.c (Fx_popup_menu): Use last_event_timestamp (Bug#4930).
 -
 -2010-03-30  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xdisp.c (note_mouse_highlight): Don't do highlight if pointer is
 -      invisible (Bug#5766).
 -
 -2010-03-29  Adrian Robert  <adrian.b.robert@gmail.com>
 -
 -      * xdisp.c (x_consider_frame_title, update_window_cursor): Remove
 -      HAVE_NS conditionals.
 -      (prepare_menu_bars) [HAVE_NS]: Call ns_set_doc_edited.
 -
 -      * nsfns.m (x_implicitly_set_name): If frame-title-format is t, use
 -      filename for the title.
 -      (ns_set_doc_edited): Do nothing if the selected window is a
 -      minibuffer window.
 -
 -      * nsterm.h: Add prototypes for ns_set_name_as_filename and
 -      ns_set_doc_edited.
 -
 -      * nsterm.m: Remove unneeded prototype.
 -
 -2010-03-28  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (SOME_MACHINE_OBJECTS): Ensure dbus stuff is always
 -      in the DOC file.  (Bug#5336)
 -
 -2010-03-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (pos_visible_p): Revert 2008-01-25 change (Bug#5730).
 -
 -2010-03-20  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * frame.c (x_get_arg): Handle RES_TYPE_BOOLEAN_NUMBER (bug #5736).
 -
 -      * xfns.c (Fx_create_frame): Make menuBar a RES_TYPE_BOOLEAN_NUMBER.
 -
 -      * dispextern.h (resource_types): RES_TYPE_BOOLEAN_NUMBER is new.
 -
 -2010-03-20  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xfns.c (Fx_create_frame) [USE_LUCID]: Add BLOCK_INPUT around
 -      XLoadQueryFont.
 -
 -2010-03-16  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding_ccl): Fix previous change for the
 -      multibyte case.
 -      (encode_coding_ccl): Don't setup ccl program here.  Fix for the
 -      case that the output buffer is fullfilled.
 -      (encode_coding): Setup ccl program here.
 -
 -2010-03-15  Andreas Politz  <politza@fh-trier.de>  (tiny change)
 -
 -      * editfns.c (Fformat): Account for string precision when computing
 -      field width (Bug#5710).
 -
 -2010-03-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Make it possible to C-g in a tight bytecode loop again (bug#5680).
 -      * lisp.h (ELSE_PENDING_SIGNALS): New macro.
 -      (QUIT): Use it to consolidate code and remove redundancy.
 -      * bytecode.c (BYTE_CODE_QUIT): Use it as well.
 -
 -      * regex.c (regex_compile): Setup gl_state as well.
 -
 -      * syntax.c (skip_chars): Setup gl_state (bug#3823).
 -      (in_classes): Use CONSP before XCAR/XCDR.
 -
 -2010-03-03  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keymap.c (Fwhere_is_internal): Use Fequal to compare
 -      definitions, so that keyboard macros are correctly handled
 -      (Bug#5481).
 -
 -2010-03-02  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * coding.c (decode_coding_emacs_mule): Fixup pointers to buffer
 -      text that could be relocated inside the call to emacs_mule_char.
 -      (emacs_mule_char): Use CODING_DECODE_CHAR instead of DECODE_CHAR.
 -      (CODING_DECODE_CHAR): Add a comment describing its purpose.
 -
 -2010-03-02  Kenichi Handa  <handa@m17n.org>
 -
 -      * character.c (parse_str_as_multibyte): Fix handling of the
 -      multibyte form of raw-bytes.
 -      (str_as_multibyte): Likewise.
 -
 -      * buffer.c (Fset_buffer_multibyte): Fix handling of the multibyte
 -      form of raw-bytes.
 -
 -2010-02-28  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * charset.c (load_charset_map_from_file)
 -      (load_charset_map_from_vector): Zero out allocated
 -      charset_map_entries before using them.
 -
 -2010-02-27  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * w32uniscribe.c (uniscribe_check_otf): Fix length check.
 -
 -2010-02-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (font_parse_fcname): Recognize "Book", "Condensed",
 -      "Medium", and "Semi-Condensed" keywords in GTK names (Bug#5646).
 -
 -2010-02-26  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_get_open_type_spec): Fix parsing of otf_spec.
 -
 -      * xdisp.c (reseat_to_string): Fix previous change.
 -
 -2010-02-26  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsfont.m (nsfont_draw): ns_antialias_text should be a
 -      Lisp_Object (Bug#4736).
 -
 -2010-02-25  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (reseat_to_string): Fix previous change (bug#5609).
 -
 -2010-02-24  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (XTflash): Move declarations before statements.
 -
 -      * gtkutil.c (xg_get_gdk_display): Remove (unused).
 -      (xg_get_pixbuf_from_pix_and_mask, xg_create_frame_widgets)
 -      (xg_toggle_notify_cb, xg_set_toolkit_scroll_bar_thumb)
 -      (xg_create_tool_bar): Remove unused variables.
 -      (x_wm_set_size_hint): Move declarations before statements.
 -      (xg_create_frame_widgets): Remove variable grav.
 -
 -2010-02-21  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * m/arm.h: Define the LIB_GCC flag to be -lgcc_s (Bug#5518).
 -
 -2010-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * term.c (fatal): Add a final \n if needed (bug#5596).
 -
 -2010-02-18  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsterm.m (ns_ring_bell): Revert last change (Bug#5569).
 -
 -2010-02-18  Glenn Morris  <rgm@gnu.org>
 -
 -      * callint.c (Finteractive): Doc fix.
 -
 -2010-02-18  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>  (tiny change)
 -
 -      * coding.c (record_conversion_result):
 -      Handle CODING_RESULT_INSUFFICIENT_DST.
 -      (decode_coding_object): Record CODING_RESULT_INSUFFICIENT_MEM on
 -      memory allocation error.
 -
 -2010-02-17  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding_ccl): Don't setup ccl program here.
 -      Fix for the case that the output buffer is fullfilled.
 -      (decode_coding): Setup ccl program here.  Keep looping when the
 -      decoder stopped because the output buffer is
 -      fullfilled (bug#5534).
 -
 -      * ccl.c (ccl_driver): Never reset ic to CCL_HEADER_MAIN.
 -
 -2010-02-13  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_clear_frame_area): Call gtk_widget_queue_draw if USE_GTK,
 -      bug #5571.
 -      (XTflash): Use Gdk-routines if USE_GTK so scroll bars don't get
 -      overdrawn.
 -
 -2010-02-10  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xsmfns.c (x_session_initialize): Move initialization of ice_fd and
 -      doing_interact here.
 -      (ice_connection_closed): New function.
 -      (x_session_check_input, smc_die_CB, ice_io_error_handler)
 -      (ice_conn_watch_CB, x_session_close): Call ice_connection_closed.
 -      (x_session_check_input): Call IceCloseConnection if IceProcessMessages
 -      returns I/O error.
 -      (ice_conn_watch_CB): Call add_keyboard_wait_descriptor on ice_fd,
 -      bug #5512.
 -
 -2010-02-08  Francis Devereux  <francis@devrx.org>  (tiny change)
 -
 -      * nsfont.m (nsfont_open): The system's value for the font descent
 -      is negative, so round it down to avoid clipping.
 -
 -2010-02-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * charset.c (load_charset_map_from_file)
 -      (load_charset_map_from_vector): Fix last change to use SAFE_ALLOCA
 -      instead of xmalloc (Bug#5526).  Suggested by Vivek Dasmohapatra.
 -
 -2010-02-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * charset.c (load_charset_map_from_file): Allocate large
 -      charset_map_entries structure on the heap rather than the stack.
 -      (Bug#5526).
 -
 -2010-01-31  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_parse_xlfd): If FONT is a font-entity and pixel
 -      size in NAME is invalid, return -1 (Bug#5396).
 -
 -2010-01-31  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsterm.m (ns_defined_color): Block input.  Suggested by Mike
 -      <deactivated@gmail.com> (Bug#3605).
 -
 -2010-01-31  David De La Harpe Golden  <david@harpegolden.net>
 -
 -      * fileio.c (Frename_file): Correctly rename symlinks to
 -      directories (Bug#5496).
 -
 -2010-01-31  Filipe Cabecinhas  <filcab@gmail.com>  (tiny change)
 -
 -      * nsterm.m (ns_ring_bell): Handle visible bell like X.
 -
 -2010-01-30  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * character.h (CHAR_PRINTABLE_P): Reparenthesize to avoid warning.
 -
 -2010-01-29  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * frame.c (DEFAULT_ROWS): Change default to 35.
 -
 -      * xfns.c (x_default_font_parameter): Change default XFT font to
 -      monospace-10 (Bug#3643).
 -
 -2010-01-29  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32inevt.c (key_event): Remove unnecessary comparison of
 -      event->uChar.AsciiChar with 128.
 -
 -2010-01-28  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * fileio.c (Frename_file): Fix last change (Bug#5487).
 -
 -      * m/mips.h: Remove DATA_START.  Suggested by Dan Nicolaescu.
 -
 -      * m/alpha.h: Don't define DATA_START on NetBSD (Bug#4629).
 -
 -2010-01-28  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (Fx_create_frame): Remove window size matching code from
 -      2010-01-15.
 -      (x_get_current_desktop, x_get_desktop_workarea): Remove.
 -
 -2010-01-27  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32inevt.c (w32_kbd_patch_key): Save the unicode character.
 -      (key_event): Use unicode for characters 128 and higher (Bug#4567).
 -
 -2010-01-27  Kenichi Handa  <handa@m17n.org>
 -
 -      * regex.c (analyse_first): Fix setting of fastmap for unibyte
 -      pattern string (Bug#4209).
 -
 -2010-01-27  David De La Harpe Golden  <david@harpegolden.net>
 -
 -      * fileio.c (Frename_file): Call copy-directory and
 -      delete-directory for directories, in order to handle cross-device
 -      renaming (Bug#3353).
 -
 -2010-01-25  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (Fx_create_frame): If frame height is too big, try
 -      sizes 24 and 10.  Bug #3643.
 -
 -2010-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Try and fix bug#788, hopefully for real this time.
 -      * keymap.c (shadow_lookup): Add `remap' arg.
 -      (describe_map, describe_vector): Update calls to shadow_lookup.
 -      (Fwhere_is_internal): Fix up handling of `remapped_sequences' and
 -      `remapped' so this flag is applicable to `sequence'.  Be careful to
 -      perform remapping during shadow_lookup check of remapped_sequences.
 -
 -2010-01-24  Eric Bélanger  <snowmaniscool@gmail.com>  (tiny change)
 -
 -      * image.c (png_load): Use png_sig_cmp instead of the obsolete
 -      png_check_sig, which has been removed in libpng 1.4.
 -
 -2010-01-23  Giorgos Keramidas  <keramida@ceid.upatras.gr>  (tiny change)
 -
 -      * filelock.c: Include utmp.h only when HAVE_UTMP_H (FreeBSD 9.x
 -      lacks this header file).
 -
 -2010-01-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xdisp.c (draw_glyphs): Update `start' for left_overwritten case
 -      as in Emacs 22.
 -
 -2010-01-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * lisp.h (make_pure_string): String pointer arg now points to const.
 -
 -      * alloc.c (find_string_data_in_pure, make_pure_string): String pointer
 -      args now point to const.
 -
 -2010-01-22  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * lread.c (Fload): Don't treat files without .elc extension as
 -      byte-compiled if they are ``magic'', i.e. `openp' returned -2 for
 -      them.  (bug#5303)
 -
 -2010-01-20  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (consume_chars): If ! multibyte and the encoder is ccl,
 -      treat the source as actual byte sequence.
 -
 -2010-01-19  Alan Mackenzie  <acm@muc.de>
 -
 -      Fix spurious before-change-functions invocation from (insert ?\n).
 -      * textprop.c (set_text_properties): Rename parameter
 -      `signal_after_change_p' to `coherent_change_p', and make the
 -      invocation of `modify_region' conditional on it.
 -
 -2010-01-19  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xsettings.c (apply_xft_settings): Save settings in Vxft_settings
 -      for debug purpose.
 -      (syms_of_xsettings): Declare xft-settings.
 -
 -2010-01-18  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * editfns.c (Fcurrent_time_string): Doc fix (Bug#5408).
 -
 -2010-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xterm.c (event_handler_gdk): Block input (Bug#5037).
 -
 -2010-01-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * emacs.c (standard_args): Adjust arg priorities to reflect how
 -      they are processed in startup.el.
 -
 -2010-01-16  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * Makefile.in (lisp, shortlisp): Update.
 -
 -2010-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xterm.c (x_term_init): Instead of inhibiting GC while running Lisp
 -      code, link the new kboard into all_kboard before running Lisp code,
 -      and protect the new terminal with GCPRO (Bug#5365).
 -      (x_term_init): Remove unused var `atom'.
 -      (x_delete_display, x_delete_terminal): Remove unused var `i'.
 -
 -2010-01-15  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (x_get_current_desktop, x_get_desktop_workarea): New functions.
 -      (Fx_create_frame): Call x_get_current_desktop and x_get_desktop_workarea
 -      to find out usable size of the desktop.  Don't make frames larger than
 -      this.  Bug #3643.
 -
 -2010-01-15  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (CHAR_COMPOSED_P): New arg END_CHARPOS.  Callers changed.
 -
 -2010-01-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsterm.m (Qnone): Define.
 -
 -      * nsfns.m (Qnone): Move definition to nsterm.m.
 -
 -2010-01-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding_iso_2022): Fix handling of euc-xx coding
 -      systems.
 -
 -2010-01-14  Kenichi Handa  <handa@m17n.org>
 -
 -      Make auto-composition work on all buffers even if they are
 -      fundamental mode.
 -
 -      * composite.c (Vauto_composition_mode): New variable.
 -      (composition_compute_stop_pos): Check Vauto_composition_mode
 -      instead of Vauto_composition_function.
 -      (composition_adjust_point, Ffind_composition_internal): Likewise.
 -      (syms_of_composite): Declare Lisp variable
 -      "auto-composition-mode" here.
 -
 -2010-01-13  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xterm.c (x_term_init): Avoid garbage-collecting the new terminal
 -      during call to vendor-specific-keysyms (Bug#5365).
 -
 -2010-01-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * keyboard.c (input_available_signal) [SYNC_INPUT]:
 -      Call SIGNAL_THREAD_CHECK (Bug#5333).
 -
 -      * atimer.c (alarm_signal_handler) [!SYNC_INPUT]:
 -      Call SIGNAL_THREAD_CHECK.
 -
 -2010-01-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Try to fix bug#5314.  This is probably not the final word, tho.
 -      * buffer.c (Fset_buffer_modified_p): Try and be careful not to modify
 -      recent-auto-save-p as a side-effect.
 -      * buffer.h (BUF_AUTOSAVE_MODIFF): New macro.
 -      * buffer.c (Fkill_buffer, reset_buffer):
 -      * editfns.c (Fsubst_char_in_region):
 -      * fileio.c (Finsert_file_contents, Fdo_auto_save)
 -      (Fset_buffer_auto_saved, Frecent_auto_save_p): Use it.
 -
 -2010-01-13  Kenichi Handa  <handa@m17n.org>
 -
 -      Display buffer name, etc. in mode line by composing correctly.
 -
 -      * xdisp.c (reseat_to_string): Call composition_compute_stop_pos if
 -      STRING is not nil.
 -      (display_mode_element): Adjust for the change of
 -      decode_mode_spec and display_line.
 -      (decode_mode_spec): Change arg MULTIBYTE to STRING.
 -      (display_string): Handle the case that STRING is non-null and
 -      LISP_STRING is not nil.
 -
 -      * xterm.c (x_draw_composite_glyph_string_foreground):
 -      Pay attention to s->face->overstrike.
 -
 -      * composite.c (composition_reseat_it): Don't check PT if STRING is
 -      non nil.
 -
 -2010-01-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * keyboard.c (read_char): Don't apply previous change when current
 -      buffer is unchanged by command execution.
 -
 -2010-01-12  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * keyboard.c (read_char): Return after executing from special map.
 -
 -2010-01-12  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs.c (REPORT_EMACS_BUG_PRETEST_ADDRESS): Set it to
 -      bug-gnu-emacs rather than emacs-pretest-bug.
 -
 -2010-01-11  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsterm.m (syms_of_nsterm): Initialize Qcontrol etc. before
 -      initializing the Lisp variables that depend on them.
 -
 -2010-01-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xfns.c (x_set_menu_bar_lines) [!USE_X_TOOLKIT && !USE_GTK]:
 -      Clear areas that will not be updated after change of menu bar lines.
 -      Clear the menu bar window's current matrix when the window gets empty.
 -
 -2010-01-09  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * intervals.h, textprop.c (extend_property_ranges): Return value
 -      and args changed.  Discard properties that begin at or after the
 -      new end (Bug#5306).
 -
 -      * editfns.c (Fformat): Caller changed.
 -
 -      * nsterm.m (ns_set_default_prefs): Delete function.
 -      (syms_of_nsterm): Initialize ns_command_modifier,
 -      ns_control_modifier, ns_function_modifier, ns_antialias_text, and
 -      ns_antialias_threshold here, not in ns_term_init (Bug#4113).
 -
 -      * xdisp.c (pos_visible_p): Check for invisible text at the correct
 -      position (Bug#4040).
 -
 -2010-01-09  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * editfns.c (Ffloat_time): Doc fix.
 -
 -2010-01-09  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (Fx_create_frame): Don't create frame larger than display
 -      by default bug#3643.
 -
 -2010-01-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * frame.h (FRAME_TOP_MARGIN_HEIGHT): New macro.
 -      (FRAME_LINE_TO_PIXEL_Y, FRAME_PIXEL_Y_TO_LINE): Take account of pseudo
 -      windows above internal border.
 -
 -      * window.h (WINDOW_MENU_BAR_P, WINDOW_TOOL_BAR_P): New macros.
 -      (WINDOW_TOP_EDGE_Y, WINDOW_BOTTOM_EDGE_Y): Take account of pseudo
 -      windows above internal border.
 -
 -      * xdisp.c (get_glyph_string_clip_rects, init_glyph_string): Don't treat
 -      tool bar windows specially.
 -
 -      * xfns.c (x_set_tool_bar_lines): Take account of menu bar height.
 -
 -      * xterm.c (x_after_update_window_line): Don't treat tool bar windows
 -      specially.
 -      (XTflash): Take account of menu bar height.
 -
 -      * w32term.c (x_after_update_window_line): Don't treat tool bar windows
 -      specially.
 -
 -2010-01-08  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * dispnew.c (change_frame_size_1): newwidth == FRAME_COLS (f) must
 -      also be true before we can return early (bug #5339).
 -
 -2010-01-06  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsfns.m (ns_get_screen): Rewrite, returning NULL for non-NS.
 -      (Fns_display_usable_bounds): Rewrite, computing bounds properly
 -      (Bug#3233).
 -
 -2010-01-06  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * font.c (font_open_entity): Enable chache and call cached_font_ok
 -      for the driver if defined.
 -      (QCuser_spec): New symbol.
 -      (font_spec_from_name): Save name as user-spec.
 -      (font_load_for_lface): Keep user-spec instead of name.
 -      (font_open_by_name): Save name as user-spec.
 -      (syms_of_font): Initialize QCuser_spec.
 -      (font_clear_prop): Clear name if it exists in font (bug#5157).
 -
 -      * xftfont.c (xftfont_open): Call xftfont_add_rendering_parameters.
 -      (xftfont_add_rendering_parameters, xftfont_cached_font_ok): New.
 -      (syms_of_xftfont): Initialize xftfont_driver.cached_font_ok.
 -
 -      * font.h (struct font_driver): Add cached_font_ok.
 -
 -      * xterm.c (x_clear_frame): Queue draw for scroll bars.
 -
 -2010-01-05  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_new_font): Move code for setting rows/cols before
 -      resizing ...
 -      (x_set_window_size): ... to here.  Bug #2568.
 -
 -      * gtkutil.c (xg_clear_under_internal_border): New function.
 -      (xg_frame_resized, xg_frame_set_char_size):
 -      Call xg_clear_under_internal_border.
 -      (xg_update_scrollbar_pos): Clear under old scroll bar position.
 -
 -2010-01-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (read_key_sequence): Catch keyboard switch after
 -      making a new tty frame (Bug#5095).
 -
 -2010-01-05  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_find_font): Fix getting the frame pointer.
 -
 -2010-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * dbusbind.c (xd_remove_watch): Avoid trying to convert a void* to
 -      Lisp_Object, preferring to convert a lisp_Object to a void* instead.
 -      (Fdbus_init_bus): Use XHASH to get a scalar value from a Lisp_Object.
 -
 -2010-01-03  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_add_watch): Improve debug message.
 -      (xd_remove_watch): Improve debug message.  If DATA is the session
 -      bus, unset D-Bus session environment.
 -      (Fdbus_init_bus): Pass the bus as argument to
 -      dbus_connection_set_watch_functions.  (Bug#5283)
 -
 -2010-01-01  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsterm.m (ns_get_color): Fix buffer overflow (Bug#4763).
 -
 -      * lread.c (syms_of_lread): Make it clearer that these are the
 -      names of loaded files (Bug#5068).
 -
 -      * eval.c (run_hook_with_args): Handle the case where the global
 -      value has the obsolete single-function form (Bug#5026).
 -
 -2009-12-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * minibuf.c (Fall_completions): Minor optimization.
 -
 -2009-12-26  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * .gdbinit (pgx): Fix display of composite glyphs.
 -      Display cmp.from and cmp.to as well.
 -      (pitx): Fix last change.
 -
 -2009-12-25  Kenichi Handa  <handa@m17n.org>
 -
 -      * composite.h (composition_adjust_point): Update prototype.
 -
 -      * composite.c (composition_reseat_it): Don't make a composition
 -      spanning over point.
 -      (CHAR_COMPOSABLE_P): Treat U+200C (ZWNJ) and U+200D (ZWJ) as
 -      composable characters.
 -      (composition_adjust_point): New arg NEW_PT.  Callers changed.
 -
 -      * keyboard.c (command_loop_1): Force redisplay if the last point
 -      was within a composition.
 -      (adjust_point_for_property): Don't adjust point for automatic
 -      composition when called after buffer modification.
 -
 -2009-12-19  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * .gdbinit (pitx): Don't use enum names, use their values.
 -      Remove reference to non-existing value GET_FROM_COMPOSITION.
 -      (pgx): Don't use enum names, use their values.
 -      (pitmethod): New helper command.
 -      (pitx): Use it to display iteration method.
 -      (pgrowit): New command.
 -
 -      * makefile.w32-in ($(BLD)/cmds.$(O)): Depend on frame.h.
 -
 -      Update dependencies in Makefile.in.
 -
 -      * Makefile.in (alloc.o): Depend on termhooks.h.
 -      (atimer.o): Depend on blockinput.h.
 -      (buffer.o): Depend on indent.h, keyboard.h, coding.h, keymap.h,
 -      and frame.h.
 -      (callint.o): Depend on systime.h, coding.h, and composite.h.
 -      (callproc.o): Depend on buffer.h.
 -      (casefiddle.o): Don't depend on charset.h.
 -      (casetab.o): Depend on character.h.
 -      (ccl.o): Depend on composite.h.
 -      (chartab.o): Depend on ccl.h.
 -      (cm.o): Depend on dispextern.h.
 -      (cmds.o): Depend on systime.h, coding.h, frame.h, and composite.h.
 -      (coding.o): Don't depend on $(INTERVALS_H).
 -      (composite.o): Don't depend on dispextern.h explicitly (it's in
 -      $(INTERVALS_H)).  Depend on ccl.h.
 -      (data.o): Depend on systime.h, coding.h, composite.h,
 -      dispextern.h, font.h, and ccl.h.
 -      (dired.o): Depend on composite.h.
 -      (dispnew.o): Depend on coding.h.  Don't depend explicitly on
 -      composite.h (it's in $(INTERVALS_H)).
 -      (doc.o): Depend on systime.h, coding.h, and composite.h.
 -      (editfns.o): Don't depend explicitly on dispextern.h.
 -      (emacs.o): Depend on frame.h and coding.h.
 -      (eval.o): Depend on coding.h, composite.h, and xterm.h.
 -      (fileio.o): Depend on frame.h and commands.h.  Don't depend
 -      explicitly on dispextern.h.
 -      (filelock.o): Don't depend on epaths.h and charset.h.  Depend on
 -      composite.h.
 -      (fns.o): Don't depend on termhooks.h.
 -      (font.o): Depend on buffer.h, composite.h, fontset.h, and xterm.h.
 -      (fontset.o): Depend on blockinput.h, atimer.h, systime.h,
 -      coding.h, $(INTERVALS_H), window.h, xterm.h.
 -      (frame.o): Depend on coding.h, composite.h, termhooks.h, and ccl.h.
 -      (fringe.o): Depend on blockinput.h, atimer.h, and systime.h.
 -      (ftfont.o): Depend on blockinput.h, atimer.h, systime.h, coding.h,
 -      fontset.h, ccl.h, and ftfont.h.
 -      (ftxfont.o): Depend on atimer.h, systime.h, fontset.h, and ccl.h.
 -      (gtkutil.o): Depend on dispextern.h and composite.h.
 -      (image.o): Depend on epaths.h, character.h, coding.h, composite.h,
 -      termhooks.h, and ccl.h.
 -      (indent.o): Depend on systime.h, coding.h, and $(INTERVALS_H).
 -      (intervals.o): Depend on systime.h and coding.h.
 -      (keyboard.o): Depend on composite.h and coding.h.
 -      (keymap.o): Depend on coding.h and frame.h.
 -      (lread.o): Depend on systime.h, frame.h, blockinput.h, and atimer.h.
 -      (macros.o): Depend on systime.h, coding.h, and composite.h.
 -      (menu.o): Depend on systime.h, coding.h, composite.h, window.h,
 -      and atimer.h.
 -      (minibuf.o): Depend on systime.h and coding.h.  Don't depend on
 -      dispextern.h explicitly.
 -      (print.o): Depend on termhooks.h, coding.h, and ccl.h.
 -      Don't depend explicitly on dispextern.h and composite.h.
 -      (process.o): Depend on character.h, xgselect.h, and sysselect.h.
 -      (regex.o): Don't depend on charset.h.
 -      (scroll.o): Depend on systime.h, coding.h, composite.h, and window.h.
 -      (search.o): Don't depend explicitly on composite.h.
 -      (sound.o): Depend on atimer.h and systime.h.
 -      (syntax.o): Don't depend explicitly on composite.h.
 -      (sysdep.o): Depend on coding.h and composite.h.
 -      (term.o): Depend on xterm.h and buffer.h.
 -      (terminal.o): Depend on dispextern.h, composite.h, and systime.h.
 -      (textprop.o): Don't depend on dispextern.h explicitly.
 -      (undo.o): Depend on dispextern.h.
 -      (window.o): Depend on coding.h and termhooks.h.  Don't depend on
 -      dispextern.h and composite.h explicitly.
 -      (xdisp.o): Depend on ccl.h.
 -      (xfaces.o): Depend on coding.h and ccl.h.
 -      (xfns.o): Depend on $(INTERVALS_H) and ccl.h.
 -      (xfont.o): Depend on atimer.h, systime.h, fontset.h, and ccl.h.
 -      (xftfont.o): Depend on atimer.h, systime.h, fontset.h, ccl.h, and
 -      ftfont.h.
 -      (xgselect.o): New dependency.
 -      (xmenu.o): Depend on composite.h, keymap.h, and sysselect.h.
 -      (xselect.o): Depend on keyboard.h, coding.h, and composite.h.
 -      (xsettings.o): Depend on dispextern.h, keyboard.h, systime.h,
 -      coding.h, composite.h, blockinput.h, atimer.h, and termopts.h.
 -      (xsmfns.o): Depend on frame.h and dispextern.h.
 -      (xterm.o): Depend on intervals.h, keymap.h, xgselect.h, and
 -      sysselect.h.
 -
 -2009-12-19  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * font.c (Fclear_font_cache): Pass correct cache argument to
 -      font_clear_cache.
 -
 -2009-12-16  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * Makefile.in (prefix-args${EXEEXT}): Don't compile prefix-args.c
 -      twice.
 -
 -2009-12-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (decode_mode_spec): Inhibit garbage collection when
 -      calling file-remote-p.  Reported by Jim Meyering.
 -
 -2009-12-15  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_retrieve_arg): Reorder declarations in order to
 -      avoid compiler warnings.  (Bug #5217)
 -
 -2009-12-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding_iso_2022): Ignore ISO_CODE_SS2_7 (0x19)
 -      in 8-bit encoding.
 -
 -2009-12-13  Pat Thoyts  <patthoyts@users.sourceforge.net>  (tiny change)
 -
 -      * xfns.c (x_create_tip_frame): Set the extended window manager hint for
 -      tooltip windows.
 -
 -2009-12-13  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.h (struct x_display_info): Add Xatom_net_window_type_tooltip and
 -      Xatom_net_window_type.
 -
 -      * xterm.c (x_term_init): Initialize Xatom_net_window_type_tooltip and
 -      Xatom_net_window_type.
 -
 -      * xterm.c (my_log_handler): New function.
 -      (x_term_init): Set my_log_handler as log handler during gtk_init
 -      so we can filter out buggy messages.  (Bug #5120).
 -
 -      * xterm.c (xg_scroll_callback): Parameter list changed,
 -      use parameter GtkScrollType to determine scroll/line/page.
 -      Only allow dragging if a button < 4 is grabbed (bug #5177).
 -      (xg_end_scroll_callback): New function.
 -      (x_create_toolkit_scroll_bar): Pass xg_end_scroll_callback to
 -      xg_create_scroll_bar.
 -
 -      * gtkutil.c (xg_gtk_scroll_destroy): Remove XG_LAST_SB_DATA handling.
 -      (scroll_end_callback): Remove.
 -      (xg_create_scroll_bar): Add parameter end_callback, bind it to
 -      button-release-event.  Replace value-changed event with change-value,
 -      bug #5177,
 -      (xg_event_is_for_scrollbar): Only return true if button is less than 4,
 -      bug #5177.
 -
 -      * gtkutil.h (XG_LAST_SB_DATA): Remove.
 -      (xg_create_scroll_bar): Add GCallback end_callback.
 -
 -      * xftfont.c (QClcdfilter): New variable.
 -      (xftfont_open): Parse constant names for RGBA, HINT_STYLE and LCDFILTER.
 -      (syms_of_xftfont): Initialize QClcdfilter.
 -
 -2009-12-12  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xsettings.c (struct xsettings): Add member seen.
 -      (parse_xft_settings): Update member seen with what we have read.
 -      Return non-zero if Xft-settings have been parsed, 0 otherwise.
 -      (apply_xft_settings): Only update Xft settings with what member seen
 -      indicates as new.
 -
 -2009-12-12  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dispextern.h (struct text_pos): Use EMACS_INT;
 -      (struct glyph): Use EMACS_INT for charpos.
 -      (struct it): Use EMACS_INT for stop_charpos, end_charpos,
 -      region_beg_charpos, region_end_charpos,
 -      redisplay_end_trigger_charpos, and also for
 -      iterator_stack_entry.end_charpos and
 -      iterator_stack_entry.stop_charpos.
 -
 -2009-12-12  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (scroll_end_callback): New function (bug #5177).
 -      (xg_create_scroll_bar): Call scroll_end_callback on button release
 -      event (bug #5177).
 -      (xg_event_is_for_scrollbar): != replaced with ==.
 -
 -2009-12-12  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (struct ftfont_info): New member matrix.
 -      (ftfont_open): Setup xftfont_info->matrix.
 -      (MFLTFontFT): New member matrix.
 -      (FLOOR, CEIL, ROUND): New macros.
 -      (ftfont_get_metrics): Handle matrix transformation.
 -      (ftfont_shape_by_flt): New arg matrix.  Callers changed.
 -
 -      * xftfont.c (struct xftfont_info): New member matrix.
 -      (xftfont_open): Setup xftfont_info->matrix.
 -
 -2009-12-10  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (append_space_for_newline): Consider face-remapping.
 -
 -2009-12-09  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * xsettings.c: Include "keyboard.h".
 -
 -      * gtkutil.c (xg_tool_bar_proxy_help_callback): Fix missing return.
 -
 -      Fix implicit function declarations.
 -      * cmds.c: Include "frame.h".
 -      * frame.c: Include "font.h" also if !HAVE_WINDOW_SYSTEM.
 -      * frame.h: Move declaration of delete_frame outside of
 -      HAVE_WINDOW_SYSTEM.
 -
 -2009-12-09  Ken Brown  <kbrown@cornell.edu>  (tiny change)
 -
 -      * s/cygwin.h (G_SLICE_ALWAYS_MALLOC): New variable.
 -
 -      * emacs.c (main): Set the G_SLICE environment variable for Cygwin
 -      GTK builds.
 -
 -2009-12-07  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * unexelf.c (unexec): Don't search for .data twice.
 -
 -2009-12-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (push_display_prop): Don't set avoid_cursor_p.  Return 0
 -      if push failed.
 -      (handle_line_prefix): Set avoid_cursor_p here.  Check return value
 -      of push_display_prop (Bug#5000).
 -
 -      * xfaces.c (Fx_family_fonts): Handle 2009-07-14 change to return
 -      value of font_list_entities (Bug#5085).
 -
 -2009-12-04  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      Fix `string-to-number' to deal consistently with integers and floats.
 -      * lread.c (isfloat_string): New argument ignore_trailing to accept all
 -      trailing characters, not just whitespace.
 -      (read1): Pass new arg 0 to keep old behavior.
 -      * data.c (Fstring_to_number): Pass 1 to isfloat_string to ignore
 -      trailing chars, as it is already done for integers.  Doc fixes.
 -      * lisp.h (isfloat_string): Add new arg to declaration of isfloat_string.
 -
 -2009-12-04  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dispextern.h (enum prop_idx) <AUTO_COMPOSED_PROP_IDX>:
 -      Delete unused enumeration value.
 -
 -2009-12-03  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * Makefile.in (lisp, shortlisp): Replace indian.el with indian.elc.
 -
 -2009-12-03  Daniel Hackney  <dan@haxney.org>  (tiny change)
 -
 -      * process.c (Fmake_network_process): Fix up the tests for
 -      "connectionless socket", so they DTRT for seqpacket sockets as well.
 -
 -2009-12-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * process.c (Qseqpacket): New symbol.
 -      (HAVE_SEQPACKET): New macro.
 -      (Fmake_network_process): Accept new :type `seqpacket'.
 -      (init_process): Add `seqpacket' feature when applicable.
 -      (syms_of_process): Initialize Qseqpacket.
 -
 -2009-12-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * font.c (font_load_for_lface, font_open_by_name): Don't store name
 -      if entity is Qnil.
 -
 -2009-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * print.c (print_preprocess): Preprocess the key_and_value table of
 -      hashtables, even tho they're "hidden" (bug#5082).
 -
 -2009-11-29  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * frame.c (frame_make_pointer_invisible)
 -      (frame_make_pointer_visible): Declare f before statements.
 -
 -2009-11-28  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * Makefile.in [!AUTO_DEPEND]: Remove outdated comment about
 -      omitted dependencies on lisp.h.
 -
 -2009-11-27  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xftfont.c (xftfont_end_for_frame): Just return if dpyinfo->display
 -      is NULL.
 -
 -      * xterm.c (x_delete_terminal): Set dpyinfo->display to NULL.
 -
 -      * frame.c (frame_make_pointer_invisible)
 -      (frame_make_pointer_visible): Just return if there isn't any selected
 -      frame.
 -
 -      * search.c (simple_search): Remove warning by making *p const.
 -
 -2009-11-26  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * xdisp.c (power_letter): Remove duplicate const.
 -
 -2009-11-25  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * term.c (delete_tty): Remove check for last terminal (bug#4970).
 -
 -      * xsettings.c: Revert changes from 2009-11-23.  Just use Xft
 -      defaults (bug #5025).
 -
 -2009-11-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * insdel.c (adjust_markers_for_delete): Move it in the
 -      right direction!  (bug#4803)
 -
 -2009-11-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * font.c (font_open_entity): Don't use ASET if font_object is Qnil.
 -
 -      * xterm.c (x_new_font): Update f->scroll_bar_actual_width.
 -
 -2009-11-24  Glenn Morris  <rgm@gnu.org>
 -
 -      * frame.c (focus-follows-mouse): Mention mouse-autoselect-window.
 -
 -2009-11-23  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * Makefile.in: Must create deps for ecrt0.o in its rule.
 -
 -      * xfns.c (Fx_select_font): Try to convert Fontconfig name to Gtk name
 -      because that is what Gtk+ font dialog understands.
 -
 -      * font.c (font_make_object, Fcopy_font_spec): Use Fcopy_alist instead
 -      of Fcopy_sequence.
 -      (font_open_by_name): Put name given into QCname for font-object returned.
 -
 -      * frame.c (x_set_font): Save original font name as frame parameter
 -      font-parameter.
 -
 -      * xsettings.c (set_default_xft_settings): New function.
 -      (init_xfd_settings): Call set_default_xft_settings if no XSETTINGS window
 -      is found.
 -
 -2009-11-22  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * search.c (simple_search): Avoid CHAR_TO_BYTE in inner loop when
 -      searching backwards through multibyte buffer.
 -
 -2009-11-21  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c: #include xgselect.h.
 -      (x_initialize): Call xgselect_initialize.
 -
 -      * xsettings.c (something_changedCB): C++ comments => C comments.
 -      (init_gconf): Do not deal with any GLib file descriptors, xg_select
 -      does that now.
 -
 -      * gtkutil.c (xg_timer, xg_process_timeouts, xg_start_timer)
 -      (xg_stop_timer, menu_grab_callback_cnt, menu_grab_callback)
 -      (scroll_bar_button_cb): Remove.
 -      (create_menus): C++ comments => C comments.  Don't bind grab-notify
 -      event.
 -      (xg_create_scroll_bar): Don't bind button-press-event and
 -      button-release-event.
 -
 -      * process.c: Include xgselect.h if defined (USE_GTK) ||
 -      defined (HAVE_GCONF).
 -      (wait_reading_process_output): Call xg_select for the same condition.
 -
 -      * xgselect.c (xg_select): New function to better integrate with
 -      GLib/Gtk event handling.  Needed if GConf daemon dies/restarts.
 -
 -      * xgselect.h: New file, declare xg_select, xgselect_initialize.
 -
 -      * Makefile.in (XOBJ): Add xgselect.o.
 -
 -2009-11-21  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * character.h (STRING_CHAR, STRING_CHAR_AND_LENGTH):
 -      Remove ignored second argument.  All callers changed.
 -      * regex.c (STRING_CHAR, STRING_CHAR_AND_LENGTH, RE_STRING_CHAR)
 -      (RE_STRING_CHAR_AND_LENGTH): Likewise.
 -      * xdisp.c (string_char_and_length): Likewise.
 -
 -2009-11-21  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * xterm.c (x_new_font):
 -      * print.c (print_object):
 -      * cmds.c (Fself_insert_command): Move declarations before statements.
 -
 -2009-11-20  Ken Brown  <kbrown@cornell.edu>  (tiny change)
 -
 -      * s/cygwin.h: Remove unneeded linker flags.
 -
 -2009-11-20  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (x_default_font_parameter): Call xsettings_get_system_font.
 -
 -      * xsettings.h: Declare xsettings_get_system_font.
 -
 -      * xsettings.c (xsettings_get_system_font): New function.
 -      (init_gconf): No use initiating gconf unless we have Xft also.
 -      (syms_of_xsettings): Only provide system-font-setting if HAVE_XFT and
 -      HAVE_GCONF.
 -
 -      * gtkutil.c (xg_modify_menubar_widgets): If menubar is totally empty
 -      add a blank entry so it doesn't collapse into nothing.
 -
 -2009-11-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lread.c (Funintern): Comment out last change.
 -
 -2009-11-19  Richard Stallman  <rms@gnu.org>
 -
 -      * lread.c (Funintern): Error if symbol is t or nil.
 -
 -2009-11-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * insdel.c (make_gap_larger): Don't make as many assumptions about the
 -      representation of Lisp integers.
 -      Reported by MJ Chan <mjchan.inbox@gmail.com>.
 -
 -2009-11-17  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * lisp.h: Remove declaration of Ffont_get_system_font.
 -      * xfns.c: Move include of "xsettings.h".
 -      * xsettings.h: Use EXFUN to declare Ffont_get_system_font.
 -
 -2009-11-17  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xsettings.c (something_changedCB, Ffont_get_system_font):
 -      Check use_system_font.
 -      (syms_of_xsettings): DEFVAR font-use-system-font.
 -
 -2009-11-17  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * xfns.c (x_default_font_parameter): Remove dead assignment.
 -
 -      * lisp.h (Fbyteorder, init_font, Ffont_get_system_font): Declare.
 -
 -2009-11-17  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xftfont.c (xftfont_fix_match): Older versions of fontconfig do
 -      not have FC_LCD_*.  #define them if not there.
 -
 -      * xsettings.c (parse_xft_settings, apply_xft_settings): Ditto.
 -
 -      * xterm.h (struct x_display_info): Add atoms and Window for xsettings.
 -
 -      * xterm.c (handle_one_xevent): Call xft_settings_event for
 -      ClientMessage, PropertyNotify and DestroyNotify.
 -      (x_term_init): If we have XFT, get DPI from Xft.dpi.
 -      Call xsettings_initialize.
 -
 -      * xftfont.c (xftfont_fix_match): New function.
 -      (xftfont_open): Call XftDefaultSubstitute before XftFontMatch.
 -      Call xftfont_fix_match after XftFontMatch.
 -
 -      * xfont.c (xfont_driver): Initialize all members.
 -
 -      * xfns.c (x_default_font_parameter):
 -      Try font from Ffont_get_system_font.
 -      Do not get font from x_default_parameter if we got one from
 -      Ffont_get_system_font.
 -      (Fx_select_font): Get the defaut font name from :name of FRAME_FONT(f).
 -
 -      * w32font.c (w32font_driver): Initialize all members.
 -
 -      * termhooks.h (enum event_kind): CONFIG_CHANGED_EVENT is new.
 -
 -      * lisp.h: Declare syms_of_xsettings.
 -
 -      * keyboard.c (kbd_buffer_get_event, make_lispy_event):
 -      Handle CONFIG_CHANGED_EVENT.
 -
 -      * ftfont.c (ftfont_filter_properties): New function.
 -
 -      * frame.c (x_set_font): Remove unused variable lval.
 -
 -      * font.h (struct font_driver): Add filter_properties.
 -
 -      * font.c (font_put_extra): Don't return if val is nil, it means
 -      boolean option is off.
 -      (font_parse_fcname): Collect all extra properties in extra_props
 -      and call filter_properties for all drivers with extra_props and
 -      font as parameter.
 -      (font_open_entity): Do not use cache, it does not pick up new
 -      fontconfig settings like hinting.
 -      (font_load_for_lface): If spec had a name in it, store it in entity.
 -
 -      * emacs.c (main): Call syms_of_xsettings.
 -
 -      * config.in: HAVE_GCONF is new.
 -
 -      * Makefile.in (GCONF_CFLAGS, GCONF_LIBS): New variables for HAVE_GCONF.
 -      xsettings.o is new.
 -
 -2009-11-17  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (x_produce_glyphs): Consider face-remapping when falling
 -      back to the default font in case that no suitable font is found.
 -
 -2009-11-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * menu.c (Fx_popup_menu) [HAVE_NS]: Use generic code for window edge.
 -      Suggested by Chad Brown <yandros@mit.edu>.
 -      (push_menu_item): Use MENU_ITEMS_ITEM_* names.
 -
 -2009-11-16  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xmenu.c (x_menu_wait_for_event): Call XFlush before select.
 -
 -2009-11-14  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * Makefile.in: Ignore errors from mkdir when creating deps directory.
 -
 -2009-11-14  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_update_frame_menubar): Do nothing if menubar already
 -      has a parent.
 -
 -      * Makefile.in: If AUTO_DEPEND is defined, make gcc generate
 -      dependency files in deps/.  Include those files into Makefile.
 -
 -      * config.in: Generated (AUTO_DEPEND).
 -
 -2009-11-13  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (Vdbus_registered_objects_table): Rename from
 -      Vdbus_registered_functions_table, because it contains also
 -      properties.  Fix docstring.
 -      (Fdbus_call_method, Fdbus_call_method_asynchronously): Fix docstring.
 -
 -2009-11-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * alloc.c (mark_object): Don't reprocess marked strings.
 -      Check vector's markbit earlier.  Adjust calls to mark_vectorlike.
 -      (mark_vectorlike, mark_char_table): Assume the object is unmarked.
 -
 -2009-11-13  Kenichi Handa  <handa@m17n.org>
 -
 -      * category.c (word_boundary_p): Adjust for the change of the
 -      semantics of Vword_combining_categories.
 -      (Vword_combining_categories): Describe the slight change of the
 -      semantics.
 -
 -2009-11-13  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * menu.c (Fx_popup_menu): Call Fx_hide_tip only if HAVE_WINDOW_SYSTEM.
 -
 -      * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Revert last change.
 -
 -2009-11-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (syms_of_xdisp): Fix typo in last change.
 -
 -2009-11-12  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * makefile.w32-in: Update dependencies; add dependencies to lisp.h.
 -
 -2009-11-11  David Reitter  <david.reitter@gmail.com>
 -
 -      * menu.c (Fx_popup_menu): Remove left-over debugging code and rename
 -      variables to fix 2009-11-09 change.
 -
 -2009-11-11  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * process.c (ifflag_def): Make flag_sym constant.
 -      (Fnetwork_interface_info): Use a constant pointer.
 -      (ifflag_table):
 -      * xfns.c (cursor_bits):
 -      * xdisp.c (power_letter):
 -      * termcap.c (speeds, esctab):
 -      * sysdep.c (baud_convert):
 -      * keyboard.c (lispy_accent_codes, modifier_names):
 -      * image.c (xbm_format, xpm_format, pbm_format, png_format)
 -      (jpeg_format, tiff_format, gif_format, svg_format)
 -      (interlace_start, interlace_increment, gs_format):
 -      * gtkutil.c (separator_names):
 -      * fringe.c (swap_nibble):
 -      * fns.c (base64_value_to_char, base64_char_to_value):
 -      * fileio.c (make_temp_name_tbl):
 -      * coding.c (suffixes): Make constant.
 -
 -      * frame.c (make_initial_frame):
 -      * buffer.c (init_buffer_once): Use make_pure_c_string instead of
 -      build_string.
 -      * alloc.c (syms_of_alloc): Build Vmemory_signal_data in pure memory.
 -
 -      * s/freebsd.h:
 -      * s/netbsd.h: Remove code referring to non-existent file: unexsunos4.o.
 -
 -      * Makefile.in: Add dependencies to lisp.h.  Remove dependencies
 -      for non-existent files: unexmips.c, unexnext.c, abbrev.c, malloc.c.
 -
 -      * xfns.c (syms_of_xfns): Use make_pure_string instead of build_string.
 -      * xterm.c (syms_of_xterm):
 -      * xfaces.c (syms_of_xfaces):
 -      * xdisp.c (syms_of_xdisp):
 -      * lread.c (syms_of_lread):
 -      * keyboard.c (syms_of_keyboard): Use make_pure_c_string instead of
 -      build_string.
 -
 -      * doc.c (Fsnarf_documentation): Purecopy Vbuild_files.
 -
 -2009-11-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fns.c (Fplist_get): Merge the active and the commented out code.
 -
 -2009-11-10  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * keyboard.h: Declare timer_check.
 -
 -      * keyboard.c (timer_check_2): New function that does what the old
 -      timer_check did.
 -      (timer_check): Call timer_check_2 until -1 or a non-zero time is
 -      returned, i.e. don't return -1 with timers pending.
 -
 -      * process.c: Remove extern declaration of timer_check.
 -
 -      * xmenu.c (x_menu_wait_for_event): Remove code that did a timeout
 -      even if timer_check returned -1.
 -
 -      * gtkutil.c (xg_dialog_response_cb): Data is now a struct
 -      xg_dialog_data.
 -      (pop_down_dialog): Destroy widget (if any), cancel timer and unref
 -      the event loop.
 -      (xg_maybe_add_timer, xg_dialog_run): New functions (bug #4574).
 -      (xg_get_file_name, xg_get_font_name): Call xg_dialog_run (bug #4574).
 -      Destroy the dialog after xg_dialog_run.
 -
 -2009-11-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * menu.c (Fx_popup_menu) [HAVE_NS]: Remove unused vars.
 -
 -2009-11-10  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xmenu.c (xmenu_show): Must not be static after 2009-11-09 changes.
 -
 -2009-11-09  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * menu.c [HAVE_NTGUI]: Declare current_popup_menu.
 -
 -2009-11-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * menu.c (Fx_popup_menu): Consolidate versions from xmenu.c,
 -      w32menu.c, and nsmenu.m.
 -      Simplify the obsolete case where position is nil.
 -      (cleanup_popup_menu): New function, moved from nsmenu.m.
 -      (struct skp): Remove slot `notreal'.
 -      (single_keymap_panes, keymap_panes): Remove arg `notreal' and
 -      adjust callers.
 -      (single_menu_item): Adjust call to parse_menu_item.
 -      (syms_of_menu): Defsubr x-popup-menu.
 -      * menu.h (Vmenu_updating_frame): Consolidate declarations from *menu.c.
 -      (keymap_panes): Don't export any more.
 -      (mouse_position_for_popup, w32_menu_show, ns_menu_show)
 -      (xmenu_show): Declare.
 -      * keyboard.c (parse_menu_item): Remove arg `notreal'.
 -      (menu_bar_item, read_char_minibuf_menu_prompt): Adjust callers.
 -      * keyboard.h (parse_menu_item): Update declaration.
 -      * xmenu.c (Fx_popup_menu): Remove.
 -      (syms_of_xmenu): Don't defsubr x-popup-menu.
 -      * w32menu.c (Fx_popup_menu): Remove.
 -      (syms_of_w32menu): Don't defsubr x-popup-menu.
 -      * nsmenu.m (cleanup_popup_menu): Remove.
 -      (ns_menu_show): Rename from ns_popup_menu and remove all the code
 -      moved to menu.c's Fx_popup_menu.
 -      (Fx_popup_menu): Remove.
 -      (syms_of_nsmenu): Don't defsubr x-popup-menu, and don't initialize
 -      menu_items (it's done in menu.c already).
 -
 -2009-11-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (parse_menu_item): Handle `notreal' a bit earlier.
 -      Use `tem' less.  Make sure KEYEQ holds a string or nil (bug#4879).
 -
 -2009-11-08  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xmenu.c (Fx_popup_menu): Extract event timestamp.  Pass it to
 -      xmenu_show.  Hide any tooltip before opening a menu.
 -      (xmenu_show): New arg.  Pass it to create_and_show_popup_menu.
 -      (create_and_show_popup_menu): New arg.  Pass it to gtk_menu_popup.
 -
 -2009-11-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Let integers use up 2 tags to give them one extra bit and thus double
 -      their range.
 -      * lisp.h (USE_2_TAGS_FOR_INTS): New macro.
 -      (LISP_INT_TAG, case_Lisp_Int, LISP_STRING_TAG, LISP_INT_TAG_P):
 -      New macros.
 -      (enum Lisp_Type): Use them.  Give explicit values.
 -      (Lisp_Type_Limit): Remove.
 -      (XINT, XUINT, make_number) [!USE_LISP_UNION_TYPE]:
 -      (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM, INTMASK):
 -      Pay attention to USE_2_TAGS_FOR_INTS.
 -      (INTEGERP): Use LISP_INT_TAG_P.
 -      * fns.c (internal_equal): Simplify the default case.
 -      (sxhash): Use case_Lisp_Int.
 -      * data.c (wrong_type_argument): Don't check against Lisp_Type_Limit
 -      any more.
 -      (Ftype_of): Use case_Lisp_Int.
 -      (store_symval_forwarding): Take into account the fact that Ints can
 -      now have more than one tag.
 -      * buffer.c (syms_of_buffer): Use LISP_INT_TAG.
 -      buffer_slot_type_mismatch):
 -      * xfaces.c (face_attr_equal_p):
 -      * print.c (print_object):
 -      * alloc.c (mark_maybe_object, mark_object, survives_gc_p):
 -      Use case_Lisp_Int.
 -
 -2009-11-06  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Reduce by further 30K.
 -
 -      * alloc.c (make_pure_c_string): Fix last change to avoid compiler
 -      warning.
 -
 -2009-11-06  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_event_is_for_scrollbar): New function (bug#4870).
 -
 -      * gtkutil.h: Declare xg_event_is_for_scrollbar (bug#4870).
 -
 -      * xterm.c (handle_one_xevent): Call xg_event_is_for_scrollbar for
 -      ButtonPressRelease and MotionNotify (bug#4870).
 -
 -2009-11-06  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * keymap.c (syms_of_keymap): Construct exclude_keys in pure memory.
 -
 -      * xterm.c (syms_of_xterm):
 -      * xselect.c (syms_of_xselect):
 -      * xmenu.c (syms_of_xmenu):
 -      * xfns.c (syms_of_xfns):
 -      * xfaces.c (syms_of_xfaces):
 -      * xdisp.c (syms_of_xdisp):
 -      * window.c (syms_of_window):
 -      * w32fns.c (syms_of_w32fns):
 -      * undo.c (syms_of_undo):
 -      * textprop.c (syms_of_textprop):
 -      * terminal.c (syms_of_terminal):
 -      * syntax.c (syms_of_syntax):
 -      * sound.c (syms_of_sound):
 -      * search.c (syms_of_search):
 -      * print.c (syms_of_print):
 -      * minibuf.c (syms_of_minibuf):
 -      * macros.c (syms_of_macros):
 -      * keymap.c (syms_of_keymap, initial_define_key)
 -      (initial_define_lispy_key):
 -      * keyboard.c (syms_of_keyboard):
 -      * insdel.c (syms_of_insdel):
 -      * image.c (syms_of_image):
 -      * fringe.c (syms_of_fringe):
 -      * frame.c (syms_of_frame):
 -      * fontset.c (syms_of_fontset):
 -      * fns.c (syms_of_fns):
 -      * fns.c (syms_of_fns):
 -      * fileio.c (syms_of_fileio):
 -      * fileio.c (syms_of_fileio):
 -      * eval.c (syms_of_eval):
 -      * doc.c (syms_of_doc):
 -      * dispnew.c (syms_of_display):
 -      * dired.c (syms_of_dired):
 -      * dbusbind.c (syms_of_dbusbind):
 -      * data.c (syms_of_data):
 -      * composite.c (syms_of_composite):
 -      * coding.c (syms_of_coding):
 -      * cmds.c (syms_of_cmds):
 -      * charset.c (define_charset_internal, syms_of_character):
 -      * ccl.c (syms_of_ccl):
 -      * category.c (syms_of_category, init_category_once):
 -      * casetab.c (syms_of_casetab):
 -      * casefiddle.c (syms_of_casefiddle):
 -      * callint.c (syms_of_callint):
 -      * bytecode.c (syms_of_bytecode):
 -      * buffer.c (keys_of_buffer, syms_of_buffer):
 -      * alloc.c (syms_of_alloc):
 -      * process.c (syms_of_process, init_process):
 -      * lread.c (syms_of_lread, init_obarray):
 -      * font.c (build_style_table):
 -      * emacs.c (syms_of_emacs, main): Replace calls to intern with
 -      intern_c_string, calls to make_pure_string with
 -      make_pure_c_string.  Use pure_cons instead of Fcons.
 -
 -      * process.c (socket_options): Make it const.
 -      (set_socket_option, init_process): Use a const pointer.
 -
 -      * lread.c (intern_c_string): New function.
 -      (defvar_kboard, defvar_lisp, defvar_lisp_nopro, defvar_bool)
 -      (defvar_int): Uset it.  Make the name const char*.
 -
 -      * lisp.h (defvar_kboard, defvar_lisp, defvar_lisp_nopro, defvar_bool)
 -      (defvar_int): Update prototypes.
 -      (DEFUN, EXFUN): Support for prototypes is now required.
 -      (intern_c_string): New prototype.
 -      (struct Lisp_Subr): Make symbol_name constant.
 -
 -      * font.c (struct table_entry): Remove unused member.  Make NAMES
 -      constant.
 -      (weight_table, slant_table, width_table): Make constant.
 -
 -      * emacs.c (struct standard_args): Make name and longname constant.
 -
 -      * character.h (DEFSYM): Use intern_c_string.
 -
 -2009-11-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * alloc.c (make_pure_c_string): New function.
 -
 -      * eval.c (Fautoload): Purecopy all arguments.
 -
 -2009-11-05  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (Finsert_file_contents): Be sure set coding-system of
 -      the buffer in case of replace.
 -
 -2009-11-04  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1620000.
 -
 -2009-11-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * editfns.c (save_restriction_restore): Update the (pt/begv/vz)_markers
 -      when applicable (bug#4851).
 -
 -      * lisp.h: Make USE_LSB_TAG work with USE_LISP_UNION_TYPE.
 -      (P_): Support for prototypes is now required.
 -
 -2009-10-31  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * frame.c (Fmake_frame_invisible, Fframe_visible_p): Doc fix
 -      (Bug#4827).
 -
 -2009-10-30  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Redefine to waste less pure space.
 -
 -2009-10-30  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1470000.
 -
 -      * lread.c (Fload): Purecopy the file name when building
 -      Vpreloaded_file_list.
 -
 -2009-10-29  Jason Rumney  <jasonr@wanchan.jasonrumney.net>
 -
 -      * w32fns.c (syms_of_w32fns): Change default value of
 -      w32-scroll-lock-modifier to nil.  (Bug#2827)
 -
 -2009-10-26  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * minibuf.c (Fall_completions): Fix typos in docstring.
 -
 -2009-10-26  Andreas Schwab  <schwab@redhat.com>
 -
 -      * puresize.h (PURESIZE_RATIO): Increase back to 10/6.
 -
 -2009-10-26  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * window.c (grow_mini_window): Comment out "delta >= 0" assertion.
 -      For delta < 0, skip check that only makes sense when the mini-window
 -      is going to be enlarged.  (Bug#4534)
 -
 -2009-10-25  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (read_char_x_menu_prompt): Don't demand a prompt
 -      string in menu maps (Bug#4471).
 -
 -2009-10-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsfns.m (ns_set_name, ns_set_name_as_filename): Don't call
 -      FRAME_NS_VIEW on terminal frames (Bug#4765).
 -
 -2009-10-24  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * dbusbind.c (xd_retrieve_arg): Handle DBUS_TYPE_INTnn and
 -      DBUS_TYPE_UINTnn separately to get proper sign extension.
 -
 -      * dired.c (Ffile_attributes): Simplify now that FIXNUM_OVERFLOW_P
 -      can properly handle unsigned types.
 -      (make_uid, make_gid): Remove.
 -
 -      * lisp.h (FIXNUM_OVERFLOW_P): Fix last change to handle unsigned
 -      types again.
 -
 -      * sysdep.c (procfs_ttyname): Fix sprintf format to match argument type.
 -      (system_process_attributes): Likewise.
 -
 -2009-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * keymap.c (Fmake_sparse_keymap): Purecopy the name.
 -
 -      * eval.c (Fautoload): Purecopy the filename.  Simplify.
 -
 -      * category.c (Fdefine_category): Purecopy docstring.
 -
 -2009-10-23  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * lisp.h (FIXNUM_OVERFLOW_P): Remove cast to avoid overflow.
 -
 -      * puresize.h (PURESIZE_RATIO): Decrease to 11/7.
 -
 -2009-10-23  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * window.c (Fwindow_edges, Fwindow_pixel_edges)
 -      (Fwindow_inside_edges, Fwindow_inside_pixel_edges): Doc fix
 -      (Bug#4775).
 -
 -2009-10-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fileio.c (syms_of_fileio): Initialize Vdirectory_sep_char.
 -      (init_fileio_once):
 -      * lisp.h (init_fileio_once): Remove.
 -      * emacs.c (main): Don't call init_fileio_once.
 -
 -2009-10-23  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1430000.
 -
 -2009-10-21  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * doprnt.c (doprnt): Fix overflow check.
 -
 -2009-10-21  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_term_init): Remove XSynchronize call done for debugging.
 -
 -      * xterm.h (x_wait_for_event): Declare it.
 -
 -      * xterm.c (pending_event_wait): New variable.
 -      (handle_one_xevent): Set pending_event_wait.eventtype to 0 if we
 -      see pending_event_wait.eventtype.
 -      (handle_one_xevent): Don't change gravity when parent changes.
 -      (x_new_font): Call change_frame_size with new rows/columns before we
 -      try to resize the frame.
 -      (x_wait_for_event): New function.
 -      (x_set_window_size_1): Don't change gravity unless change_gravity
 -      is set.
 -      Call XResizeWindow with FRAME_OUTER_WINDOW.  If we are visible,
 -      don't change frame size, instead wait for the ConfigureNotify.
 -      (x_set_window_size): Call x_set_window_size_1 for USE_X_TOOLKIT also.
 -      (x_wm_set_size_hint): Remove ifdefs for USE_X_TOOLKIT.
 -      (x_initialize): Initialize pending_event_wait.
 -
 -      * xmenu.c (set_frame_menubar): Add internal border width to menu bar
 -      size.
 -
 -      * widget.c (EmacsFrameSetValues): Add comment.
 -      (EmacsFrameSetCharSize): Just call x_set_window_size.
 -
 -      * gtkutil.c (xg_frame_set_char_size): Flush events and call
 -      x_wait_for_event.
 -      (flush_and_sync): Remove again.
 -      (xg_get_font_name): Suggest monospace if no previous font is known.
 -
 -2009-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * character.c (char_resolve_modifier_mask): Don't resolve meta to the
 -      8th bit, since that only made sense in the ASCII world (bug#4751).
 -
 -2009-10-20  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xterm.c (XTread_socket) [!USE_GTK && HAVE_X_I18N]: Don't quit
 -      processing pending events when event is filtered for input method.
 -      (Bug#3681)
 -
 -2009-10-20  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * fns.c: Add #endif accidentally removed in previous change.
 -
 -2009-10-19  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * fns.c: Remove code for unsupported system: MAC_OS.
 -      * image.c: Likewise.  Include setjmp.h.
 -
 -2009-10-19  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_create_toolkit_scroll_bar): Don't allocate color for
 -      pixel -1 (bug #4742).
 -
 -2009-10-19  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * process.c (create_pty): Remove conditionals for no longer
 -      supported systems: UNIPLUS and RTU.
 -
 -      * xterm.c:
 -      * xfns.c: Remove always true condition: XtSpecificationRelease >= 5.
 -
 -      * alloc.c: Do not define struct catchtag.
 -      * eval.c: Move struct catchtag definition ...
 -      * lisp.h: ... here.
 -
 -      * image.c: Move png.h #include earlier to avoid warnings.
 -
 -      * xterm.c:
 -      * xsmfns.c:
 -      * xselect.c:
 -      * xrdb.c:
 -      * xmenu.c:
 -      * xftfont.c:
 -      * xfont.c:
 -      * xfns.c:
 -      * xfaces.c:
 -      * xdisp.c:
 -      * window.c:
 -      * widget.c:
 -      * w32xfns.c:
 -      * w32uniscribe.c:
 -      * w32term.c:
 -      * w32select.c:
 -      * w32reg.c:
 -      * w32proc.c:
 -      * w32menu.c:
 -      * w32inevt.c:
 -      * w32heap.c:
 -      * w32font.c:
 -      * w32fns.c:
 -      * w32console.c:
 -      * w32.c:
 -      * w16select.c:
 -      * vm-limit.c:
 -      * unexsol.c:
 -      * unexec.c:
 -      * unexcw.c:
 -      * unexaix.c:
 -      * undo.c:
 -      * tparam.c:
 -      * textprop.c:
 -      * terminfo.c:
 -      * terminal.c:
 -      * termcap.c:
 -      * term.c:
 -      * syntax.c:
 -      * sound.c:
 -      * sheap.c:
 -      * search.c:
 -      * scroll.c:
 -      * region-cache.c:
 -      * regex.c:
 -      * ralloc.c:
 -      * process.c:
 -      * print.c:
 -      * nsterm.m:
 -      * nsselect.m:
 -      * nsmenu.m:
 -      * nsimage.m:
 -      * nsfont.m:
 -      * nsfns.m:
 -      * msdos.c:
 -      * minibuf.c:
 -      * menu.c:
 -      * marker.c:
 -      * macros.c:
 -      * keymap.c:
 -      * keyboard.c:
 -      * intervals.c:
 -      * insdel.c:
 -      * indent.c:
 -      * gtkutil.c:
 -      * ftxfont.c:
 -      * ftfont.c:
 -      * fringe.c:
 -      * frame.c:
 -      * fontset.c:
 -      * font.c:
 -      * fns.c:
 -      * floatfns.c:
 -      * filelock.c:
 -      * fileio.c:
 -      * emacs.c:
 -      * editfns.c:
 -      * dosfns.c:
 -      * doprnt.c:
 -      * doc.c:
 -      * dispnew.c:
 -      * dired.c:
 -      * dbusbind.c:
 -      * data.c:
 -      * composite.c:
 -      * coding.c:
 -      * cmds.c:
 -      * cm.c:
 -      * chartab.c:
 -      * charset.c:
 -      * character.c:
 -      * ccl.c:
 -      * category.c:
 -      * casetab.c:
 -      * casefiddle.c:
 -      * callproc.c:
 -      * callint.c:
 -      * bytecode.c:
 -      * buffer.c:
 -      * atimer.c: Include setjmp.h.  (Bug#4643)
 -
 -2009-10-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      Remove leftover table unibyte_to_multibyte_table.
 -      * character.c (unibyte_to_multibyte_table): Remove.
 -      (Funibyte_char_to_multibyte): Use MAKE_CHAR_MULTIBYTE.
 -      * charset.c (init_charset_once): Don't init unibyte_to_multibyte_table.
 -      * character.h (UNIBYTE_TO_CHAR): New macro.
 -      (MAKE_CHAR_MULTIBYTE): Use it.
 -      (unibyte_to_multibyte_table, unibyte_char_to_multibyte): Remove.
 -      * xdisp.c (get_next_display_element): USE ASCII_CHAR_P.
 -      (message_dolog, set_message_1):
 -      * search.c (Freplace_match):
 -      * editfns.c (Fcompare_buffer_substrings):
 -      * fns.c (Fcompare_strings): Use MAKE_CHAR_MULTIBYTE.
 -      (concat):
 -      * insdel.c (copy_text, count_size_as_multibyte):
 -      Use ASCII_CHAR_P and BYTE8_TO_CHAR.
 -      * term.c (produce_glyphs):
 -      * syntax.c (skip_chars): Use BYTE8_TO_CHAR.
 -      * regex.c (RE_CHAR_TO_MULTIBYTE):
 -      * cmds.c (internal_self_insert):
 -      * buffer.h (FETCH_CHAR_AS_MULTIBYTE): Use UNIBYTE_TO_CHAR.
 -
 -      * cmds.c (internal_self_insert): `c' is already in "multibyte" form.
 -
 -2009-10-17  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1310000.
 -
 -2009-10-16  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * buffer.c (Fbuffer_name): Doc fix.  (Bug#4728)
 -
 -2009-10-15  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.h (NS_HAVE_NSINTEGER): Back out and augment with CGFloat,
 -      still needed under Tiger.
 -
 -      * nsterm.m (EmacsView-conversationIdentifier): Arg is long.
 -
 -      * m/amdx86-64.h: Don't set LIB_STANDARD and START_FILES under
 -      __Apple__.
 -
 -      * m/intel386.h: Remove DARWIN_OS/_LP64 special case.
 -
 -2009-10-15  Kenichi Handa  <handa@m17n.org>
 -
 -      * print.c (print_object): Escape a symbol like "2E10" too.
 -
 -2009-10-11  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      Cleanups and changes for 64-bit compile under Snow Leopard.
 -      Based on suggestions by Erik Charlebois.
 -
 -      * nsfns.m (xw-color-values): Use CGFloat where appropriate.
 -
 -      * nsfont.m (ns_char_width): Replace deprecated call.
 -      (ns_findfonts, nsfont_list_family): Use long format in printf, and
 -      cast argument.
 -      (nsfont_open): Use ns_char_width() everywhere.
 -      (ns_uni_to_glyphs, NSGlyphStorage): Use NS[U]Integer where appropriate.
 -
 -      * nsgui.h (NSPoint, NSSize) [!__OBJC__]: Define and use CGFloat.
 -
 -      * nsimage.m (EmacsImage-setXBMColor:,-getPixelAtX:Y:): Use CGFloat
 -      where appropriate.
 -
 -      * nsmenu.m (EmacsMenu-addItemWithWidgetValue:): Use NSInteger
 -      where appropriate.
 -      (EmacsToolbar-addDisplayItemWithImage:idx:helpText:enabled:):
 -      Use stringWithUTF8String.
 -      (EmacsDialogPanel-initWithContentRect:styleMask:): Fix signature.
 -
 -      * nsterm.h (EmacsView, EmacsMenu, EmacsToolbar, EmacsTooltip):
 -      Add formal protocol mention to inheritance.
 -      [NS_HAVE_NSINTEGER]: Drop conditional and contents.
 -
 -      * nsterm.m (ns_color_to_lisp): Use CGFloat where appropriate.
 -      Fix printf format.
 -      (ns_query_color): Use CGFloat where appropriate.
 -      (EmacsView<NSTextInput>, EmacsScroller): Fix method signatures.
 -      (EmacsScroller-mouseDown:): Use long format in printf, and cast
 -      argument.
 -
 -      * config.in (NS_HAVE_NSINTEGER): Drop.
 -
 -      * dbusbind.c (dbus-method-return-internal)
 -      (dbus-method-error-internal): Use long format in printf, and cast
 -      argument.
 -
 -      * font.c (font_unparse_xlfd, font_unparse_fcname): Use long format
 -      in printf, and cast argument.
 -
 -      * process.c (list_processes_1): Use long format in printf, and
 -      cast argument.
 -
 -2009-10-11  Glenn Morris  <rgm@gnu.org>
 -
 -      * frame.c (Fframe_pixel_height): Doc fix.  (Bug#4535)
 -
 -2009-10-08  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (create_menus): Call gtk_widget_set_size_request for
 -      menu bar with a small width so it doesn't enlarge the frame.
 -
 -2009-10-08  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * fontset.c (Fset_fontset_font): Fix typos in error messages.
 -
 -2009-10-06  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (emacs${EXEEXT}): Remove direct dependence on
 -      SOME_MACHINE_LISP (this enters indirectly via DOC).
 -
 -2009-10-05  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dired.c (Ffile_attributes): Doc fix.  (Bug#4638)
 -
 -2009-10-04  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * xdisp.c (syms_of_xdisp) <unibyte-display-via-language-environment>:
 -      Doc fix.
 -
 -2009-10-03  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (Fdelete_window): Check WINDOW argument.  (Bug#4618)
 -
 -2009-10-02  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * lisp.h (Qdelete_directory_internal): Remove, because it is not
 -      used anymore outside fileio.c.
 -
 -      * w32fns.c (Fsystem_move_file_to_trash): Use delete-directory.
 -
 -2009-10-01  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * lisp.h (Qdelete_directory_internal):
 -      Declare, instead of Qdelete_directory.
 -
 -      * w32fns.c (Fsystem_move_file_to_trash): Use it.
 -
 -2009-10-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * eval.c (Fcalled_interactively_p): Add `kind' argument.
 -
 -2009-10-01  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * fileio.c (Fdelete_directory_internal): Rename from
 -      Fdelete_directory.  It is not a command anymore.  It has no file
 -      name handler.
 -
 -2009-09-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (get_next_display_element): Use an enum in last change.
 -
 -2009-09-28  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (get_next_display_element): Pay attention to
 -      unibyte_display_via_language_environment in handling
 -      Vnobreak_char_display.
 -
 -2009-09-27  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.h (ns_app_name): New extern variable.
 -
 -      * nsterm.m (ns_app_name): New variable.
 -      (ns_term_init): Set and use it.
 -      (ns_term_shutdown): Use it.
 -
 -      * nsmenu.m (ns_update_menubar): Use ns_app_name.  Sync with xmenu.c.
 -      (EmacsMenu-clear:, ns_popup_dialog): Use ns_app_name.
 -
 -      * nsfns.m (ns_set_name_iconic, ns_set_name)
 -      (ns_set_name_as_filename, x-create-frame, ns-get-resource)
 -      (ns-set-resource): Use ns_app_name instead of NSProcessInfo call.
 -
 -      * menu.c (find_and_return_menu_selection) [HAVE_NS]:
 -      Remove double-casting in client_data comparison.
 -
 -2009-09-27  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * keyboard.c (make_lispy_event): Remember last wheel direction.
 -      (syms_of_keyboard) <wheel_syms>: Compute array size at compile time.
 -
 -2009-09-26  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (MSDOS_SUPPORT) [MSDOS]: Remove unneeded '/' in
 -      internal.elc.  Add term/pc-win.elc.
 -      (WINDOW_SUPPORT) [HAVE_X_WINDOWS]: Add term/common-win.elc and
 -      term/x-win.elc.
 -      (WINNT_SUPPORT) [WINDOWSNT]: Add term/common-win.elc and
 -      term/w32-win.elc.
 -      (NS_SUPPORT): New.
 -      (lisp): Add NS_SUPPORT.
 -      (SOME_MACHINE_LISP): Add term/w32-win.elc and emacs-lisp/easymenu.elc.
 -
 -2009-09-25  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsmenu.m (EmacsMenu-clear): Recognize application menu
 -      on Mac OS X 10.6+ (bug#4513).
 -
 -2009-09-24  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * frame.c (xrdb_get_resource): Return nil for empty string resources;
 -      some parts of Emacs code (like font selection) don't grok them.
 -      See http://lists.gnu.org/archive/html/emacs-devel/2009-09/msg00528.html
 -
 -2009-09-24  Andreas Schwab  <schwab@redhat.com>
 -
 -      * coding.c (decode_coding_iso_2022): Fix operator precedence.
 -
 -2009-09-24  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * dired.c (Fdirectory_files): Fix typo in docstring.
 -
 -2009-09-23  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (EV_TIMESTAMP, x_set_window_size)
 -      (EmacsApp-application:openFiles:): Remove GNUstep conditionals.
 -      (EmacsScroller-setPosition:portion:whole:): Remove -display call
 -      under GNUstep.
 -      (EmacsView-initFrameFromEmacs:): Set autoresizing mask.
 -
 -      * nsfont.m (ns_glyph_metrics): Remove GNUstep conditional for
 -      glyph advancement.
 -
 -2009-09-22  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (CGContextSetFontRenderingMode): Drop declaration.
 -      (EmacsScroller-mouseDown:): Use SCROLL_BAR_FIRST_DELAY.
 -
 -      * nsmenu.m (EmacsMenu-menuNeedsUpdate): Ignore if frame has been
 -      deleted (bug #4492).
 -
 -      * nsfont.m (Vns_reg_to_script): New lisp variable.
 -      (syms_of_nsfont): Declare it.
 -      (ns_registry_to_script): New function.
 -      (ns_get_req_script): Call it.
 -      (ns_findfonts): Don't give up on non-unicode registry.
 -
 -      * font.c (DEFAULT_ENCODING) [HAVE_NS]: Remove special case.
 -
 -2009-09-20  Tom Tromey  <tromey@redhat.com>
 -
 -      * eval.c (find_handler_clause): Make stack-trace-on-error work in
 -      batch mode (bug#4228).
 -
 -2009-09-18  Rob Christie  <robchristie@gmail.com>  (tiny change)
 -
 -      * nsmenu.m (EmacsMenu-parseKeyEquiv:): Parse key equivalent more
 -      carefully.  (Bug #4339)
 -
 -2009-09-18  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * syntax.c (Fchar_syntax): Minor doc fix (Bug#4400).
 -
 -2009-09-18  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * emacs.c (inhibit_x_resources): Update doc string for NS.
 -      (main) [HAVE_NS]: Don't process --no-init-file option.  Remove
 -      legacy code for -NXHost.  Fix error printf in daemon case.
 -
 -      * nsterm.h (ns_no_defaults): Remove.
 -
 -      * nsterm.m (ns_no_defaults): Remove.
 -      (ns_term_init): Switch ns_no_defaults -> inhibit_x_resources.
 -      (ns_use_qd_smoothing): Remove legacy variable.
 -      (EmacsView-windowShouldZoom:): Set frame left_pos, top_pos and
 -      don't update the NSWindow itself.
 -      (EmacsView-windowWillUseStandardFrame:defaultFrame:): Improve
 -      state detection and store user rect ourselves.  (Bug #3581)
 -
 -      * nsfont.m (nsfont_draw) [NS_IMPL_COCOA]: Don't use
 -      ns_use_qd_smoothing.
 -
 -      * nsfns.m (x_get_string_resource): Ape just-previous changes to other
 -      platform versions.  Drop support for emacs-20-style face specs.
 -      (x-close-connection): Drop PSFlush() under OS X.
 -      (x-focus-frame): Activate the app first.  (Bug #4180)
 -
 -2009-09-17  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * emacs.c (inhibit_x_resources): New variable.
 -      (main) [HAVE_NS]: Don't process --quick command line option.
 -      (syms_of_emacs) <inhibit-x-resources>: DEFVAR_BOOL it.
 -
 -      * lisp.h (inhibit_x_resources): Declare it extern.
 -
 -      * w32reg.c (x_get_string_resource):
 -      * xrdb.c (x_get_string_resource): Obey inhibit_x_resources.
 -
 -2009-09-17  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * Makefile.in (MSDOS_SUPPORT, SOME_MACHINE_LISP):
 -      Add lisp/term/internal.elc.
 -
 -2009-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * frame.c (x_get_resource_string): Re-add for non-toolkit builds
 -      (bug#4461).
 -
 -2009-09-17  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1290000.
 -
 -      * Makefile.in (OTHER_FILES): Define using autoconf, not cpp.
 -      (OBJECTS_MACHINE): Remove, unused.
 -
 -2009-09-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * frame.c (x_get_resource_string): Remove unused.
 -
 -2009-09-15  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_new_font): Call change_frame_size before calling
 -      x_set_window_size, in case frame size won't change.
 -
 -      * frame.c (x_set_font): Remove dead code.
 -
 -2009-09-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lread.c (Fload): Also run do-after-load-evaluation while dumping.
 -
 -2009-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lread.c (Fload): Don't output a message after loading an obsolete
 -      package any more (done in Lisp now).
 -
 -2009-09-12  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * fns.c (syms_of_fns): Doc fix (Bug#4227).
 -
 -2009-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keymap.c (Fwhere_is_internal): Use nconc2.
 -
 -2009-09-11  Alan Mackenzie  <acm@muc.de>
 -
 -      * dispnew.c (Fsend_string_to_terminal): Amend doc string to cover
 -      batch mode.
 -
 -2009-09-11  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * xdisp.c (display_mode_element): Detect cycles.
 -
 -2009-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keymap.c (where_is_internal): Don't erroneously return nil right after
 -      filling the cache.
 -      (where_is_internal_1): Fix up typo.
 -
 -2009-09-11  Glenn Morris  <rgm@gnu.org>
 -
 -      * frame.c (Fx_parse_geometry): Unify the X and NS versions so that they
 -      share a common doc-string.
 -
 -2009-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keymap.c (get_keymap): Return the actual keymap symbol rather than
 -      t for autoloaded keymaps when autoloading is not allowed (bug#4393).
 -
 -      * keymap.c (QCadvertised_binding): New constant.
 -      (syms_of_keymap): Initialize it.
 -      (Fwhere_is_internal): Try and use bindings from :advertised-binding
 -      if applicable.
 -
 -2009-09-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (Qmenu_alias, Vdefine_key_rebound_commands): Remove.
 -      (parse_menu_item): Streamline since bindings are recomputed all the
 -      time anyway.  Don't bother checking Vdefine_key_rebound_commands any
 -      more and don't support lmenu's menu-alias any more either.
 -
 -      * keymap.c (where_is_internal_data): Make noindirect a boolean.
 -      (where_is_internal): Strip it down to only traverse the keymaps.
 -      Move the cache handling from Fwhere_is_internal to here.
 -      (Fwhere_is_internal): Move the handling of remapping and the choice of
 -      the best binding from where_is_internal to here.
 -      Unify the cached/noncached paths, so remapping is also handled
 -      correctly when the cache is used, and so the cache can be used to
 -      speed up remap-handling when applicable.
 -      Give preference to non-remapped bindings.
 -      * doc.c (Fsubstitute_command_keys): Let Fwhere_is_internal's prefer
 -      non-remapped bindings.
 -      * keyboard.c (parse_menu_item): Let Fwhere_is_internal handle
 -      command remapping.
 -
 -      * xdisp.c (display_mode_element): Move list length limit from 50 to
 -      5000 (see thread starting with <xbaik5174uqu.fsf@cam.ac.uk>).
 -
 -2009-09-09  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfont.m (ns_get_family): Don't force first letter to uppercase.
 -
 -2009-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (Vtruncate_partial_width_windows): Improve docstring.
 -      (Bug#4334)
 -
 -      * keymap.c (where_is_internal): Filter out shadowed remappings.
 -      Assume that where_is_internal returns unshadowed bindings to simplify
 -      the code and get rid of the gotos.  Use ASIZE.
 -
 -2009-09-04  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (x_focus_changed): If we get a focusout and pointer
 -      is invisible, make it visible.
 -
 -      * xterm.h: Remove condition for declaration of
 -      x_*_window_to_frame.
 -
 -2009-09-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * dispnew.c (Fsend_string_to_terminal): Make it work again on the
 -      initial terminal as well.
 -
 -2009-09-02  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.h: Rename x_non_menubar_window_to_frame to
 -      x_menubar_window_to_frame.
 -
 -      * xterm.c: Remove declarations also in xterm.h
 -      (XTmouse_position): Do not return valid positions
 -      for clicks in the menubar and the toolbar for Gtk+.
 -
 -      * xfns.c (x_any_window_to_frame): Assume less about Gtk+ internals,
 -      if the widget for the event has the same top level as a frame,
 -      return the frame.
 -      (x_menubar_window_to_frame): Detect menu bar even with Gtk+
 -      internal windows, bug #4122.
 -      (x_non_menubar_window_to_frame): Remove.
 -
 -2009-09-02  Glenn Morris  <rgm@gnu.org>
 -
 -      * buffer.c (default-major-mode): Move most of the doc from here...
 -      (major-mode): ... to here.
 -
 -2009-08-30  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * process.c (wait_reading_process_output): Keep the descriptor
 -      when pty is used by a non-child process, e.g., in I/O buffer of
 -      GDB this allows inferior to be restarted.
 -
 -2009-08-29  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * xdisp.c (redisplay_internal): Remove redundant test and collapse
 -      both branches into one.
 -
 -2009-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * emacs.c (USAGE1): Remove --(no-)multibyte, --(no-)unibyte.
 -      (main): Use enable-multibyte-characters rather than
 -      default-enable-multibyte-characters.  Output a warning message when
 -      running a unibyte session.
 -
 -2009-08-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * unexmacosx.c (print_load_command_name) [LC_DYLD_INFO]: Add cases
 -      LC_DYLD_INFO and LC_DYLD_INFO_ONLY.
 -      (copy_data_segment): Also copy __program_vars section.
 -      (copy_dyld_info) [LC_DYLD_INFO]: New function.
 -      (dump_it) [LC_DYLD_INFO]: Use it.
 -
 -      * s/darwin.h [temacs]: Undef HAVE_POSIX_MEMALIGN.
 -
 -2009-08-28  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * makefile.w32-in ($(BLD)/doc.$(O)): Depend on buildobj.h, not on
 -      $(SRC)/buildobj.h.
 -      (buildobj.h): Renamed from $(SRC)/buildobj.h.
 -      (make-buildobj-CMD, make-buildobj-SH): Create buildobj.h, not
 -      $(SRC)/buildobj.h.
 -      (clean): Add buildobj.h.
 -
 -2009-08-28  Teodor Zlatanov  <tzz@lifelogs.com>
 -
 -      * print.c (print_object): Set escapeflag to 1 when printing
 -      hashtable keys and values.
 -
 -2009-08-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lread.c (read_integer): Use doubles (and potentially return a float
 -      number) as we do in string-to-number.
 -      (read1): Use strtol to read integers, signal errors on strtol's
 -      overflow and use floats if strtol's output is too large for
 -      Elisp integers.
 -
 -2009-08-27  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * makefile.w32-in ($(SRC)/buildobj.h, make-buildobj-CMD)
 -      (make-buildobj-SH): Fix last change.
 -      (SRC): Move to before where it's first used.
 -
 -2009-08-27  Kenichi Handa  <handa@m17n.org>
 -
 -      * process.c (send_process): Use encode_coding_object instead of
 -      encode_coding_string to perform eol-conversion even if the string
 -      is unibyte.
 -
 -      * coding.c (encode_coding_utf_16): Fix checking of a Unicode
 -      character.
 -
 -      * cmds.c (Fself_insert_command): Avoid unnecessay
 -      unibyte->multibyte conversion.  (Bug#4240)  (Bug#4037)
 -
 -2009-08-26  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * callproc.c (Fcall_process): Remove always true #if.
 -
 -      * lisp.h: Replace #if 0 code for checking with text pointing to
 -      the --enable-checking configure flag.
 -
 -      * emacs.c (main): Mention the --enable-profiling configure flag
 -      instead of using CFLAGS.
 -
 -2009-08-26  Ken Raeburn  <raeburn@raeburn.org>
 -
 -      * Makefile.in (buildobj.h): New target.
 -      (doc.o): Depend on it.
 -      (temacs${EXEEXT}): Don't generate buildobj.lst.
 -      (mostlyclean): Delete buildobj.h, not buildobj.lst.
 -      * makefile.w32-in ($(SRC)/buildobj.h): New target.
 -      ($(BLD)/doc.$(O)): Depend on it.
 -      (make-buildobj-CMD, make-buildobj-SH): New targets.  (Syntax help
 -      provided by Eli Zaretskii.)
 -      ($(TEMACS)): Don't generate buildobj.lst.
 -      * doc.c: Include buildobj.h.
 -      (buildobj): New static variable.
 -      (Fsnarf_documentation): Use it, instead of opening and reading
 -      buildobj.lst.
 -
 -2009-08-25  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (Fdbus_call_method)
 -      (Fdbus_call_method_asynchronously): Use English numeric format for
 -      timeout values in doc string.
 -
 -2009-08-25  Kenichi Handa  <handa@m17n.org>
 -
 -      * alloc.c (mark_char_table): New function.
 -      (mark_object): Use mark_char_table for a char-table.
 -
 -      * lisp.h (CHAR_TABLE_REF_ASCII): New macro.
 -      (CHAR_TABLE_REF): Use it.
 -
 -2009-08-23  Ken Raeburn  <raeburn@raeburn.org>
 -
 -      * Makefile.in (emacs${EXEEXT}) [CANNOT_DUMP]: Set EMACSLOADPATH
 -      before invoking the newly build emacs to check for load-path
 -      shadowing.
 -
 -2009-08-22  Glenn Morris  <rgm@gnu.org>
 -
 -      * Makefile.in (bootstrap_exe): New variable.
 -      (.el.elc, ${lispsource}loaddefs.el, bootstrap-emacs${EXEEXT}):
 -      Use ${bootstrap_exe}.
 -
 -2009-08-22  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * coding.h (encode_coding_string): Don't encode unibyte strings.
 -      (Bug#4047)
 -
 -2009-08-22  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * config.in (HAVE_DBUS_WATCH_GET_UNIX_FD): Add.
 -
 -      * dbusbind.c (XD_WITH_DBUS_WATCH_GET_UNIX_FD): Remove.  It was
 -      intended as hotfix only.
 -      (xd_add_watch, xd_remove_watch): Use HAVE_DBUS_WATCH_GET_UNIX_FD.
 -
 -2009-08-21  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (ns_get_color): Update documentation properly for last
 -      change, and clean up loose ends in the code left by it.  Fix
 -      longstanding bug with 16-bit hex parsing, and add support for
 -      yet another X11 format (rgb:r/g/b) for compatibility.
 -      * nsfns.m (EmacsDialogPanel-runDialogAt): Add declaration of
 -      timer_check() to avoid crash on Leopard/PPC.  Bug #2154.
 -
 -2009-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * eval.c (init_eval_once): Bump max_lisp_eval_depth to 500 for js.el.
 -
 -2009-08-20  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (XD_WITH_DBUS_WATCH_GET_UNIX_FD): New macro.
 -      (xd_add_watch, xd_remove_watch): Use it.  Print debug messages.
 -      (xd_initialize, xd_pending_messages): Check, whether
 -      $DBUS_SESSION_BUS_ADDRESS is set.
 -
 -2009-08-20  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * nsfns.m (Fxw_color_values): Return 3-element list.  Doc fix.
 -
 -      * nsterm.m (ns_get_color): Remove incompatible color formats again.
 -
 -2009-08-20  Glenn Morris  <rgm@gnu.org>
 -
 -      * emacs.c (system-type): Doc fix.
 -
 -2009-08-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (syms_of_keyboard): Default to 5 buttons, which should be
 -      enough for the most common situations.  Avoid SET_SYMBOL_VALUE.
 -
 -2009-08-18  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_add_watch, xd_remove_watch, Fdbus_init_bus):
 -      New functions.
 -      (xd_initialize): Revert change from 2009-08-16.
 -
 -2009-08-18  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (Ffontset_font): If a nil element is found in a
 -      font-group vector, return nil.
 -
 -2009-08-17  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * process.c (status_notify): Don't perform redisplay.
 -      (Fdelete_process, list_processes_1, process_send_signal):
 -      Expliticly perform redisplay.
 -      (wait_reading_process_output): Always check process status, but
 -      don't perform redisplay unless DO_DISPLAY is non-zero (Bug#2930).
 -
 -2009-08-17  Ken Raeburn  <raeburn@raeburn.org>
 -
 -      * lisp.h (XFLOAT_DATA): Produce an rvalue by adding 0 to the value.
 -      (XFLOAT_INIT): New macro for storing a float value.
 -      * alloc.c (make_float, make_pure_float): Use XFLOAT_INIT.
 -      * fns.c (sxhash): Copy out the value of a float in order to
 -      examine its bytes.
 -      * dbusbind.c (xd_append_arg): Likewise.
 -
 -      * emacs.c (main): Don't call syms_of_data twice.
 -
 -2009-08-16  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_initialize): Add connection file descriptor to
 -      input_wait_mask, in order to let select() detect, whether a new
 -      message has been arrived.
 -      (Fdbus_call_method_asynchronously): Allow nil HANDLER.
 -
 -2009-08-15  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_get_dispatch_status, xd_pending_messages):
 -      New functions.
 -
 -      * lisp.h (xd_pending_messages): Declare.
 -
 -      * keyboard.c (readable_events): Call xd_pending_messages.
 -
 -2009-08-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * eval.c (Fcalled_interactively_p, Finteractive_p): Doc fix (Bug#3936).
 -
 -      * xdisp.c (pop_it): Don't pop into a display vector (Bug#4131).
 -
 -      * buffer.c (set_buffer_internal_1)
 -      (swap_out_buffer_local_variables): Check for unbound local
 -      variables (Bug#4138).
 -
 -2009-08-14  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * process.c (create_pty): Fix last change.
 -
 -2009-08-13  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * image.c (xbm_read_bitmap_data): New arg inhibit_image_error.
 -      (xbm_load_image): Caller changed.
 -      (xbm_file_p): Avoid signalling an image_error (Bug#4107).
 -
 -2009-08-13  Nick Roberts  <nickrob@snap.net.nz>
 -
 -      * process.c (create_pty): New function.
 -      (Fstart_process): Use it to allow Emacs to just associate a pty
 -      with the buffer.  See associated change in gdb-mi.el.
 -      (list_processes_1): Deal with no program name.
 -      (start_process_unwind): Use pid == -2 to mean no process.
 -
 -2009-08-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * cmds.c (nonundocount): New global variable.
 -      (keys_of_cmds): Initialize it.
 -      (Fself_insert_command): Use it to combine upto 20 sequential chars
 -      into a single undo entry, just like the Qself_insert_command code in
 -      keyboard.c does.
 -      Call frame_make_pointer_invisible, also like the Qself_insert_command
 -      code in keyboard.c does.
 -      * keyboard.c (command_loop_1): Use the new global nonundocount rather
 -      than its own local replacement for it.
 -
 -2009-08-10  Ken Raeburn  <raeburn@raeburn.org>
 -
 -      * fns.c (concat): Don't re-set string length to its current value.
 -
 -      * coding.h (decode_coding_string, encode_coding_string):
 -      Use SBYTES macro.
 -
 -      * doprnt.c (doprnt_lisp): Delete unused function.
 -      (doprnt): Merge with doprnt1, discarding lispstrings code.
 -      * lisp.h (doprnt_lisp): Don't declare.
 -
 -2009-08-07  Juri Linkov  <juri@jurta.org>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1270000.
 -
 -2009-08-07  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * print.c (syms_of_print): Undo previous change.
 -
 -2009-08-05  Teodor Zlatanov  <tzz@lifelogs.com>
 -
 -      * lread.c (read1, syms_of_lread): Read hashtables back from the
 -      readable format.
 -
 -      * print.c (print_preprocess, print_object): Print hashtables fully
 -      and readably.
 -      (syms_of_print): Provide 'hashtable-print-readable.
 -
 -2009-08-02  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfont.m (ns_descriptor_to_entity): Handle case when descriptor has
 -      no family set.
 -      (nsfont_open): Handle case when entity has no family.
 -
 -2009-07-29  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfont.m (ns_findfonts): Fix 2009-07-24 change to return only one
 -      element, not a list, for match case.
 -
 -2009-07-28  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_parse_xlfd): Check DPI and AVGWIDTH properties more
 -      rigidly.
 -
 -      * xfont.c (xfont_list_pattern): Don't ignore the return value of
 -      font_parse_xlfd.  Check font properties more rigidly.
 -
 -2009-07-27  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * s/netbsd.h (SIGNALS_VIA_CHARACTERS): Remove, already defined in
 -      bsd-common.h.
 -
 -2009-07-27  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfaces.c (face_with_height): Call font_clear_prop.
 -
 -2009-07-26  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * dispnew.c (init_display): Use Qx, Qw32, and Qns.
 -
 -      * xterm.c (x_term_init): Use Qx.
 -
 -      * nsfont.m (nsfont_draw): Revert 2009-07-15 change.
 -
 -      * nsterm.m (ns_maybe_dumpglyphs_background): Revert 2009-07-15 change.
 -      (ns_get_color): Revert 2009-07-16 change.
 -
 -2009-07-25  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * lread.c (syms_of_lread) <force_load_messages>: New variable.
 -      (Fload): Use it to force load messages, even if NOMESSAGES is non-nil.
 -
 -2009-07-25  Ken Raeburn  <raeburn@raeburn.org>
 -
 -      * coding.h (decode_coding_string, encode_coding_string):
 -      Use SCHARS macro.
 -
 -      * lread.c: Rewrite 2009-07-21 changes.
 -      (load_depth): Delete.
 -      (Qload_in_progress): New variable.
 -      (load_unwind): Don't reference load_depth or load_in_progress.
 -      (Fload): Likewise; specbind Qload_in_progress instead.
 -      (init_lread): Don't initialize load_depth.
 -      (syms_of_lread): Initialize and protect Qload_in_progress.
 -
 -2009-07-24  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfont.m (ns_findfonts): Correctly return fallback in match case.
 -
 -2009-07-23  Yavor Doganov  <yavor@gnu.org>
 -
 -      * nsfont.m (NSFontDescriptor.h): Explicitly include under GNUstep.
 -
 -2009-07-23  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (EmacsView-keyUp:): Only act when running under Tiger.
 -      Bugs 3792, 3720, 2402.
 -      (ns_lookup_indexed_color): Check for bad index.
 -      (ns_index_color): Init unused slot to 0.
 -      (ns_dumpglyphs_box_or_relief): Replace useless xassert with an if().
 -      Bug 3714, possibly 3082.
 -
 -2009-07-22  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (w32_wnd_proc) [WM_IME_STARTCOMPOSITION]:
 -      Position IME window at cursor (Bug#2570).
 -      (w32_wnd_proc) [WM_IME_CHAR]: Release context when finished.
 -      (globals_of_w32fns): Dynamically load functions required above.
 -
 -      * w32term.c (w32_draw_window_cursor): Send message to reposition
 -      any IME window.
 -
 -2009-07-21  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * fileio.c: Revert 2009-07-16 changes.
 -      (Vauto_save_include_big_deletions): New variable.
 -      (Fdo_auto_save): Disable auto-save only if
 -      auto-save-include-big-deletions is nil.
 -
 -2009-07-21  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (move_it_to): For continued lines ending in a tab, take
 -      the overflowed pixels into account (Bug#3879).
 -
 -2009-07-21  Ken Raeburn  <raeburn@raeburn.org>
 -
 -      * lread.c (load_depth): New variable.
 -      (Fload, load_unwind, init_lread): Set it to the load recursion
 -      depth; set load_in_progress as a simple boolean based on the
 -      current load_depth.  (Bug#3892)
 -
 -2009-07-20  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfont.m (ns_has_attribute): Remove.
 -      (ns_findfonts, nsfont_open): Use ns_attribute_fvalue() instead.
 -
 -2009-07-18  Juri Linkov  <juri@jurta.org>
 -
 -      * process.c (Fset_process_query_on_exit_flag): Mention killing
 -      a buffer in docstring.
 -
 -2009-07-17  Kenichi Handa  <handa@m17n.org>
 -
 -      * casetab.c (shuffle): Fix the logic of setting up the cycle.
 -
 -2009-07-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * nsfns.m (Fns_set_alpha): Remove function.
 -      (syms_of_nsfns): Don't defsubr it.
 -
 -      * nsterm.m (ns_get_color): Remove incompatible color formats.
 -      (ns_color_to_lisp): Generate #rrggbb color format string.
 -
 -2009-07-16  Richard Stallman  <rms@gnu.org>
 -
 -      * fileio.c (Fwrite_region, Fdo_auto_save): Handle save_length = -2.
 -      (Fset_buffer_auto_saved): Handle save_length = -2.
 -
 -2009-07-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xterm.c (Qx_gtk_map_stock): New var.
 -
 -      * gtkutil.c (update_frame_tool_bar): Use Qx_gtk_map_stock instead
 -      of calling intern each time.
 -
 -2009-07-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * nsfont.m (nsfont_draw): Remove code for stippling, which actually
 -      does tiling.
 -
 -      * nsterm.m (ns_maybe_dumpglyphs_background): Likewise.
 -
 -2009-07-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_vconcat_entity_vectors): New function.
 -      (struct font_sort_data): New member font_driver_preference.
 -      (font_compare): Check font_driver_preference.
 -      (font_sort_entities): The format of the first argument changed.
 -      (font_delete_unmatched): Likewise.
 -      (font_list_entities): The return type changed.
 -      (font_select_entity): The format of the second argument changed.
 -      (font_find_for_lface): Adjuste for the above changes.
 -      Don't suppress the checking of C even if the repertory supports it.
 -      (Flist_fonts): Adjust for the above changes.
 -
 -      * ftfont.c (ftfont_spec_pattern): New arg langname.  Change caller.
 -      (ftfont_list): Adjust for the change of ftfont_spec_pattern.
 -      Reject a font who has adstyle property that is different from a
 -      langname derived from registry property.
 -      (ftfont_match): Adjust for the change of ftfont_spec_pattern.
 -
 -2009-07-13  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dired.c (directory_files_internal) [WINDOWSNT]: Don't make a
 -      local copy of dirfilename.
 -
 -2009-07-13  Kenichi Handa  <handa@m17n.org>
 -
 -      * chartab.c (sub_char_table_ref_and_range): Fix the range check
 -      against max_char.
 -
 -      * cmds.c (internal_self_insert): Check sym by SYMBOLP before
 -      calling XSYMBOL (sym).
 -
 -2009-07-11  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dired.c (directory_files_internal_w32_unwind) [WINDOWSNT]:
 -      New function.
 -      (directory_files_internal) [WINDOWSNT]:
 -      Bind w32-get-true-file-attributes to either t or nil, depending whether
 -      the filesystem of the directory is fast or slow.
 -
 -      * w32.c (logon_network_drive): Don't assume PATH is an absolute
 -      file name.
 -      (is_slow_fs): New function.
 -      (stat): Use it to determine whether to issue more system calls to
 -      get accurate file attributes, when w32-get-true-file-attributes is
 -      `local'.
 -
 -2009-07-10  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xfns.c (Fx_select_font): Remember last font selected in
 -      x_last_font_name and use that the next time.  Also try the frame
 -      parameter font-parameter as default to the font dialog.
 -
 -2009-07-10  Kenichi Handa  <handa@m17n.org>
 -
 -      * xftfont.c (xftfont_open): Fix typo: FC_RGBA->FC_HINT_STYLE.
 -
 -2009-07-09  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32proc.c (syms_of_ntproc) <w32-get-true-file-attributes>: Doc fix.
 -
 -      * w32.c (stat): Treat UNC file names as residing on remote
 -      drives.  (Bug#3542)
 -
 -2009-07-09  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_find_font): Fix previous change.
 -
 -2009-07-08  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_initialize, Fdbus_call_method, xd_read_message)
 -      (Fdbus_register_signal, Fdbus_register_method): Cleanup memory of
 -      error flag.
 -
 -2009-07-08  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_find_font): Fix the logic of handling
 -      charset_matched.
 -      (font_for_char): Delete unused var.
 -      (generate_ascii_font_name): Delete it.
 -
 -      * coding.h (JIS_TO_SJIS2): Fix the code range check.
 -
 -      * coding.c (detect_coding_sjis): Handle shift_jis-2004 correctly.
 -      (encode_coding_sjis): Fix the code range check.
 -
 -2009-07-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * fileio.c (Fsubstitute_in_file_name, Ffile_name_directory)
 -      (Fexpand_file_name): Copy string data properly (Bug#3772).
 -
 -2009-07-07  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.c (handle_one_xevent): Only call x_check_fullscreen on the
 -      first MapNotify.
 -
 -2009-07-07  Kenichi Handa  <handa@m17n.org>
 -
 -      * character.h (unibyte_has_multibyte_table): Delete extern.
 -      (UNIBYTE_CHAR_HAS_MULTIBYTE_P): Delete it.
 -
 -      * charset.c (Fset_charset_priority): Update charset_unibyte.
 -      (syms_of_charset): Initialize charset_unibyte.
 -
 -      * character.c (unibyte_has_multibyte_table): Delete it.
 -      (multibyte_char_to_unibyte): Use CHAR_TO_BYTE8 instead of checking
 -      charset_unibyte.
 -      (multibyte_char_to_unibyte_safe): Likewise.
 -      (Funibyte_char_to_multibyte): Don't check charset_unibyte.
 -
 -      * xdisp.c (get_next_display_element): Decode it->c by charset_unibyte.
 -      (x_produce_glyphs): Likewise.
 -
 -      * .gdbinit (xcharset): Fix the treating $arg0.
 -
 -2009-07-04  Eli Zaretskii  <eliz@gnu.org>
 -
 -      Emulation of `getloadavg' on MS-Windows.
 -      * w32.c: Include float.h
 -      (g_b_init_get_native_system_info, g_b_init_get_system_times)
 -      (GetNativeSystemInfo_Proc, GetSystemTimes_Proc): Declare.
 -      (get_native_system_info, get_system_times): New functions.
 -      (buf_next, buf_prev, sample_system_load, getavg): New subroutines.
 -      (getloadavg): Rewrite using GetSystemTimes and GetNativeSystemInfo.
 -      (globals_of_w32): Initialize g_b_init_get_native_system_info,
 -      g_b_init_get_system_times, and num_of_processors.
 -
 -2009-07-03  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (w32_initialize): Use standard types.
 -
 -2009-07-03  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dired.c (Ffile_attributes): Decode user and group names by the
 -      locale's encoding.  (Bug#3443)
 -
 -2009-07-03  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * sysdep.c (sys_suspend): Remove USG_JOBCTRL #ifdef, unused.
 -      (mkdir): Remove MKDIR_PROTOTYPE #ifdef, unused.
 -
 -      * callproc.c (child_setup): Use #else instead of a separate #ifdef.
 -
 -      * term.c (init_tty): Remove spurious #ifdef.
 -
 -      * m/mips.h: Mention this file is also used for netbsd.
 -      * m/pmax.h: Remove file.
 -
 -2009-07-03  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.h (struct x_display_info): Add invisible_cursor.
 -      (struct x_output): Add current_cursor.
 -
 -      * xterm.c (XTtoggle_invisible_pointer): New function.
 -      (x_define_frame_cursor): Don't define cursor if invisible or the
 -      same as before.  Set current_cursor.
 -      (x_create_terminal): Set toggle_invisible_pointer_hook.
 -
 -      * xfns.c (make_invisible_cursor): New function.
 -      (x_set_mouse_color): Call make_invisible_cursor.
 -      Set current_cursor.
 -      (x_window): Set current_cursor.
 -
 -      * termhooks.h (struct terminal): Add toggle_invisible_pointer_hook.
 -
 -      * keyboard.c (command_loop_1): Call frame_make_pointer_invisible after
 -      inserting a character.
 -      (read_avail_input): Call frame_make_pointer_visible.
 -
 -      * frame.c (Vmake_pointer_invisible): New variable.
 -      (frame_make_pointer_invisible, frame_make_pointer_visible):
 -      New functions.
 -      (syms_of_frame): DEFVAR make-pointer-invisible, initialize to Qt.
 -
 -      * frame.h: Declare frame_make_pointer_invisible and
 -      frame_make_pointer_visible.
 -      (struct frame): Add pointer_invisible.
 -
 -2009-07-02  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_frame_set_char_size): Do set width/height if the
 -      frame isn't visible.
 -      (xg_frame_resized): If width/height is -1, get size of window
 -      from X server.
 -
 -      * xterm.c (handle_one_xevent): Call xg_frame_resized for USE_GTK
 -      for MapNotify.
 -
 -      * gtkutil.c (xg_frame_set_char_size): Do not set pixel width/height
 -      here or call change_frame_size.  Just call flush_and_sync.
 -      (flush_and_sync): Reintroduce.
 -
 -2009-07-01  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * xterm.h (struct x_display_info): Add Xatom_net_wm_state_sticky.
 -
 -      * xterm.c (x_handle_net_wm_state): Also look for sticky.
 -      (x_term_init): Initialize Xatom_net_wm_state_sticky.
 -
 -      * frame.h: Declare Qsticky.
 -
 -      * w32fns.c (w32_frame_parm_handlers): Set 0 for sticky.
 -
 -      * nsfns.m (ns_frame_parm_handlers): Ditto.
 -
 -      * frame.c: Declare Qsticky.
 -      (frame_parms): Add sticky.
 -
 -      * xfns.c (x_frame_parm_handlers): Let x_set_sticky handle sticky.
 -
 -      * xterm.h: Declare x_set_sticky.
 -
 -      * xterm.c (x_set_sticky): New function.
 -
 -      * gtkutil.c (xg_tool_bar_proxy_help_callback): New function.
 -      (xg_tool_bar_menu_proxy): Attach enter/leave events to
 -      xg_tool_bar_proxy_help_callback.
 -
 -      * emacs.c (USAGE3, standard_args): Add -mm and --maximized.
 -
 -      * frame.c: Qmaximized is new.
 -      (x_set_frame_parameters): Do not handle fullscreen specially.
 -      Only set width and height if explicitly set.
 -      (x_set_fullscreen): Handle Qmaximized.
 -      (x_set_font, x_figure_window_size): Do not handle fullscreen specially.
 -      (syms_of_frame): Initialize Qmaximized.
 -
 -      * frame.h (fullscreen_type): Add FULLSCREEN_MAXIMIZED.
 -      Declare Qfullwidth, Qfullheight, Qfullboth, Qmaximized.
 -
 -      * xterm.c (handle_one_xevent): Remove call to x_check_fullscreen
 -      for Expose event.  Add call to x_check_fullscreen for MapNotify event.
 -      Remove all code w.r.t. fullscreen from ConfigureNotify event.  Do not
 -      set gravity to NorthWestGravity when USE_GTK.
 -      (set_wm_state): New function.
 -      (do_ewmh_fullscreen): Use set_wm_state.  Also handle FULLSCREEN_MAXIMIZED.
 -      (x_handle_net_wm_state): Handle FULLSCREEN_MAXIMIZED.
 -      (x_check_fullscreen): Simplify so we only handle EMWH type of fullscreen
 -      or the case when no window manager is running.  That means remove calls
 -      to x_real_positions and x_fullscreen_adjust.
 -
 -      * gtkutil.c (flush_and_sync, x_wm_size_hint_off): Remove.
 -      (xg_frame_set_char_size): Remove calls to x_wm_size_hint_off and
 -      flush_and_sync.
 -      (xg_height_changed): New function.
 -      (xg_create_frame_widgets): Remove call to gtk_widget_set_size_request
 -      and gtk_window_set_policy.  Set frame gravity after parsing the
 -      geometry string.
 -      (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): Call xg_height_changed.
 -      Remove calls to xg_frame_set_char_size.
 -
 -2009-07-01  Kenichi Handa  <handa@m17n.org>
 -
 -      * keyboard.c (decode_keyboard_code): New function.
 -      (tty_read_avail_input): Decode the input bytes if necessary.
 -
 -      * coding.c (setup_coding_system):
 -      Initialize coding->carryover_bytes to 0.
 -      (Fset_keyboard_coding_system_internal): If CODING-SYSTEM is nil,
 -      use Qno_conversion.
 -
 -2009-07-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * Makefile.in (SOME_MACHINE_LISP): Add ../lisp/term/common-win.elc.
 -
 -2009-06-30  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xftfont.c (xftfont_open): Avoid passing NULL argument to XftLockFace.
 -
 -2009-06-30  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (w32_initialize): Use GetModuleHandle for library that
 -      is already loaded.
 -      Set user model ID if supported (bug#1849).
 -
 -2009-06-29  Jim Meyering  <meyering@redhat.com>
 -
 -      Remove useless if-before-xfree test.
 -      * nsfont.m (nsfont_close): Remove useless test.
 -      * term.c (delete_tty): Likewise.
 -      * w32.c (system_process_attributes): Likewise.
 -      * w32font.c (w32font_close): Likewise.
 -      * xfaces.c (x_free_gc): Likewise.
 -      * xselect.c (buffer): Likewise.
 -
 -2009-06-28  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * process.c (send_process): Keep decoded string in a local
 -      variable and protect it from GC.  (Bug#3521)
 -
 -2009-06-28  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * term.c (create_tty_output) [MSDOS]: #ifdef away.
 -      (tty_free_frame_resources) [MSDOS]: Add a DOS-specific version.
 -
 -2009-06-28  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (start_display, handle_face_prop)
 -      (move_it_vertically_backward, cursor_row_fully_visible_p)
 -      (redisplay_window, try_window_id, produce_image_glyph):
 -      Delete some #ifdef-ed out code chunks that are now obsolete.
 -
 -      * xterm.c (x_update_window_begin, x_new_focus_frame)
 -      (x_scroll_bar_handle_click, handle_one_xevent)
 -      (handle_one_xevent, XTread_socket, x_focus_on_frame)
 -      (x_make_frame_visible, x_make_frame_invisible)
 -      (x_wm_set_icon_pixmap, x_initialize): Delete some #ifdef-ed out
 -      code chunks that are now obsolete.
 -
 -2009-06-28  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (XD_SYMBOL_TO_DBUS_TYPE): Convert macro into function
 -      xd_symbol_to_dbus_type.  With Solaris 2.11, it was said to compile
 -      for hours, when optimzation is enabled.
 -      (xd_signature, xd_append_arg, xd_retrieve_arg, xd_initialize)
 -      (xd_read_message): Make them static.
 -
 -2009-06-27  Chuck Blake  <cblake@pdos.csail.mit.edu>  (tiny change)
 -
 -      * term.c (turn_on_face): Allow simultaneously bold and dim
 -      terminal faces (Bug#3530).
 -
 -2009-06-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * frame.c (x_get_arg): Check if dpyinfo is non-NULL.
 -
 -      * xdisp.c (mouse_face_from_buffer_pos): Fix detection of
 -      truncation glyphs (Bug#3686).
 -
 -2009-06-27  Glenn Morris  <rgm@gnu.org>
 -
 -      * m/pmax.h: Restore file, with only netbsd portions.
 -
 -2009-06-26  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsterm.m (keydown): Avoid infinite loop.
 -
 -2009-06-26  Peter Jolly  <peter@jollys.org>  (tiny change)
 -
 -      * ftfont.c (get_adstyle_property): Call font_intern_prop with 1 as
 -      the arg FORCE_SYMBOL.
 -
 -2009-06-25  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_find_font): When a usable rfont_def is found
 -      in a fallback font-group, make it the first element of the group.
 -
 -2009-06-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * emacs-icon.h: Always define gnu_xpm_bits on GTK (bug#3671).
 -
 -2009-06-24  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_get_font_group): Return 0 if no font-group is
 -      set for C.
 -      (fontset_font): Record the availability of a font for C both in
 -      the realized fontsets of the current one and the default one.
 -
 -2009-06-23  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * sysdep.c (child_setup_tty): Remove SIGNALS_VIA_CHARACTERS
 -      conditional, it is always defined on AIX.
 -
 -2009-06-23  Miles Bader  <miles@gnu.org>
 -
 -      * window.c (Vrecenter_redisplay): New variable.
 -      (syms_of_window): Initialize it.
 -      (Qtty): New extern declaration.
 -      (Frecenter): Only do redisplay if Vrecenter_redisplay requests it.
 -
 -2009-06-23  Jim Meyering  <meyering@redhat.com>
 -
 -      * src/ftfont.c (setup_otf_gstring, ftfont_shape_by_flt):
 -      Use xmalloc and xrealloc (not malloc and realloc), so subsequent heap
 -      pointer dereferences are guaranteed to be valid.
 -
 -2009-06-23  Kenichi Handa  <handa@m17n.org>
 -
 -      * emacs.c (main): Call init_font ().
 -
 -      * font.h (Vfont_log): Extern it.
 -      (FONT_ADD_LOG, FONT_DEFERRED_LOG): New macros.
 -
 -      * font.c (font_sort_entities, font_list_entities)
 -      (font_matching_entity, font_open_entity)
 -      (font_close_object): Change font_add_log to FONT_ADD_LOG.
 -      (Vfont_log): Delete static.
 -      (font_log_env_checked): Delete this variable.
 -      (font_add_log): Don't check font_log_env_checked.
 -      (font_deferred_log): Check Vfont_log.
 -      (init_font): New function.
 -
 -      * ftfont.c: Change font_add_log to FONT_ADD_LOG.
 -
 -      * w32font.c: Change font_add_log to FONT_ADD_LOG.
 -
 -      * w32uniscribe.c: Change font_add_log to FONT_ADD_LOG.
 -
 -      * xfont.c: Change font_add_log to FONT_ADD_LOG.
 -
 -      * fontset.c (fontset_font): Call FONT_DEFERRED_LOG.
 -      (face_for_char): Don't call font_deferred_log here.
 -      (font_for_char): Likewise.
 -
 -2009-06-22  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * w32term.c (x_draw_glyph_string): Use the glyph string's width
 -      rather than its background_width for drawing the overline and
 -      underline (Bug#489).
 -
 -      * xterm.c (x_draw_glyph_string): Use the glyph string's width
 -      rather than its background_width for drawing the overline and
 -      underline (Bug#489).
 -      (xg_default_icon_file): New variable.
 -      (syms_of_xterm): Initialize it to the Emacs SVG icon file.
 -      (x_bitmap_icon): Under GTK, use xg_default_icon_file.
 -
 -      * xdisp.c (Qbefore_string, Qafter_string): Add externs.
 -      (load_overlay_strings): Remove externs.
 -      (fast_find_position): Function deleted.
 -      (mouse_face_from_buffer_pos): New function, based on
 -      fast_find_position.  Correctly handle before-strings,
 -      display-strings, and after-strings (Bug#1220).
 -      (note_mouse_highlight): Use mouse_face_from_buffer_pos.
 -
 -2009-06-21  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (IT_DISPLAYING_WHITESPACE): Define for !HAVE_WINDOW_SYSTEM.
 -      (move_it_in_display_line_to, move_it_in_display_line_to)
 -      (display_line): Remove #ifdef HAVE_WINDOW_SYSTEM.
 -
 -2009-06-21  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * Branch for 23.1.
 -
 -2009-06-21  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (keyboard_codepage): New static variable.
 -      (w32_read_socket) [WM_INPUTLANGCHANGE]: Update it.
 -      (w32_read_socket) [WM_CHAR]: Use it to decode character
 -      input (bug#3237).
 -      (w32_initialize): Initialize it.
 -      (codepage_for_locale): New function.
 -
 -2009-06-20  Ken Raeburn  <raeburn@raeburn.org>
 -
 -      * process.c (status_message): Pass Faset index argument as a lisp
 -      object, so as to work with USE_LISP_UNION_TYPE.
 -
 -2009-06-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * coding.c (Ffind_coding_systems_region_internal):
 -      Cache checked characters.
 -
 -2009-06-18  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding_iso_2022): Check MSB of bytes more rigidly.
 -
 -2009-06-18  Andreas Schwab  <aschwab@redhat.com>
 -
 -      * xdisp.c (redisplay_internal): Check that the frame is still
 -      live after redisplay of its windows.
 -      (redisplay_windows): Check that the window is still live.
 -
 -2009-06-17  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * coding.c (detect_coding_utf_16): Fix previous change.
 -
 -2009-06-16  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding_utf_16): Fix the logic of rejecting
 -      UTF-16 by checking the dispersion of Eth and Oth bytes.
 -
 -2009-06-15  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * coding.c (detect_coding_utf_16): Fix typo counting odd bytes.
 -
 -2009-06-15  Kenichi Handa  <handa@m17n.org>
 -
 -      * process.c (status_message): Fix previous change.  Be sure to
 -      decode a localized string.
 -
 -2009-06-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xterm.c (x_delete_terminal): Put previous change in #if 0 and
 -      add comment explaining why.
 -
 -2009-06-14  Sidney Markowitz  <sidney@sidney.com>
 -
 -      * nsmenu.m (EmacsTooltip: setText): Set height of tooltip.
 -
 -2009-06-14  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfont.m (ns_attribute_value): Remove.
 -      (ns_attribute_fvalue): Incorporate code from ns_attribute_value.
 -      (ns_has_attribute): Shrink the normal range.
 -      (ns_findfonts): Don't worry about requested spec in determining
 -      need for synthItal.
 -      (ns_get_covering_families): Retain scriptToFamilies.
 -
 -2009-06-14  Seiji Zenitani  <zenitani@mac.com>
 -
 -      * xdisp.c [USE_MAC_TOOLBAR]: Remove obsolete definition for Mac Carbon.
 -
 -2009-06-11  Kenichi Handa  <handa@m17n.org>
 -
 -      * xdisp.c (x_get_glyph_overhangs): Fix calculation of right
 -      overhang for the static composition case.
 -
 -2009-06-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xdisp.c (x_get_glyph_overhangs): Fix calculation of right
 -      overhang for the automatic composition case.
 -
 -      * xterm.c (x_compute_glyph_string_overhangs): Handle the automatic
 -      composition case.
 -
 -2009-06-10  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (get_next_display_element): When handling wrap-prefix
 -      and line-prefix, treat \n as a control character (bug#3502).
 -
 -2009-06-10  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_parse_family_registry): Fix for one-char foundry.
 -      (font_sort_entities): Initialize prefer_prop[FONT_AVGWIDTH_INDEX].
 -
 -2009-06-09  Dmitry Dzhus  <dima@sphinx.net.ru>  (tiny change)
 -
 -      * process.c (status_message): Fix handling of multibyte signal
 -      string (Bug#3499).
 -
 -2009-06-09  Jim Meyering  <meyering@redhat.com>
 -
 -      * xfaces.c (Fx_load_color_file): Avoid array bounds error if the
 -      color name is missing.
 -
 -2009-06-09  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (Fmap_charset_chars): In docstring, state clearly that
 -      FROM-CODE and TO-CODE are codepoints of CHARSET.
 -
 -2009-06-08  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (ns_use_system_highlight_color): Drop, unused.
 -
 -2009-06-08  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      Changes to support :script/:lang/:otf in NS font driver.
 -      * nsfont.m (nsfont_escape_name, nsfont_unescape_name)
 -      (nsfont_get_family, nsfont_char_width): Rename to ns_ prefix to
 -      indicate not part of font driver interface, and change callers.
 -      (ns_get_family): Remove pointless null check.
 -      (nsfont_spec_to_traits, nsfont_fmember_to_entity): Replace with
 -      ns_spec_to_descriptor, ns_descriptor_to_entity.
 -      (nsfont_trait_distance, nsfont_make_fontset_for_font): Remove.
 -      (ns_attribute_value, ns_attribute_fvalue, ns_has_attribute)
 -      (ns_spec_to_descriptor, ns_descriptor_to_entity)
 -      (ns_charset_covers, ns_lang_to_script, ns_otf_to_script)
 -      (ns_get_req_script, ns_accumulate_script_ranges)
 -      (ns_script_to_charset, ns_get_covering_families, ns_findfonts):
 -      New functions.
 -      (nsfont_list, nsfont_match): Use ns_findfonts.
 -      (nsfont_open): Use font descriptor instead of traits.
 -      (nsfont_draw): Handle "automatic" (lookup-table) compositions.
 -      (dump_glyphstring): Rename to ns_dump_glyphstring.
 -
 -      * nsterm.h (dump_glyphstring): Rename to ns_dump_glyphstring.
 -
 -      * nsfns.m (Fns_popup_font_panel): Use shared font manager.
 -
 -      * fontset.c (fontset_from_font): Remove NS-specific code.
 -
 -2009-06-08  Peter Jones  <pjones@pmade.com>  (tiny change)
 -
 -      * nsterm.m (ns_draw_window_cursor): Respect cursor_type for
 -      nonactive windows.
 -
 -2009-06-08  Felix Mueller  <felix@enqueue.eu>  (tiny change)
 -
 -      * nsterm.m (ns_init_paths): Append path separator to INFOPATH variable.
 -
 -2009-06-08  Wolfgang Lux  <wolfgang.lux@gmail.com>  (tiny change)
 -
 -      * keyboard.c (kbd_buffer_get_event): Null-check used_mouse_menu.
 -
 -2009-06-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (move_it_in_display_line_to): On text-only terminals,
 -      account for the overflowing of newlines into the last glyph on the
 -      display line (Bug#3482).
 -
 -2009-06-05  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsselect.m (Fx_own_selection_internal, Fx_selection_exists_p)
 -      (Fx_selection_owner_p): Rename from Fns_own_selection_internal,
 -      Fns_selection_exists_p, Fns_selection_owner_p.
 -
 -2009-06-03  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (x_create_tip_frame): Use the uniscribe font backend if
 -      available.  (Bug#3379)
 -
 -2009-05-29  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (get_translation_table):
 -      Check Venable_character_translation.
 -
 -2009-05-26  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsterm.m (ns_raise_frame): Only raise frame if visible.
 -      (x_make_frame_visible): Move frame to front rather than calling
 -      ns_raise_frame().
 -      (keyDown:): Do not swallow events that aren't re-sent if frame
 -      isn't key window.
 -      (drawRect:): Do not set visibility/iconified flags because
 -      drawRect may be called by NSView even if the frame is hidden.
 -
 -      * nsfns.m (Fx_create_frame): Follow other ports in
 -      determining visibility; default to t.  Ensure async_visible is set.
 -
 -2009-05-23  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dired.c (Ffile_attributes): Doc fix.
 -
 -2009-05-22  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * m/mips.h [GNU_LINUX]: Don't define DATA_START (Bug#2685).
 -
 -2009-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xfont.c (xfont_list_pattern): Don't initialize xfont_scripts_cache
 -      and xfont_scratch_props.
 -      (syms_of_xfont): Do it here instead.
 -      (xfont_find_ccl_program): Delete, unused.
 -      (xfont_open): Delete unused var `i'.
 -
 -2009-05-21  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (Qlatin): Don't make it static.
 -
 -      * xfont.c (xfont_chars_supported, xfont_supported_scripts):
 -      New functions.
 -      (xfont_scripts_cache, xfont_scratch_props): New variables.
 -      (Qlatin, Vscalable_fonts_allowed): Extern it.
 -      (xfont_list_pattern): Argument changed.  Callers changed.
 -      Check Vscalable_fonts_allowed.  Check the support of a script.
 -      (xfont_list): Don't reject a font spec with :script property.
 -      (xfont_has_char): Fix setting of encoding.
 -      (syms_of_xfont): Staticpro and initialize xfont_scripts_cache and
 -      xfont_scratch_props.
 -
 -2009-05-19  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_sort_entities): Rename from font_sort_entites.
 -      Callers changed.
 -
 -2009-05-18  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_find_for_lface): Copy SPEC's FONT_TYPE too.
 -
 -2009-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * frame.c (do_switch_frame) [NS_IMPL_COCOA]: Don't raise any window.
 -      (delete_frame) [NS_IMPL_COCOA]: Instead, do it here.
 -
 -2009-05-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xterm.c (x_delete_display): Don't call XrmDestroyDatabase here.
 -      (x_delete_terminal): Dissociate resource database from display and
 -      then call XrmDestroyDatabase before closing display.
 -
 -2009-05-18  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (ns_read_socket): Remove unused variable.
 -      * frame.c (do_switch_frame): Under NS_IMPL_COCOA section, check
 -      whether selected frame is viable before raising it (based on patch
 -      by David Reitter), and improve commentary.
 -      * nsfont.m (nsfont_make_fontset_for_font): Avoid a compiler warning.
 -
 -2009-05-15  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (Ffont_spec): Check arguments.
 -
 -2009-05-14  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (tty_supports_face_attributes_p): Recognize unspecified
 -      weight when testing attributes (Bug#3282).
 -
 -2009-05-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * gtkutil.c (xg_frame_set_char_size): Set frame pixel width/height to
 -      what we expect to get in the next ConfigureNotify event.
 -
 -      * xftfont.c (xftfont_open): Make sure that Xrender extension is added
 -      before Xft one (Bug#1696).
 -
 -2009-05-07  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsfns.m (Fx_display_planes): Compute bitplanes using
 -      NSBitsPerPixelFromDepth (Bug#3207).
 -
 -2009-05-10  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * editfns.c (Ftranspose_regions): Doc fix (Bug#3248).
 -
 -2009-05-10  Ulrich Mueller  <ulm@gentoo.org>
 -
 -      * s/gnu-linux.h: Make GCPROs and UNGCPRO no-ops also on SuperH.
 -
 -2009-05-07  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsterm.m (ns_dumpglyphs_stretch, ns_dumpglyphs_image):
 -      Respect mouse face background.
 -
 -2009-05-07  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsterm.m (note_mouse_movement, ns_frame_up_to_date):
 -      Mouse movement/highlight: bracket drawing operations
 -      in ns_update_begin and ns_update_end.
 -
 -2009-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * nsfns.m (ns_get_screen): Rewrite.
 -      Don't presume selected-frame is of type `ns'.
 -
 -      * font.c (font_update_drivers): Sanity fallback to avoid disabling
 -      all drivers.
 -
 -      * nsterm.m (-windowDidResize:): Avoid inf-loop under GNUStep.
 -
 -2009-05-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * keyboard.h (add_user_signal): Fix typo in extern.
 -
 -      * lisp.h (add_user_signal): Remove extern.
 -
 -      * unexelf.c (unexec): Consider a section to precede the .bss section
 -      if its addresses overlap that of .bss.
 -      (unexec) [NS_IMPL_GNUSTEP]: Copy ObjC-related data from old file
 -      instead of dumping process.
 -
 -2009-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (syms_of_keyboard): Staticpro pending_funcalls.
 -
 -2009-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * Makefile.in (ctagsfiles1, ctagsfiles2): Include ObjC files in TAGS.
 -
 -2009-05-02  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * xterm.c (x_handle_net_wm_state): Move declaration of lval before
 -      any statements.
 -
 -2009-05-02  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * process.c (read_process_output): Make sure the current buffer is
 -      always restored.
 -
 -      * coding.c (record_conversion_result): Don't modify
 -      Vlast_code_conversion_error for successful result.
 -      (alloc_destination): Don't clobber conversion result.  (Bug#1650)
 -
 -2009-05-01  Emanuele Giaquinta  <emanuele.giaquinta@gmail.com>  (tiny change)
 -
 -      * charset.c (load_charset): Reformat X==Y==Z to (X==Y)==Z.
 -      (load_charset_map): Remove unnecessary code.
 -
 -2009-04-30  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsterm.m (convert_ns_to_X_keysym): Define function keys f16
 -      through f24.
 -
 -2009-04-30  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (face_at_buffer_position): New arg base_face_id.
 -
 -      * xdisp.c (handle_face_prop): Pass base_face_id of iterator to
 -      face_at_buffer_position.
 -      (face_before_or_after_it_pos, get_next_display_element)
 -      (note_mouse_highlight): Update face_at_buffer_position call.
 -
 -      * term.c (term_mouse_highlight):
 -      * msdos.c (IT_note_mouse_highlight):
 -      * fontset.c (Finternal_char_font):
 -      * font.c (font_at, font_range): Update face_at_buffer_position call.
 -
 -      * dispextern.h (face_at_buffer_position): Update prototype.
 -
 -2009-04-30  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_find_font): Check if rfont_def is Qnil or not.
 -
 -2009-04-29  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * callproc.c (Fcall_process): Fix GC protection.  Make sure
 -      current buffer is always restored.
 -
 -2009-04-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * atimer.c (init_atimer): Also clear stopped_atimers.
 -
 -      * keyboard.c (init_keyboard) [POLL_FOR_INPUT]: Reset poll_timer.
 -
 -      * process.c (create_process): Clean up merger residues of
 -      2008-07-17 change.
 -
 -2009-04-29  Ulrich Mueller  <ulm@gentoo.org>
 -
 -      * lread.c (Vread_circle): New variable.
 -      (read1): Disable recursive read if Vread_circle is nil.
 -
 -2009-04-29  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.h (set_default_ascii_font): Delete extern.
 -
 -      * fontset.c (set_default_ascii_font): Delete this unused function.
 -
 -      * frame.c (x_set_font): When ARG is a font-object, check if the
 -      font-object matches with the ASCII font-spec of the frame's
 -      fontset.  If not, create a new fontset for the frame.  (Bug #3075)
 -
 -2009-04-28  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * fns.c (Flocale_info): Protect vector from GC during decoding.
 -
 -      * process.c (Fstart_process): Protect argv strings from GC during
 -      encoding.
 -
 -2009-04-27  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * sysdep.c: Include <ctype.h>.
 -
 -2009-04-27  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsfont.m (nsfont_open): Remove unused variable shrink.
 -      Remove commented-out code.
 -
 -2009-04-26  Johan Bockgård  <bojohan@gnu.org>
 -
 -      * keyboard.c (syms_of_keyboard) <input-decode-map>: Doc fix.
 -
 -2009-04-25  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (clear_cached_metrics): Remove, unused since 2008-08-02.
 -
 -2009-04-25  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * fringe.c (init_fringe_bitmap) [HAVE_X_WINDOWS && WORDS_BIG_ENDIAN]:
 -      Swap bytes in short integer if fringe bitmap width > 8.
 -
 -2009-04-23  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfaces.c (Fx_list_fonts): If a font size is specified in
 -      PATTERN, set it in returned scalable fonts.
 -
 -2009-04-22  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (Fset_input_meta_mode): Doc fix.
 -
 -      * dispnew.c (Fsend_string_to_terminal): Doc fix.
 -
 -      * data.c (Fterminal_local_value, Fset_terminal_local_value): Doc fixes.
 -
 -      * coding.c (Fterminal_coding_system): Doc fix.
 -
 -      * xfns.c (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, Fx_synchronize):
 -      Doc fixes, replacing "terminal id" with "terminal object".
 -      (check_x_display_info): Handle terminal objects instead of
 -      terminal ids.
 -
 -      * term.c (Ftty_display_color_p, Ftty_display_color_cells)
 -      (Ftty_type, Fcontrolling_tty_p, Ftty_no_underline, Fsuspend_tty)
 -      (Fresume_tty, Vsuspend_tty_functions, Vresume_tty_functions):
 -      Doc fixes, replacing "terminal id" with "terminal object".
 -
 -2009-04-21  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_load_for_lface): Cancel previous change (bug#2994).
 -      (font_score): Check AVGWIDTH too.
 -
 -      * coding.c (decode_coding_utf_16): Reduce charbuf_end for the
 -      worst case.
 -      (decode_coding_sjis, decode_coding_big5, decode_coding_charset)
 -      (decode_coding_emacs_mule, decode_coding_iso_2022): Likewise.
 -
 -2009-04-19  Jason Rumney  <jasonr@gnu.org>
 -
 -      The following changes fix Bug#3005 for wide glyphs on each platform,
 -      without reintroducing Bug#1258 for stretch glyphs.
 -
 -      * xterm.c (x_draw_bar_cursor): Limit cursor width differently for
 -      BAR_CURSOR and HBAR_CURSOR.  Calculate width of HBAR_CURSOR using
 -      get_phys_cursor_geometry.
 -
 -      * w32term.c (x_draw_bar_cursor): Limit cursor width differently
 -      for BAR_CURSOR and HBAR_CURSOR.  Calculate width of HBAR_CURSOR
 -      using get_phys_cursor_geometry.
 -
 -      * nsterm.m (ns_draw_window_cursor): HBAR_CURSOR width already
 -      correctly calculated.
 -
 -2009-04-19  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_tool_bar_menu_proxy, update_frame_tool_bar):
 -      Use G_CALLBACK instead of GTK_SIGNAL_FUNC which is deprecated.
 -      (xg_initialize): Use g_type_class_ref instead of gtk_type_class which
 -      is deprecated.
 -
 -2009-04-18  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * font.c (font_put_frame_data): Use xfree instead of free.
 -
 -2009-04-17  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32font.c (Qja, Qko): Remove declarations.
 -      (syms_of_w32font): Don't DEFSYM them.
 -
 -2009-04-17  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (Qja, Qko): Move definitions here from ftfont.c.
 -
 -      * font.h (Qja, Qko): Extern them.
 -
 -      * ftfont.c (Qja, Qko): Remove declarations.
 -
 -      * xfont.c (Qja, Qko): Remove declarations.
 -
 -2009-04-17  Kenichi Handa  <handa@m17n.org>
 -
 -      * editfns.c (Ftranslate_region_internal): Use Fconcat to make a
 -      string from a vector to handle Latin-1 characters correctly.
 -
 -      * ftfont.c (ftfont_pattern_entity): Return a newly allocated
 -      entity even if the cache hits.
 -
 -2009-04-16  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * search.c (boyer_moore): Use zero as marker value for a possible
 -      match instead of depending on overflow behavior.  (Bug#2844)
 -
 -      * search.c: Use EMACS_INT for buffer positions.  Add prototypes.
 -      * lisp.h: Adjust prototypes.
 -
 -2009-04-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (adjust_point_for_property): Disable 2009-02-12
 -      change (Bug#3003).
 -
 -2009-04-16  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfont.c (xfont_has_char): Special handling of `ja' and `ko' adstyle.
 -
 -      * xftfont.c (xftfont_has_char): Special handling of `ja' and `ko'
 -      adstyle.
 -
 -      * ftfont.c (Qja, Qko): Don't make them static.
 -      (enum ftfont_cache_for): New enum.
 -      (fc_charset_table): Undo the previous change.
 -      (ftfont_get_latin1_charset): Delete it.
 -      (ftfont_pattern_entity): Check cache by ftfont_lookup_cache.
 -      Set FONT_SIZE_INDEX of the entity to 0 for a scalable font.  For a
 -      non-scarable font, try to get AVERAGE_WIDTH.
 -      (ftfont_lookup_cache): Argument FOR-FACE is changed to CACHE_FOR.
 -      Change ft_face_cache from a list of a hash-table.  Don't check
 -      `ja' and `ko' adstyle here.
 -      (ftfont_get_fc_charset): Call ftfont_lookup_cache with
 -      FTFONT_CACHE_FOR_CHARET.
 -      (ftfont_get_charset): Undo the previous change.
 -      (ftfont_open): Call ftfont_lookup_cache with FTFONT_CACHE_FOR_FACE.
 -      (ftfont_close): Likewise.
 -      (ftfont_has_char): Special handling of `ja' and `ko' adstyle.
 -
 -      * font.c (font_sort_entites): Change the meaning of the arg
 -      BEST-ONLY.  Don't optimize for VEC of lenght 1.
 -      (font_select_entity): Just return the value of font_sort_entites.
 -
 -      * xfaces.c (merge_face_vectors): Reflect font properties in
 -      to[LFACE_FONT_INDEX] to the other face attributes.  Don't call
 -      font_clear_prop if a face attribute doesn't change.
 -
 -      * charset.h (charset_ksc5601): Extern it.
 -
 -      * charset.c (charset_ksc5601): New variable.
 -      (Fdefine_charset_internal): Set charset_ksc5601.
 -      (init_charset_once): Initialize charset_ksc5601 to -1.
 -
 -2009-04-15  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * fileio.c (history_delete_duplicates): Remove unused declaration.
 -
 -      * callint.c (history_delete_duplicates): New declaration.
 -      (Fcall_interactively): Remove command history duplicates when
 -      history_delete_duplicates is true.
 -
 -2009-04-14  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * buffer.c (syms_of_buffer) <line-spacing>: Doc fix.
 -
 -2009-04-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (Ffont_info): Fix docstring.  Fix the second element of
 -      the returned value (bug#2949).
 -
 -2009-04-14  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (Vwrap_prefix, Vline_prefix): Reflow docstrings.
 -
 -2009-04-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfont.c (xfont_has_char): The font has C if C is ASCII and the
 -      encoding charset is ascii_compatible.
 -
 -      * charset.c (Fdefine_charset_internal): Make charset
 -      ascii-compatible if the method is CHARSET_METHOD_OFFSET, the
 -      code_offset is 0, and covers all ASCII characters.
 -
 -2009-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * nsselect.m (symbol_to_nsstring, clean_local_selection_data)
 -      (ns_string_to_pasteboard_internal):
 -      * nsmenu.m (process_dialog):
 -      * nsimage.m (ns_load_image): Use SDATA and ASET where appropriate.
 -      * nsfont.m (nsfont_open): Use XHASH to make it compile with LISP_UNION.
 -      * lisp.h (Fx_load_color_file): Declare.
 -
 -2009-04-13  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_delete_unmatched): Preserve the order of list elements.
 -      (font_select_entity): Suppress the code to optimize for the same
 -      kind of fonts.
 -      (font_load_for_lface): Get a font that supports at least ASCII
 -      characters.
 -
 -      * ftfont.c (Qja, Qko): New variables.
 -      (fc_charset_table): Delete uniquifier data for iso8859-1.
 -      (ftfont_get_latin1_charset): New function.
 -      (get_adstyle_property): New function.
 -      (ftfont_pattern_entity): Set FONT_ADSTYLE_INDEX of entity for
 -      bitmap fonts.
 -      (ftfont_lookup_cache): Handle the case that KEY is a font-entity.
 -      Delete iso-8859-1 range from the charset of fonts whose adstyle is
 -      `ko' or `ja'.
 -      (ftfont_get_fc_charset): Call ftfont_lookup_cache with ENTITY.
 -      (ftfont_get_charset): For iso8859-1, call ftfont_get_latin1_charset.
 -      (ftfont_list): Don't refuse a font spec with non-nil `adstyle'
 -      property.
 -      (ftfont_open): Call ftfont_lookup_cache with ENTITY.
 -      (syms_of_ftfont): DEFSYM Qja and Qko.
 -
 -2009-04-09  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (map_charset_chars): For a charset of `superset'
 -      method, fix calculation of code range.
 -
 -      * font.c (font_put_extra): If VAL is nil, delete the slot for PROP
 -      from the list of extra properties.
 -      (font_clear_prop): Be sure to delete `:name' font property.
 -
 -2009-04-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * dispnew.c (redraw_overlapping_rows): Fix detection of
 -      overlapping for topmost and bottommost rows.
 -
 -      * ftfont.c (ftfont_text_extents): Fix calculation of metrics->descent.
 -
 -2009-04-06  Jason Rumney  <jasonr@gnu.org>
 -
 -      * frame.c (x_set_font): Avoid C99 mid-block variable declaration.
 -
 -2009-04-06  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftxfont.c (ftxfont_draw_backgrond): Fix args to XFillRectangle.
 -
 -      * xftfont.c (xftfont_open): Fix setting font->underline_thickness.
 -
 -2009-04-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * ftfont.c (ftfont_open): Fix checking of the return value of
 -      FT_Load_Char.  Fix setting font->underline_thickness.
 -
 -2009-04-04  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * terminal.c (Fterminal_name, Fdelete_terminal, Fterminal_name)
 -      (Fterminal_parameters, Fterminal_parameter)
 -      (Fset_terminal_parameter): In doc string, refer to terminal
 -      objects rather than terminal ids.
 -
 -2009-04-04  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dosfns.c (system_process_attributes) [SYSTEM_MALLOC]: Don't call
 -      ret_lim_data.  (Bug#2867)
 -
 -2009-04-03  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * term.c (produce_stretch_glyph): Reduce width of stretch glyphs
 -      so they don't get wider than the window, matching 2006-01-23
 -      change to the partner function in xdisp.c (Bug#2800).
 -
 -2009-04-03  Kenichi Handa  <handa@m17n.org>
 -
 -      * print.c (print_object): Make each lowest sub_char_table start a
 -      new line (Bug#2866).
 -
 -2009-04-02  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_font): Record no-font when a fontset
 -      explicitly tells not to try another font-specs.
 -
 -2009-03-30  Pierre Poissinger  <pierre.poissinger@gmail.com>  (tiny change)
 -
 -      * charset.c (map_charset_for_dump): Add missing UNGCPRO.
 -
 -2009-03-30  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_from_font): Specify only registry in a
 -      font-spec for all characters supported by that registry.
 -
 -      * ftfont.c: Fix previous change.  Define ftfont_variation_glyphs
 -      even if HAVE_M17N_FLT is not defined.
 -
 -2009-03-29  Sebastian Rose  <sebastian_rose@gmx.de>  (tiny change)
 -
 -      * ftfont.c: Conditionalize prototyping and use of
 -      ftfont_variation_glyphs.
 -
 -2009-03-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * frame.c (delete_frame): Work around compiler bug.
 -
 -      * editfns.c (general_insert_function): Adjust to insdel.c changes.
 -      * insdel.c (prepare_to_modify_buffer, signal_before_change):
 -      Some more EMACS_INT.
 -      * lisp.h (copy_text, count_size_as_multibyte): Fix last change.
 -
 -      * xdisp.c (dump_glyph): Fix typo.
 -
 -      * insdel.c (move_gap, move_gap_both, gap_left, gap_right)
 -      (adjust_markers_gap_motion, adjust_markers_for_delete)
 -      (adjust_markers_for_insert, adjust_point)
 -      (adjust_markers_for_replace, make_gap_larger, make_gap_smaller)
 -      (make_gap, copy_text, count_size_as_multibyte, insert)
 -      (insert_and_inherit, insert_before_markers)
 -      (insert_before_markers_and_inherit, insert_1)
 -      (count_combining_before, count_combining_after, insert_1_both)
 -      (insert_from_string, insert_from_string_before_markers)
 -      (insert_from_string_1, insert_from_gap, insert_from_buffer)
 -      (insert_from_buffer_1, adjust_after_replace)
 -      (adjust_after_replace_noundo, adjust_after_insert, replace_range)
 -      (replace_range_2, del_range, del_range_1, del_range_byte)
 -      (del_range_both, del_range_2, modify_region)
 -      (prepare_to_modify_buffer, signal_before_change)
 -      (signal_after_change, Fcombine_after_change_execute): Use EMACS_INT
 -      for buffer positions and sizes.
 -      * lisp.h: Adjust prototypes accordingly.
 -
 -      * fileio.c (adjust_markers_for_delete): Move declaration to lisp.h.
 -      (non_regular_inserted, non_regular_nbytes, read_non_regular)
 -      (Finsert_file_contents): Use EMACS_INT for buffer positions.
 -
 -      * fileio.c (Finsert_file_contents): Don't limit size to INT_MAX/4.
 -
 -2009-03-27  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * frame.c (x_set_font): If the fullscreen property is non-nil, adjust
 -      lines and columns so we keep the same pixel height and width.
 -
 -      * xterm.c (handle_one_xevent): Call x_handle_net_wm_state if
 -      the property _NET_WM_STATE has changed.
 -      (x_handle_net_wm_state): New function to update frame parameter
 -      fullscreen.
 -      (x_term_init): Initialize atoms for _NET_WM_STATE.
 -
 -      * xterm.h (struct x_display_info): Add atoms for _NET_WM_STATE.
 -
 -2009-03-27  Kevin Ryde  <user42@zip.com.au>
 -
 -      * keyboard.c (tty_read_avail_input): Don't treat a -1 return from
 -      Gpm_GetEvent as an error that justifies closing the filedescriptor.
 -      * term.c (close_gpm): Get the filedescriptor as a (new) parameter.
 -      (Fgpm_mouse_stop): Pass that new parameter.
 -      * termhooks.h (close_gpm): Adjust prototype.
 -
 -2009-03-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * lisp.h (Fx_focus_frame): Declare.
 -
 -      * callint.c (Fcall_interactively): For '^' just delegate the work to
 -      handle-shift-selection.
 -      (syms_of_callint): Move declaration of shift-select-mode to simple.el.
 -
 -2009-03-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * editfns.c (Ffloat_time): Doc fix (Bug#2768).
 -
 -      * data.c (Qinteractive_form): New variable.
 -      (Finteractive_form): Use it.
 -
 -      * eval.c (Fcommandp): Use Qinteractive_form.
 -
 -2009-03-24  Jason Rumney  <jasonr@gnu.org>
 -
 -      * fileio.c (Fsubstitute_in_file_name): Always work on a copy.
 -      Calculate total size precisely.  Decode environment variables
 -      before substituting.  (Bug#38)
 -
 -2009-03-24  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (find_font_encoding): Return Qnil for unsupported
 -      encoding (Bug#2722).
 -
 -2009-03-23  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_display_open): Assign a value to gdpy_def, check
 -      that gdpy is set.
 -
 -2009-03-22  Alan Mackenzie  <acm@muc.de>
 -
 -      * callint.c (Finteractive): Clarify the doc string - even
 -      promptless elements need \n separators.
 -
 -2009-03-22  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (syms_of_w32term): Doc fix for
 -      x-use-underline-position-properties.
 -
 -2009-03-21  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32.c (getpwuid): Change argument type to unsigned.
 -      (struct w32_id): Change type of `rid' member to unsigned.
 -      (w32_cached_id, w32_add_to_cache, get_name_and_id): Change type of
 -      argument ID to unsigned.  All callers changed.
 -      (getuid, geteuid, getgid, getegid): Change return type to unsigned.
 -
 -2009-03-20  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * editfns.c (Fuser_uid, Fuser_real_uid): If UID as EMACS_INT is
 -      negative, produce a float value.
 -
 -      * dired.c (make_uid, make_gid): New functions.
 -      (Ffile_attributes): Use them to avoid negative UID and GID.
 -
 -2009-03-20  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * keyboard.c (Fcurrent_idle_time): Reflow docstring.
 -      (syms_of_keyboard) <command-hook-internal, input-method-function>:
 -      Fix typos in docstrings.
 -
 -2009-03-19  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (Fset_fontset_font): When a spec of ASCII font is
 -      changed, use font_load_for_lface to get a new font object.
 -      Call free_realized_fontset after handling ASCII font change.
 -
 -      * frame.c (x_set_font): Handle the case that ARG is a cons.
 -
 -2009-03-19  Glenn Morris  <rgm@gnu.org>
 -
 -      * fileio.c (Fsubstitute_in_file_name): Doc fix.
 -
 -2009-03-19  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * indent.c (Fvertical_motion): Undo 2005-01-19 change (Bug#2694).
 -
 -2009-03-19  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (load_charset_map_from_file): When a mapfile can't be
 -      loaded, signal an error.
 -
 -2009-03-18  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * dired.c (Ffile_attributes): Make sure UID and GID are always
 -      positive, even if the value is too large for a positive EMACS_INT.
 -      Doc fix.
 -
 -      * editfns.c (Fuser_login_name): Support float arguments.  Doc fix.
 -
 -2009-03-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xmenu.c (xdialog_show): Move Fredisplay call ...
 -      (Fx_popup_dialog): ... here.
 -
 -2009-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * dired.c (file_name_completion): Disable the first optimization just
 -      installed, since it is not implemented correctly.
 -
 -2009-03-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * dired.c (file_name_completion): Check completion-ignored-extensions
 -      only if the entry can affect bestmatch.
 -      Stop the search early, as Ftry_completion already does.
 -
 -2009-03-17  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * minibuf.c (Vminibuffer_completion_confirm): Doc fix.
 -
 -2009-03-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (parse_menu_item): Don't display remappings as menu
 -      equivalent bindings (Bug#788).
 -
 -2009-03-15  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.h (WM_EMACS_PAINT): New message.
 -      * w32term.c (w32_read_socket): Use it instead of WM_PAINT.
 -      * w32fns.c (w32_wnd_proc): Change WM_PAINT to WM_EMACS_PAINT
 -      before passing to lisp thread.  (Bug#950)
 -
 -2009-03-14  David Reitter  <david.reitter@gmail.com>
 -
 -      * nsterm.m (ns_shutdown_properly, -terminate): Remove global state
 -      variable as it was never reset.
 -      (ns_term_init): Remove initialization of Lisp-settable defaults
 -      and ns_expand_space.
 -      (-setPanelFromDefaultValues): Remove ns_expand_space.
 -      (-showPreferencesWindow): Send new KEY_NS_SHOW_PREFS key.
 -      * nsfont.m (nsfont_open): Remove ns_expand_space, assume -0.5
 -      i.e. no additional spacing, similar to Carbon port.
 -
 -      * nsterm.h: Define KEY_NS_SHOW_PREFS key.
 -      * nsfns.m (ns-popup-prefs-panel): Remove.
 -
 -2009-03-14  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * sound.c (alsa_configure): Remove call to deprecated
 -      snd_pcm_sw_params_set_xfer_align.
 -
 -2009-03-14  Stephen Berman  <stephen.berman@gmx.net>
 -
 -      * gtkutil.c (xg_tool_bar_callback): Set focus back to the frame
 -      after clicking in a detached tool bar.
 -      (xg_tool_bar_proxy_callback): Remove call to Fx_focus_frame.
 -
 -2009-03-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fontset.c (fontset_from_font, Ffontset_info): YAILOM (Yet another
 -      int/Lisp_Object mixup).
 -
 -2009-03-13  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (Ffontset_info, check_fontset_name): New arg frame.
 -      Handle NAME nil and t correctly.  Callers changed.
 -      (font_def_arg, add_arg, from_arg, to_arg): Delete them.
 -      (set_fontset_font): Change ARG to a vector.  Handle range_list in
 -      ARG correctly.
 -      (Fset_fontset_font): Fix the case that TARGET is both a script
 -      name and charset name.  Adjust the arg to set_fontset_font for
 -      the above change.
 -      (fontset_from_font): Fix previous change.
 -      (Ffontset_info): Adjust for the 2008-07-09 change of fontset
 -      entry.  If FONTSET is the default fontset, don't set the extra
 -      slot of the returning char-table.
 -
 -2009-03-12  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * nsfns.m (Fx_close_connection): Doc fix.
 -      (Fns_do_applescript): Reflow docstring.
 -      (Fns_hide_others, Fns_hide_emacs, Fns_convert_utf8_nfd_to_nfc)
 -      (Fx_display_pixel_width, Fx_display_pixel_height)
 -      (Fns_display_usable_bounds, Fx_display_planes, Fx_show_tip):
 -      Fix typos in docstrings.
 -      (Fns_set_alpha): Fix typos in error messages.
 -
 -2009-03-12  David Reitter  <david.reitter@gmail.com>
 -
 -      * termhooks.h [HAVE_NS]: Define NS_NONKEY_EVENT to be used for
 -      non-key system events on NS.  Formerly, NON_ASCII_KEYSTROKE_EVENT
 -      were used for such events.
 -
 -      * nsterm.m (newFrame, openFile, fulfillService, changeFont)
 -      (toggleToolbar, performDragOperation, runHelp): Use it.
 -
 -      * keyboard.c (parse_menu_item) [HAVE_NS]: Treat new event like
 -      NON_ASCII_KEYSTROKE_EVENT, but set used_mouse_menu.
 -
 -2009-03-11  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.h (font_open_by_spec): Extern it.
 -
 -      * font.c (font_open_by_spec): New function.
 -      (font_open_by_name): Use font_open_by_spec.
 -
 -      * frame.c (x_set_font): When ARG is a font-object, don't alter the
 -      fontset of the frame.
 -
 -      * fontset.c (Fset_fontset_font): When a font for ASCII is changed,
 -      modify the default font of frames that use this fontset.
 -      (num_auto_fontsets): New variable.
 -      (fontset_from_font): Use num_auto_fontsets to decide a fontset
 -      name.  Be sure to set FONTSET_ASCII to the correct font name.
 -      (update_auto_fontset_alist): New function.
 -
 -2009-03-11  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * makefile.w32-in: Update dependencies.
 -
 -2009-03-06  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfns.m (syms_of_nsfns): Remove Qbuffered.
 -
 -2009-03-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * buffer.c (Fswitch_to_buffer): Revert part of 2008-10-21's change.
 -
 -2009-03-10  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * lread.c (Feval_buffer): Doc fix.
 -
 -2009-03-09  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.c (Qfile_name_handler_alist): Extern it.
 -      (load_charset_map_from_file): Temporarily bind
 -      `file-name-handler-alist' to nil while calling openp.  (Bug#2435)
 -
 -2009-03-06  Aaron Ecay  <aaronecay@gmail.com>  (tiny change)
 -
 -      * nsterm.m (ns_draw_vertical_window_border): Draw 1 pixel wide,
 -      not two, and use NSRectFill instead of NSDrawGroove.  (Bug#2352)
 -
 -2009-03-06  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m: Include <signal.h> for SIGTERM used in ns_term_shutdown.
 -      (x_set_window_size): Change back to calculated method of setting
 -      toolbar height under Cocoa.  (Bug#2546)
 -      (EmacsView-windowWillUseStandardFrame:defaultFrame:): New method.
 -      (EmacsView-drawRect:): Completely shortcircuit if ns_in_resize.
 -
 -      * nsfns.m (ns_appkit_version_int): Fix typo in the version macro.
 -
 -      * nsmenu.m (EmacsMenu-addItemWithWidgetValue:): Don't add
 -      accelerator in parens under GNUstep.
 -
 -2009-03-06  Kenichi Handa  <handa@m17n.org>
 -
 -      These changes are to detect incorrect composition sequence without
 -      looking ahead the source.  (Bug#2370)
 -
 -      * coding.h: Include "composite.h".
 -      (enum compisition_state): New enum.
 -      (struct compisition_status): New struct.
 -      (struct iso_2022_spec): New member cmp_status.
 -      (struct emacs_mule_spec): New struct.
 -      (struct coding_system): New members ctext_extended_segment_len and
 -      embedded_utf_8.  Change the union member
 -      spec.emacs_mule_full_support to spec.emacs_mule.
 -
 -      * coding.c (CODING_ISO_CMP_STATUS): New macro.
 -      (CODING_ISO_EXTSEGMENT_LEN, CODING_ISO_EMBEDDED_UTF_8): New macros.
 -      (MAX_ANNOTATION_LENGTH): Define to 5.
 -      (ADD_COMPOSITION_DATA): New arg nbytes.
 -      (emacs_mule_char): New arg cmp_status.
 -      (DECODE_EMACS_MULE_COMPOSITION_CHAR): Delete it.
 -      (DECODE_EMACS_MULE_COMPOSITION_RULE_20): New arg c.
 -      (DECODE_EMACS_MULE_COMPOSITION_RULE_21): New arg c.
 -      (DECODE_EMACS_MULE_21_COMPOSITION): Delete the arg c.
 -      (DECODE_EMACS_MULE_20_RELATIVE_COMPOSITION): Likewise.
 -      (DECODE_EMACS_MULE_20_RULEBASE_COMPOSITION): Likewise.
 -      (DECODE_EMACS_MULE_COMPOSITION_START): New macro.
 -      (EMACS_MULE_COMPOSITION_END): New macro.
 -      (emacs_mule_finish_composition): New function.
 -      (EMACS_MULE_MAYBE_FINISH_COMPOSITION): New macro.
 -      (decode_coding_emacs_mule): Avoid long looking ahead while
 -      handling composition.
 -      (DECODE_COMPOSITION_RULE): Argument changed to rule and nbytes.
 -      (ENCODE_COMPOSITION_RULE): New macro.
 -      (finish_composition): New function.
 -      (MAYBE_FINISH_COMPOSITION): Call finish_composition.
 -      (DECODE_COMPOSITION_START): New implementation.
 -      (DECODE_COMPOSITION_END): Likewise.
 -      (STORE_COMPOSITION_RULE): New macro.
 -      (decode_coding_iso_2022): Avoid long looking ahead while handling
 -      composition, CTEXT extended segment, and embedded UTF-8.
 -      (setup_coding_system): For a coding of type iso-2022, reset
 -      CODING_ISO_EXTSEGMENT_LEN (coding) and
 -      CODING_ISO_EMBEDDED_UTF_8 (coding).
 -      (get_translation): Delete arguments last_block, from_nchars,
 -      to_nchars.  Callers changed.
 -      (produce_chars): Don't modify charbuf.  Adjusted for the change of
 -      get_translation.
 -      (produce_composition): Adjust for the new annotation sequence.
 -      (handle_composition_annotation): Likewise.
 -      (consume_chars): Adjust for the change of get_translation.
 -
 -2009-03-05  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (ns_select): Shortcircuit if reentrant call.  (Bug#2564)
 -
 -2009-03-05  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_select_entity): New function.
 -      (font_find_for_lface): Use font_select_entity to select a font.
 -
 -      * fontset.c (fontset_find_font): If a font found without
 -      restricting to the characters C doesn't support C, try to find a
 -      font with C restriction.
 -
 -2009-03-04  Nikolaj Schumacher  <me@nschum.de>
 -
 -      * nsfont.m (nsfont_draw): Compare ns_antialias_text against lisp value.
 -
 -2009-03-04  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (w32_wnd_proc): Only ignore IME messages for the
 -      characters that have already been read.  (Bug#2569)
 -
 -      * image.c (xbm_read_bitmap_data, png_load, svg_load_image):
 -      Log an error message if check_image_size failed.
 -      (xpm_load_image, pbm_load, jpeg_load, tiff_load, gif_load)
 -      (gs_load): Mention max-image-size in size error message.  (Bug#2560)
 -
 -2009-03-02  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * callproc.c (Fcall_process): Bind inhibit-modification-hooks to t
 -      when decoding process output.
 -
 -2009-03-01  Richard M Stallman  <rms@gnu.org>
 -
 -      * m/mips.h (DATA_SEG_BITS, XUINT, XSET): Definitions disabled.
 -
 -      * emacs.c (gdb_data_seg_bits) [USE_LSB_TAG]: Make it 0.
 -
 -2009-02-28  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * coding.c (decode_coding_utf_8, decode_coding_utf_16)
 -      (decode_coding_emacs_mule, decode_coding_iso_2022)
 -      (encode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
 -      (decode_coding_raw_text, decode_coding_charset)
 -      (setup_coding_system, decode_eol, decode_coding, consume_chars):
 -      Honor inhibit-eol-conversion.  (Bug #2186)
 -
 -2009-02-28  Jason Rumney  <jasonr@gnu.org>
 -
 -      * coding.c (detect_coding_charset): If not checking latin extra,
 -      fail on characters between 0x80 and 0xA0.  (Bug#2354)
 -
 -2009-02-28  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * coding.c (detect_coding_charset): Fix change from 2008-10-21.
 -      Also, check iso-latin-*, not only iso-8859-*.  (Bug#2497)
 -
 -2009-02-27  Glenn Morris  <rgm@gnu.org>
 -
 -      * callint.c (Finteractive): Doc fix.
 -
 -2009-02-27  Kenichi Handa  <handa@m17n.org>
 -
 -      * lread.c (read_escape): Signal an error for invalid \UXXXXXXXX.
 -
 -2009-02-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (font_style_to_value): Set value for unknown symbols to
 -      100 instead of 255.
 -      (weight_table, slant_table, width_table): Treat "unspecified" as
 -      the default value.
 -
 -2009-02-26  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * fileio.c (Fnext_read_file_uses_dialog_p): Fix typo in docstring.
 -
 -2009-02-25  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * lread.c (Fload): Stop checking Vloads_in_progress and signal
 -      error as soon as a recursive load is detected.
 -
 -2009-02-24  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (ns_ring_bell): Convert rect to window coordinates
 -      before caching.
 -
 -2009-02-24  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_find_font): Fix the condition for checking
 -      unavailable font.
 -
 -2009-02-24  Glenn Morris  <rgm@gnu.org>
 -
 -      * xfaces.c (Finternal_set_font_selection_order): Remove leading
 -      whitespace that confuses documentation.
 -
 -2009-02-23  Miles Bader  <miles@gnu.org>
 -
 -      * process.c (Flist_system_processes, Fprocess_attributes)
 -      (syms_of_process): Rename `system-process-attributes' to
 -      `process-attributes'.
 -
 -2009-02-22  Andreas Schwab  <schwab@linux-m68k.org>
 -
 -      * coding.h (struct coding_system): Make safe_charsets a pointer to
 -      unsigned char.
 -      * coding.c (CODING_ISO_REQUEST): Check for safe_charsets content
 -      being 255.
 -      (SAFE_CHARSET_P): Likewise.
 -      (setup_iso_safe_charsets): Properly setup safe_charsets.
 -      (Fdefine_coding_system_internal): Likewise.
 -      (setup_coding_system): Likewise.  Remove unneeded casts.
 -      (detect_coding_iso_2022): Compare Viso_2022_charset_list with
 -      CODING_ATTR_CHARSET_LIST, not CODING_ATTR_SAFE_CHARSETS.  Remove
 -      unneeded casts.
 -
 -      * insdel.c (del_range_2): Don't modify gap contents when called
 -      from decode_coding_object.  (Bug#1809)
 -
 -2009-02-21  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * data.c (syms_of_data): Define Qfont_spec, Qfont_entity, and
 -      Qfont_object.
 -      (Ftype_of): Recognize font objects.
 -
 -      * lisp.h: Define Qfont_spec, Qfont_entity, Qfont_object extern.
 -
 -      * font.c (Qfont_spec, Qfont_entity, Qfont_object): Definitions
 -      moved to data.c.
 -
 -2009-02-20  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (x_make_frame_invisible): Unset async_visible,
 -      async_iconified.  Based on a patch by Christian Lynbech
 -      <christian.lynbech@tieto.com>.
 -      (EmacsView-windowDidMiniaturize:): Unset async_visible.
 -
 -2009-02-20  Glenn Morris  <rgm@gnu.org>
 -
 -      * syntax.c (Fskip_chars_forward): Fix doc typo.
 -
 -2009-02-20  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keymap.c (Fkeymap_parent): Doc fix (Bug#2391).
 -
 -2009-02-19  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfns.c (Fx_create_frame): Give Xft driver a higher priority.
 -
 -2009-02-19  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding): Preserve coding->mode.
 -      Don't overflow coding->carryover.  (Bug#2370)
 -
 -2009-02-18  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * m/ibmrs6000.h (ADDR_CORRECT): Restore, removed by mistake on 2008-07-23.
 -
 -2009-02-18  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_check_otf_features): Fix handling of `nil' element.
 -      (Ffont_spec): Describe :lang and :otf in the docstring.
 -
 -2009-02-16  Andreas Schwab  <schwab@suse.de>
 -
 -      * coding.c (Fcheck_coding_systems_region): Fix test for unibyte
 -      string.
 -
 -2009-02-16  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (Fcheck_coding_systems_region): Fix typo; Qt -> Qnil.
 -      (Bug#1723)
 -
 -2009-02-14  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * dispextern.h (struct iterator_stack_entry): New line_wrap member.
 -
 -      * xdisp.c (push_it, pop_it): Save and restore line_wrap.
 -      (handle_line_prefix): Suppress wrapping of wrap prefixes.
 -
 -2009-02-14  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * msdos.c (MAX_SCREEN_BUF): New macro.
 -      (IT_write_glyphs): Make screen_buf[] always be MAX_SCREEN_BUF-long.
 -      Encode the entire run of glyphs sharing the same face, instead of
 -      doing that one glyph at a time (fixes a bug with displaying
 -      double-size characters).
 -
 -2009-02-13  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfns.m (ns-read-file-name): BLOCK_INPUT while showing dialog.
 -
 -      * nsmenu.m (pop_down_menu): Check popup_activated_flag.
 -      (ns_popup_dialog, EmacsDialogPanel-runDialogAt:): Let
 -      pop_down_menu do the cleanup work as it is always called.  (Bug#2154)
 -
 -      * nsfont.m (nsfont_make_fontset_for_font): For now, don't try to
 -      set fontset font for "mathematical-" sub-scripts.  (Bug #2218)
 -
 -2009-02-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (adjust_point_for_property): Allow stopping between two
 -      invisible areas.
 -
 -2009-02-12  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (check_face_name): Check for fake helv.  (Bug#2275)
 -      (add_font_entity_to_list): Call check_face_name even when family
 -      is unspecified.
 -
 -      * w32term.c (x_display_pixel_height, x_display_pixel_width):
 -      Release DC when finished.  Use NULL window to refer to desktop.
 -      (w32_term_init): Use NULL window to refer to desktop.  (Bug#460)
 -
 -      * w32font.c (add_font_entity_to_list): Fix check for substituted
 -      raster fonts.  (Bug#2219)
 -
 -2009-02-12  Kenichi Handa  <handa@m17n.org>
 -
 -      * composite.c (MAX_AUTO_COMPOSITION_LOOKBACK): New macro.
 -      (composition_gstring_width): Fix handling of LGLYPH_YOFF.
 -      (autocmp_chars): Use fast_looking_at.  Don't compose more
 -      characters than MAX_COMPOSITION_COMPONENTS.
 -      (find_automatic_composition): While looking forward and backward,
 -      check static composition.  Fix where to stop looking forward.
 -      (composition_adjust_point): Fix checking of static composition.
 -      (Fcomposition_get_gstring): Pay attention to
 -      MAX_COMPOSITION_COMPONENTS.
 -
 -      * lisp.h (fast_looking_at): Extern it.
 -
 -      * search.c (fast_looking_at): New function.
 -
 -      * term.c (encode_terminal_code): Adjust for the change of
 -      <struct glyph>.u.cmp.to.
 -      (append_composite_glyph): Likewise.
 -
 -      * xdisp.c (fill_gstring_glyph_string): Adjust for the change of
 -      <struct glyph>.u.cmp.to.  Check if the glyph belongs to the same
 -      composition.
 -      (append_composite_glyph): Adjust for the change of
 -      <strcut glyph>.u.cmp.to.
 -
 -2009-02-11  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * casetab.c (init_casetab_once):
 -      * coding.c (ALLOC_CONVERSION_WORK_AREA):
 -      * font.c (font_update_lface):
 -      * fontset.c (Fnew_fontset):
 -      * ftfont.c (ftfont_drive_otf):
 -      * xfont.c (xfont_open):
 -      * xftfont.c (xftfont_get_xft_draw): Remove spurious semicolons.
 -
 -2009-02-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * fileio.c (Fwrite_region): !NILP -> CONSP.
 -
 -2009-02-10  Andreas Schwab  <schwab@suse.de>
 -
 -      * process.c (send_process): Properly relocate pointer into data
 -      when using encoded data.  (Bug#2272)
 -
 -2009-02-08  ARISAWA Akihiro  <ari@mbf.sphere.ne.jp>
 -
 -      * coding.c (detect_coding_charset): Fix previous change.
 -
 -2009-02-08  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (w32_hide_hourglass): Handle case where frame
 -      disappeared while hourglass was displayed.  (Bug #2193)
 -
 -2009-02-07  Andreas Schwab  <schwab@suse.de>
 -
 -      * unexelf.c (unexec): Fix error message.
 -
 -2009-02-07  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (EmacsApp-sendEvent:): Defer NSApplicationDefined event
 -      when modal window is active.  (Bug #2152)
 -      (applicationShouldTerminate:): Remove now-unneeded while loop
 -      around NSRunAlertPanel.
 -
 -      * nsmenu.m (popupSession): New file-global variable.
 -      (pop_down_menu): End the popupSession before closing dialog.
 -      (ns_popup_dialog): BLOCK_INPUT around dialog presentation.
 -      (EmacsDialogPanel-runDialogAt:): Don't place window (superfluous),
 -      don't query NSApp for events (just sleep instead).
 -
 -2009-02-07  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * coding.c (syms_of_coding) <translation-table-for-input>:
 -      Modify doc string to discourage use for character code unification.
 -
 -2009-02-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * atimer.c (run_timers): Update pending_atimers.
 -
 -2009-02-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * image.c (svg_load_image): Fix last change.
 -
 -      * xfns.c (Fx_create_frame): Signal an error if no font is
 -      found (Bug#2147).
 -
 -2009-02-05  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * character.c (syms_of_character) <script-representative-chars>:
 -      Fix typo in docstring.
 -
 -2009-02-04  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsmenu.m (pop_down_menu): New function.
 -      (ns_popup_dialog): Call it on unwind.
 -      (EmacsDialogPanel-runDialogAt:): Check popup_activated_flag and
 -      call timer_check() (Bug#2154).
 -      (EmacsMenu-menuNeedsUpdate:): Don't call ns_update_menu if
 -      handling_signal is set.
 -      (EmacsMenu-fillWithWidgetValue:): Set submenu title.
 -
 -      * config.in: Get rid of COCOA_EXPERIMENTAL_CTRL_G.
 -
 -      * s/darwin.h: Same and NO_SOCK_SIGIO as well.
 -
 -      * nsterm.m (ns_read_socket): Same and don't set handling_signal.
 -
 -      * keyboard.c (poll_for_input_1, handle_async_input):
 -      Set handling_signal under HAVE_NS.
 -
 -2009-02-04  Glenn Morris  <rgm@gnu.org>
 -
 -      * fileio.c (Fwrite_region): Doc fix (mention annotate-functions).
 -
 -2009-02-04  Kenichi Handa  <handa@m17n.org>
 -
 -      * Makefile.in (composite.o): Depends on frame.h and termhooks.h.
 -
 -      * charset.c (Fchar_charset): New optional arg restriction.
 -
 -      * coding.h (coding_system_charset_list): Extern it.
 -
 -      * coding.c (coding_system_charset_list): New function.
 -
 -      * composite.c: Include coding.h and termhooks.h.
 -      (composition_gstring_p): Fix for the terminal case.
 -      (composition_gstring_width): Likewise.
 -      (fill_gstring_body): Likewise.
 -      (autocmp_chars): For terminal, call Fcomposition_get_gstring with
 -      the frame.
 -      (composition_compute_stop_pos): Adjust cmp_it->stop_pos if point
 -      is within a composition.
 -      (Fcomposition_get_gstring): Fix the terminal case.
 -
 -      * term.c (encode_terminal_code): Fix handling of composition.
 -      (produce_composite_glyph): For static composition, get pixel_width
 -      from struct composition.
 -
 -2009-02-02  Andreas Schwab  <schwab@suse.de>
 -
 -      * unexelf.c (unexec): Handle unaligned bss offset.
 -
 -2009-02-01  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (ns_read_socket): Copy 2009-01-29 and 2009-01-30
 -      XT,w32read_socket changes to ns_read_socket.
 -
 -      * keyboard.c (handle_interrupt): Don't call
 -      quit_throw_to_read_char() under NS.
 -
 -      * blockinput.h: Remove NS-specific code.
 -
 -2009-01-30  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * dispnew.c (window_change_signal): Don't try to get the size of a
 -      suspended tty frame.
 -      * term.c (Fresume_tty): Resize if the size has changed while the
 -      tty was suspended.
 -
 -      * alloc.c (mark_stack): Properly conditionalize previous change.
 -
 -2009-01-30  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32inevt.c (w32_console_read_socket) [SYNC_INPUT]:
 -      * w32term.c (w32_read_socket) [SYNC_INPUT]:
 -      Remove; this code is not used on Windows.
 -
 -2009-01-30  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * coding.c (detect_eol, decode_eol): Handle text with DOS-style
 -      EOLs that also has stray ^M characters.
 -
 -2009-01-30  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * atimer.c (run_timers, alarm_signal_handler):
 -      * keyboard.c (pending_signals, handle_async_input, init_keyboard):
 -      * w32inevt.c (w32_console_read_socket):
 -      * w32term.c (w32_read_socket):
 -      * xterm.c (XTread_socket): Use "#ifdef SYNC_INPUT" where appropriate.
 -
 -2009-01-30  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * callproc.c (Vtemp_file_name_pattern): Remove DEFVAR_LISP.
 -      Initialize it as a relative filename pattern.
 -      (init_callproc): Don't initialize Vtemp_file_name_pattern here.
 -      (Fcall_process_region): Simplify temp file creation using
 -      temporary-file-directory.
 -
 -2009-01-29  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * msdos.c: Rename pending_signals to msdos_pending_signals.
 -      (sig_suspender, sigprocmask): Adjust.
 -
 -2009-01-29  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (pending_signals): New var.
 -      (poll_for_input, input_available_signal, init_keyboard): Set it.
 -      (process_pending_signals): New function.
 -
 -      * lisp.h (QUIT): Check pending_signals instead of
 -      interrupt_input_pending.  Use process_pending_signals.
 -
 -      * atimer.c (run_timers, alarm_signal_handler): Update pending_signals.
 -
 -      * process.c (wait_reading_process_output): Use process_pending_signals.
 -
 -      * sysdep.c (emacs_write): Use process_pending_signals.
 -
 -      * xterm.c (XTread_socket): Update pending_signals.
 -
 -      * w32term.c (w32_read_socket): Update pending_signals.
 -
 -      * w32inevt.c (w32_console_read_socket): Update pending_signals.
 -
 -2009-01-29  Kenichi Handa  <handa@m17n.org>
 -
 -      * xftfont.c (xftfont_has_char): New function.
 -      (syms_of_xftfont): Register xftfont_has_char in xftfont_driver.
 -
 -2009-01-29  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.h (EmacsPrefsController.cursorBlinkSlider): Only define
 -      under GNUstep.
 -      (ns_query_color): New declaration.
 -
 -      * nsterm.m (ns_confirm_quit): New variable.
 -      (ns_set_default_prefs, syms_of_nsterm, ns_term_init): Initialize it.
 -      (EmacsApp-applicationShouldTerminate:): Use it.
 -      (EmacsPrefsController): Let user set it.
 -      (ns_query_color): New function.
 -      (ns_defined_color): Use it.
 -      (ns_initialize): Drop.
 -      (ns_term_init): Add two lines from ns_initialize(), and set
 -      input_interrupt_mode to nil.
 -
 -      * image.c (svg_load_image): Don't right-shift background RGB when
 -      obtained from FRAME_BACKGROUND_PIXEL.  Under HAVE_NS use ns_query_color.
 -
 -2009-01-28  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
 -      (fontset_get_font_group): Remember that no font-group is specified
 -      for C.
 -
 -2009-01-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * fns.c (concat): Check for string overflow (bug#1787).
 -
 -      * undo.c (undo_limit, undo_strong_limit, Vundo_outer_limit):
 -      Quadruple undo limits (bug#1501).
 -
 -2009-01-27  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_has_char): If the arg FONT is a font-object,
 -      directly use GT_Get_Char_index.
 -
 -      * xftfont.c (struct xftfont_info): New member `index'.
 -
 -      * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
 -      (Ffontset_font): Adjust for the change of fontset entry.
 -
 -2009-01-26  Kenichi Handa  <handa@m17n.org>
 -
 -      * fontset.c (fontset_find_font): Fix handling of non-cons return
 -      value of fontset_get_font_group.
 -      (fontset_font): Revert last change.
 -
 -2009-01-26  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_list_internal): Return quickly if registry is
 -      unknown.  Simplify final return.
 -      (add_font_entity_to_list): Break complex logic down into more
 -      manageable chunks.  Move unknown registry check to
 -      w32font_list_internal.
 -
 -2009-01-25  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      Changes to remove Feval calls from GUI under NS.
 -
 -      * nsterm.h: Move KEY_NS_... definitions here from nsterm.m.
 -      Add NS_TOGGLE_TOOLBAR, NS_PUT_WORKING_TEXT, NS_UNPUT_WORKING_TEXT.
 -      Remove NS_INSERT_WORKING_TEXT, NS_DELETE_WORKING_TEXT.
 -
 -      * nsterm.m: Move KEY_NS_... definitions to nsterm.h.
 -      (EmacsView-toggleToolbar:): Use KEY_NS_TOGGLE_TOOLBAR.
 -      (EmacsView-setMarkedText:,-deleteWorkingText:): Use NS_TEXT_EVENT
 -      instead of NON_ASCII_KEYSTROKE_EVENT.
 -      (EmacsApp-terminate:): Use KEY_NS_POWER_OFF instead of Feval.
 -      (EmacsApp-applicationShouldTerminate:): Query user.
 -      (EmacsPreferencesController-runHelp:): Use KEY_NS_INFO_PREFS
 -      instead of Feval.
 -
 -      * termhooks.h (NS_TEXT_EVENT): New event type under HAVE_NS.
 -
 -      * keyboard.c (kbd_buffer_get_event): Check for it.
 -      (keys_of_keyboard): Define lispy keys for
 -      ns-put/unput-working-text.
 -
 -      * nsmenu.m (ns_popup_dialog): Resync window setting with X and W32
 -      versions.
 -      (EmacsDialog-runDialogAt:): Use NSModalPanelRunLoopMode.
 -
 -2009-01-25  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * dispnew.c (buffer_posn_from_coords): Use Fset_buffer instead of
 -      setting current_buffer directly.  (Bug#2044)
 -
 -2009-01-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * fontset.c (fontset_font): If we know there is no font, don't do
 -      any work.  (Bug#1952, bug#1990).
 -
 -      * font.c (font_parse_xlfd): Handle patterns of length < 2.  (Bug#1802)
 -
 -2009-01-23  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * emacs.c (main): Do fork+exec under --daemon in Cocoa.
 -      (ns_no_defaults): New declaration.
 -      (main): Use it.
 -
 -      * nsterm.h (ns_no_defaults): New declaration.
 -
 -      * nsfns.m (x_get_string_resource): Don't read when ns_no_defaults.
 -
 -      * nsterm.m (ns_no_defaults): New variable.
 -      (ns_initialize): Don't read defaults when ns_no_defaults.
 -      (EmacsView-readSelectionFromPasteboard:)
 -      (writeSelectionToPasteboard:types:): New stubbed-out methods for
 -      NSServicesRequests protocol.  (Bug#1435)
 -      (ns_dumpglyphs_stretch): New function.
 -      (ns_draw_glyph_string): Use it, parallel Yamamoto Mitsuharu change
 -      of 2008-11-15 to other terms.  (Bug#615)
 -
 -      * nsimage.m (setPixmapData:): Set to ignore image DPI.
 -
 -2009-01-23  Giorgos Keramidas  <keramida@freebsd.org>  (tiny change)
 -
 -      * alloc.c (mark_stack): Use "flushw" instead of "ta 3" assembly
 -      call for Sparc64.
 -
 -2009-01-22  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfns.m:
 -      * nsgui.h:
 -      * nsmenu.m:
 -      * nsselect.m:
 -      * nsterm.h:
 -      * nsterm.m: Remove '23' comments that indicated code added during
 -      update from emacs-20 -> emacs-23.
 -
 -2009-01-22  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (EmavsView-keyDown:): Treat nil as Qnone for
 -      ns_alternate_modifier.  (Bug#1217)
 -
 -      * nsmenu.m (EmacsMenu-parseKeyEquiv:, addItemWithWidgetValue:):
 -      Display all shortcuts, including those w/o super modifier.
 -
 -      * nsfns.m (ns-read-file-name): Fix typo in assignment statement.
 -
 -2009-01-22  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * fileio.c (Vwrite_region_post_annotation_function)
 -      (Vwrite_region_annotation_buffers): New vars.
 -      (build_annotations_unwind): Just reset
 -      Vwrite_region_annotation_buffers.
 -      (Fwrite_region): Initialize Vwrite_region_annotation_buffers.
 -      Call write-region-post-annotation-function.
 -      (build_annotations): Add to Vwrite_region_annotation_buffers if
 -      buffer changes.
 -
 -2009-01-21  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.h (EmacsApp-setAppleMenu:): Conditionalize more correctly on
 -      Tiger.
 -      * nsfns.m (ns_do_applescript):
 -      Conditionalize typeUTF16ExternalRepresentation on Tiger.
 -
 -2009-01-21  Wolfgang Lux  <wolfgang.lux@gmail.com>  (tiny change)
 -
 -      * nsterm.m (EV_TRAILER): Always use emacsframe for frame_or_window.
 -
 -2009-01-21  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsmenu.m (NSMENUPROFILE): Change #if style.
 -
 -      * nsterm.h (EmacsPrefsController): Add -setPanelFromDefaultValues.
 -
 -      * nsterm.m (x_set_frame_alpha): Add prototype.
 -      (ns_fake_keydown, EmacsView-keyUp:): New variable and function to
 -      handle Ctrl-tab.  (Bug#1841)
 -      (ns_get_color): Use unsigned long long for scanned hex string value.
 -      (ns_term_shutdown): Abort on non SIGTERM signals.
 -      (EmacsPrefsController-setDefaultFont:,-setColors:): Raise the frame.
 -      (EmacsPrefsController-setPanelFromDefaultValues): New function.
 -      (EmacsPrefsController-resetToDefaults:): Use it.  (Bug#1801)
 -      (ns_font_to_xlfd, ns_fontname_to_xlfd): Remove, unused.
 -      (ns_defined_color): Fix settings of the XColor variable fields:
 -      red,green,blue scale to 2-byte, pixel's parts to 1-byte.  (Bug#1663)
 -
 -      * nsimage.m (EmacsImage+allocInitFromFile:): Set to ignore image
 -      DPI.  (Bug#1316)
 -      (EmacsImage-setPixelAtX:Y:toRed:green:blue:alpha:): Fix color
 -      values in onTiger section.
 -
 -2009-01-19  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (Finternal_set_lisp_face_attribute, Fx_list_fonts):
 -      Check return value of font_spec_from_name.
 -      (Fx_list_fonts): Doc fix.  (Bug#1951)
 -
 -      * font.c (font_spec_from_name): Return Qnil if font name could not
 -      be parsed.
 -      (font_parse_name): Treat a `?' character as part of an XLFD.
 -
 -      * fns.c (Fsubstring): Doc fix.
 -
 -2009-01-19  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_lookup_cache): Check the return value of FcFontList.
 -      (ftfont_list): Likewise.
 -
 -2009-01-18  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * dbusbind.c (Fdbus_register_signal):
 -      * process.c (conv_sockaddr_to_lisp):
 -      * w32fns.c (Fw32_battery_status): Use empty_unibyte_string.
 -
 -      * callproc.c (Fgetenv_internal): Doc fix.
 -
 -2009-01-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfns.c (x_make_gc): Don't allocate stipple member for gc_values;
 -      it is not even used.
 -
 -2009-01-16  Glenn Morris  <rgm@gnu.org>
 -
 -      * font.c (Ffont_variation_glyphs): Silence compiler.
 -
 -2009-01-15  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * sound.c (SOUND_WARNING): Use _snprintf, for MSVC compatibility.
 -      Reported by David Robinow <drobinow@gmail.com>.
 -
 -2009-01-15  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding_system): Fix handling of null_byte_found.
 -
 -2009-01-14  Jason Rumney  <jasonr@gnu.org>
 -
 -      * frame.c (x_set_font): Always store a font to the font parameter,
 -      never a fontset.  (Bug#1562)
 -
 -2009-01-14  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (TWO_MORE_BYTES): New macro.
 -      (detect_coding_utf_16): Use TWO_MORE_BYTES instead of ONE_MORE_BYTE.
 -
 -2009-01-13  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (font_clear_prop): If clearing the family, clear the font
 -      width index too.
 -
 -      * xfaces.c (Finternal_set_lisp_face_attribute): Revert last change.
 -
 -2009-01-12  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * sound.c [WINDOWSNT] (SOUND_WARNING): New macro.
 -      (do_play_sound): Use it.  Don't pass a hardcoded buffer size to mci
 -      functions, use sizeof.
 -
 -2009-01-12  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * keyboard.c (read_char): Fix case where last_nonmenu_event
 -      returned a bad value with submenus.  (Bug#447)
 -
 -2009-01-12  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (Finternal_set_lisp_face_attribute): If setting the
 -      family, clear the font width index too.
 -
 -2009-01-11  Jason Rumney  <jasonr@gnu.org>
 -
 -      * keyboard.c (cmd_error_internal): Exit when errors occur before
 -      frame creation and not in daemon mode.  (Bug#1836)
 -
 -2009-01-10  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (pos_visible_p): When iterator stops on the last glyph
 -      of a display vector, backtrack.
 -      (try_window_reusing_current_matrix): Check glyph type before
 -      referencing charpos member.
 -
 -2009-01-10  Eli Zaretskii  <eliz@gnu.org>
 -
 -      Fix Bug #876:
 -
 -      * coding.c (inhibit_null_byte_detection): New variable.
 -      (detect_coding, detect_coding_system): Don't pay attention to null
 -      bytes if inhibit_null_byte_detection is non-zero.
 -      (syms_of_coding) <inhibit-null-byte-detection>: Declare and document.
 -      <inhibit-iso-escape-detection>: Doc fix.
 -
 -2009-01-09  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (add_font_entity_to_list): Don't report unknown
 -      Windows charset as any unrecognized registry.  (Bug#1548)
 -      Only report Unicode Plane 2 fonts as unicode-sip.
 -
 -2009-01-09  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (Fx_font_family_list): Delete function.
 -      Move compatibility version to faces.el.
 -
 -      * font.c (Ffont_family_list): Return a list of strings, not symbols.
 -
 -2009-01-09  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * frame.c (x_set_frame_parameters): Remember requested value for
 -      fullscreen before it's reset by the parameter handler.
 -
 -2009-01-09  Glenn Morris  <rgm@gnu.org>
 -
 -      * keyboard.c (last_command_char): For clarity, rename to...
 -      (last_command_event): ... and update all users.
 -      (last_input_char): For clarity, rename to...
 -      (last_input_event): ... and update all users.
 -      (last-command-char, last-input-char): Move to subr.el as aliases.
 -      * cmds.c, commands.h: Update for last_command_char rename.
 -
 -2009-01-08  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (font_open_for_lface): Handle unspecified height attribute.
 -
 -2009-01-08  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (Vx_pointer_shape, Vx_nontext_pointer_shape)
 -      (Vx_mode_pointer_shape, Vx_window_horizontal_drag_shape)
 -      (Vx_hourglass_pointer_shape, Vx_sensitive_text_pointer_shape):
 -      Don't declare.
 -      (syms_of_w32fns): Don't define x-pointer-shape variable.  (Bug#1485)
 -      (x_create_tip_frame) [GLYPH_DEBUG]: Enable image debugging code.
 -
 -2009-01-07  Kenichi Handa  <handa@m17n.org>
 -
 -      * fileio.c (Finsert_file_contents): In the case of replace,
 -      remember the coding system used for decoding in
 -      coding_system (Bug#1039).
 -
 -      * coding.c (decode_coding_utf_8): Check byte_after_cr before
 -      breaking the loop.  (Bug#870)
 -      (decode_coding_utf_16, decode_coding_emacs_mule)
 -      (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5)
 -      (decode_coding_charset): Likewise.
 -
 -2009-01-05  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * frame.c (x_set_frame_parameters): Make sure height (width) get
 -      applied when fullwidth (fullheight) is set.  (Bug#1522)
 -
 -2009-01-04  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32.c: Use 64-bit arithmetic to do FILETIME conversions.  (Bug#1766)
 -      (utc_base): Declare as ULONGLONG, not long double.
 -      (convert_time_raw): Delete.
 -      (FILETIME_TO_U64, U64_TO_LISP_TIME): New macros.
 -      (initialize_utc_base): New function.
 -      (convert_time): Use FILETIME_TO_U64, initialize_utc_base.
 -      (convert_from_time_t): Use initialize_utc_base; compute result with
 -      64-bit arithmetic.
 -      (process_times): Use FILETIME_TO_U64, U64_TO_LISP_TIME.
 -
 -2009-01-03  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * process.c (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)
 -      [!subprocesses]: Define.
 -      (syms_of_process) [!subprocesses]: Intern and staticpro them.
 -      (Flist_system_processes, Fsystem_process_attributes)
 -      [!subprocesses]: Call list_system_processes and
 -      system_process_attributes instead of returning Qnil.
 -
 -      * dosfns.c (system_process_attributes, list_system_processes):
 -      New functions.
 -
 -      * vm-limit.c (ret_lim_data) [MSDOS]: New function.
 -
 -      * sysdep.c (list_system_processes, system_process_attributes) [MSDOS]:
 -      Don't use the default (no-op) implementation.
 -
 -2009-01-03  Jason Rumney  <jasonr@gnu.org>
 -
 -      * keyboard.c (parse_modifiers_uncached): Wheel events are
 -      clicks (bug#687).
 -
 -      * w32term.c (x_query_colors, x_query_color): New functions.
 -
 -      * image.c (x_to_xcolors, png_load): Eliminate W32 specific code.
 -      (svg_load_image): Cast returned pointers from dynamically loaded
 -      functions.  Eliminate W32 specific code.
 -
 -2009-01-02  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * nsfns.m (x_set_foreground_color, x_set_background_color)
 -      (x_set_cursor_color, x_set_icon_name, x_explicitly_set_name)
 -      (x_set_title, x_set_icon_type, x_set_cursor_type): Rename to use
 -      x_ prefix instead of ns_.  Update references.
 -      (syms_of_nsfns): Add a FIXME comment.
 -
 -      * nsterm.m (x_set_cursor_type): New prototype.
 -      (setValuesFromPanel): Use it instead of the old ns_ prefixed name.
 -
 -      * sysdep.c (system_process_attributes): Provide Qtime and Qctime
 -      for Solaris instead of incorrectly providing Qutime and Qcutime.
 -
 -2009-01-02  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * w32.c (process_times): Compute sum of utime and stime.
 -      (system_process_attributes): Add Qtime to the alist.
 -
 -      * sysdep.c (system_process_attributes): Compute Qtime and Qctime
 -      and add them to the alist.
 -
 -      * process.c (top level) <Qtime, Qctime>: New variables.
 -      (syms_of_process): staticpro them.
 -      (Fsystem_process_attributes): Add their documentation to the doc
 -      string.
 -
 -      * process.h: Declare Qtime and Qctime.
 -
 -2009-01-02  Jason Rumney  <jasonr@gnu.org>
 -
 -      * image.c (Qgobject): New symbol.
 -      (syms_of_image): Initialize it.
 -      (init_svg_functions): Load some functions from gobject library.
 -
 -2009-01-01  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * frame.c (make_terminal_frame): Remove redundant code and useless
 -      block.
 -
 -2009-01-01  Andreas Schwab  <schwab@suse.de>
 -
 -      * process.c (conv_sockaddr_to_lisp): Add workaround for
 -      getsockname bug on BSD.
 -
 -2009-01-01  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfns.c (x_create_tip_frame): Set border width of the X window.
 -
 -      * xfaces.c (Finternal_set_lisp_face_attribute): Improve error message.
 -
 -2009-01-01  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32term.c (x_new_font): Return font object, not fontset.  (Bug#119)
 -      Don't block input, as per earlier xterm.c changes.
 -
 -2008-12-31  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfns.m (ns_appkit_version_str): Rename from ns_appkit_version.
 -      (ns_appkit_version_int): New function.
 -      (x-server-version): Use ns_appkit_version_int and follow 21+
 -      convention of returning 3 integers.
 -
 -2008-12-30  Kenichi Handa  <handa@m17n.org>
 -
 -      * character.h (CHAR_VARIATION_SELECTOR_P): New macro.
 -      (CHAR_SURROGATE_PAIR_P): New macro.
 -
 -      * font.h (struct font_driver): New member get_variation_glyphs.
 -
 -      * font.c (font_range): Don't require a font for a variation selector.
 -      (Ffont_variation_glyphs): New function.
 -      (syms_of_font): Defsubr it.
 -
 -      * ftfont.c (ftfont_driver): Set the member get_variation_glyphs to
 -      ftfont_variation_glyphs.
 -      (setup_otf_gstring): New function.
 -      (ftfont_drive_otf): Use it.
 -      (ftfont_shape_by_flt): Handle variation selector.
 -      (ftfont_variation_glyphs): New function.
 -
 -2008-12-30  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * frame.c (Vemacs_iconified): Remove.
 -
 -2008-12-30  Jason Rumney  <jasonr@gnu.org>
 -
 -      * frame.c (store_frame_param, x_get_arg): Enable newer code on
 -      WINDOWSNT too, as related changes have already been synced.  (Bug#117)
 -
 -2008-12-30  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * indent.c (Fvertical_motion): Don't advance iterator if we have
 -      reseated to the desired position.
 -
 -      * xdisp.c (move_it_to): Handle GET_FROM_STRETCH method when
 -      checking for pos match.
 -
 -2008-12-30  Kenichi Handa  <handa@m17n.org>
 -
 -      * insdel.c (copy_text): To convert a non-ASCII char to unibyte,
 -      just get the low 8-bit of the code.
 -
 -      * font.c (font_intern_prop): Validate str as multibyte.
 -
 -2008-12-29  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * dispextern.h (struct face): Move lface and hash from the middle
 -      of bitfields.
 -
 -      * Makefile.in (INTERVALS_H): Rename from INTERVAL_SRC, update all users.
 -
 -2008-12-29  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * Makefile.in (INTERVAL_SRC): Also depend on dispextern.h.
 -      (coding.o, dispnew.o, keymap.o, msdos.o): Depend on INTERVAL_SRC
 -      instead of intervals.h.
 -
 -2008-12-26  Andreas Schwab  <schwab@suse.de>
 -
 -      * keymap.c (map_keymap_char_table_item): Make a copy of KEY if it is a
 -      cons.
 -
 -2008-12-26  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * textprop.c (Qminibuffer_prompt): New variable.
 -      (syms_of_textprop): Initialize it.
 -      * callint.c (Fcall_interactively): For `c', `k', and `K' prompt
 -      in minibuffer-prompt face.  (Bug#1662)
 -
 -2008-12-25  Jason Rumney  <jasonr@gnu.org>
 -
 -      * buffer.c (Fbuffer_swap_text): Use POINTER_TYPE.
 -
 -2008-12-24  Jason Rumney  <jasonr@gnu.org>
 -
 -      * ralloc.c (r_alloc_reset_variable): New function.
 -
 -      * buffer.c (Fbuffer_swap_text) [REL_ALLOC]: Reset ralloc's internal
 -      record of what points where.  (Bug#716)
 -
 -2008-12-22  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * minibuf.c (read_minibuf): Follow the non-interactive case when
 -      running as a daemon, before detaching.
 -
 -2008-12-22  Andreas Schwab  <schwab@suse.de>
 -
 -      * buffer.c (init_buffer): Use realloc instead of xrealloc.
 -      * gtkutil.c (free_widget_value): Use xfree instead of free.
 -
 -2008-12-22  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * frame.c (delete_frame): New function derived from
 -      Fdelete_frame to handle Qnoelisp value for FORCE argument.
 -      Delete last frame iff FORCE equals Qnoelisp.  (Bug#1450)
 -      (Fdelete_frame): Call delete_frame.  Remove line from doc-string
 -      saying that FORCE non-nil doesn't run `delete-frame-functions'.
 -      * frame.h: Extern delete_frame.
 -      * window.c (window_loop):
 -      * terminal.c (delete_terminal):
 -      * xterm.c (x_connection_closed):
 -      * xfns.c (Fx_hide_tip):
 -      * w32fns.c (Fx_hide_tip): Call delete_frame instead of Fdelete_frame.
 -
 -2008-12-21  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32uniscribe.c (uniscribe_encode_char): Return FONT_INVALID_CHAR
 -      when character maps to .notdef character.
 -
 -2008-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * keyboard.c (cmd_error_internal): Don't exit in daemon mode, bug#1310.
 -
 -2008-12-20  Jason Rumney  <jasonr@gnu.org>
 -
 -      * frame.c (Fmake_terminal_frame): Raise an error when called from
 -      a graphical frame on Windows.  (Bug#1325)
 -
 -2008-12-20  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * frame.c (Fdelete_frame): Set f->menu_bar_vector to Qnil.
 -
 -2008-12-20  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * minibuf.c (Fread_buffer): Doc fix.
 -
 -2008-12-20  Jason Rumney  <jasonr@gnu.org>
 -
 -      * fileio.c (Fexpand_file_name): Do not allow ../ to go beyond the
 -      server name in UNC paths.  (Bug#719)
 -
 -      * coding.c (decode_coding): Clear chars_at_source flag when using
 -      charbuf.  (Bug#1035)
 -
 -2008-12-19  Daniel Engeler  <engeler@gmail.com>
 -
 -      * sysdep.c (serial_configure): Fix typo.
 -
 -2008-12-19  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * sysdep.c: Include alloca.h.
 -      (system_process_attributes): Add implementation for Solaris.
 -
 -      * s/sol2-10.h (HAVE_PROCFS, _STRUCTURED_PROC): New defines.
 -
 -2008-12-19  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      Reorganize implementation of Flist_system_processes and
 -      Fsystem_process_attributes.  No functional changes.
 -      * process.c: Don't #include pwd.h, grp.h and limits.h.
 -      (Flist_system_processes): Just call list_system_processes.
 -      (Fsystem_process_attributes): Just call system_process_attributes.
 -      (procfs_list_system_processes, time_from_jiffies)
 -      (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
 -      (procfs_get_total_memory, procfs_system_process_attributes): Move ...
 -
 -      * sysdep.c: ... here.  Include pwd.h, grp.h and limits.h.
 -      (list_system_processes): Rename from
 -      procfs_list_system_processes.  Enclose in #ifdef HAVE_PROCFS.
 -      Provide a do nothing implementation.
 -      (system_process_attributes): Rename from
 -      procfs_list_system_processes.
 -      (ltime_from_jiffies, get_up_time, procfs_ttyname, MAJOR, MINOR)
 -      (procfs_get_total_memory): Enclose in #ifdef GNU_LINUX.
 -
 -      * w32.c (list_system_processes): Rename from
 -      w32_list_system_processes.
 -      (system_process_attributes): Rename from
 -      w32_system_process_attributes.
 -
 -      * s/gnu-linux.h (LISTPROC, PROCATTR): Remove.
 -
 -      * process.h (w32_list_system_processes)
 -      (w32_system_process_attributes): Remove.
 -      (list_system_processes, system_process_attributes):
 -      New prototypes.
 -
 -2008-12-19  Kenichi Handa  <handa@m17n.org>
 -
 -      * xfont.c (xfont_decode_coding_xlfd): New function.
 -      (xfont_encode_coding_xlfd): New function.
 -      (xfont_list_pattern): Decode XLFD by iso-8859-1.
 -      (xfont_list): Decode and encode XLFD by iso-8859-1.
 -      (xfont_match): Likewise.
 -      (xfont_list_family): Likewise.
 -      (xfont_open): Likewise.
 -
 -      * ftfont.c (ftfont_open): Generate a multibyte string if given
 -      names are utf-8.
 -
 -      * xftfont.c (xftfont_open): Generate a multibyte string if given
 -      names are utf-8.
 -
 -2008-12-18  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * gtkutil.c (xg_frame_resized): Remove check if rows/columns have
 -      changed.
 -      (xg_tool_bar_proxy_callback): Put focus on the frame after we have
 -      clicked on a detached tool bar button.
 -
 -2008-12-18  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * emacs.c (main): Print and error and exit when no data is read
 -      from the pipe.
 -
 -2008-12-17  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_has_char): Always return -1.
 -
 -2008-12-16  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_open_entity): Fix previous change.
 -
 -2008-12-16  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * process.c: Include <limits.h>.
 -
 -2008-12-16  Chetan Pandya  <pandyacus@sbcglobal.net>  (tiny change)
 -
 -      * font.c (font_update_drivers): Fix mistake in reconstructing the
 -      driver list.
 -
 -2008-12-16  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (font_clear_cache): Fix format of font cache data.
 -
 -2008-12-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xftfont.c (xftfont_open): Free Xft font pattern if
 -      XftFontOpenPattern fails.
 -
 -      * xterm.c (x_free_frame_resources): Remove extraneous call to
 -      free_frame_faces.
 -
 -2008-12-13  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xterm.c (x_delete_display): Move xim_close_dpy call to
 -      x_delete_terminal.
 -      (x_delete_terminal): Call xim_close_dpy.
 -
 -2008-12-13  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (intern_font_name): New function.
 -      (add_font_name_to_list, w32_enumfont_pattern_entity): Use it.
 -      (w32font_open_internal, Fx_select_font): Decode font name.
 -      (fill_in_logfont, list_all_matching_fonts): Encode font name.
 -
 -      * w32font.h (intern_font_name): Declare new function.
 -
 -      * w32uniscribe.c (add_opentype_font_name_to_list):
 -      Use intern_font_name.
 -
 -2008-12-13  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * frame.c (Fdelete_frame): Call free_font_driver_list.
 -
 -      * font.c (free_font_driver_list): Implement missing function.
 -
 -      * w32term.c (w32_term_init): Don't initialize the image cache
 -      here; it will be done in init_frame_faces.
 -
 -      * xterm.h (struct xim_inst_t): Definition moved from xterm.c.
 -      (struct x_display_info): Remove unused member null_pixel.  New
 -      member xim_callback_data.
 -
 -      * xterm.c (struct xim_inst_t): Definition moved to xterm.h.
 -      (xim_initialize): Save pointer to callback function data.
 -      (xim_close_dpy): Free callback function data.  Call XCloseIM,
 -      reverting 2008-11-04 change by David Smith.
 -      (x_term_init): Don't initialize the image cache here; it will be
 -      done in init_frame_faces.  Remove ancient "null_pixel" cruft.
 -      (x_delete_display): Free x_dnd_atoms member.
 -
 -2008-12-13  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_rescale_ratio): Moved from xfaces.c.
 -      Argument type changed.  Handle a font-spec too.
 -      (font_score): Check Vface_font_rescale_alist.
 -      (font_open_entity): Likewise.  (Bug#1547)
 -
 -      * xfaces.c (font_rescale_ratio): Moved to font.c.
 -
 -2008-12-13  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfns.c (Fx_wm_set_size_hint): Check if the frame is an X frame.
 -
 -2008-12-12  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32fns.c (x_display_info_for_name, Fx_open_connection): Set
 -      Vwindow_system_version to the real w32 major version.
 -
 -2008-12-12  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * term.c (init_tty): Move setting the terminal name before the
 -      potential user: maybe_fatal.
 -
 -2008-12-11  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * term.c (tty_free_frame_resources): Renamed from delete_tty_output;
 -      all callers changed.  Call free_frame_faces to free the face cache.
 -
 -2008-12-11  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (fill_in_logfont): Don't assume symbol script means
 -      SYMBOL_CHARSET.  (Bug#547)
 -
 -      * w32uniscribe.c (uniscribe_encode_char): Increase glyph buffer
 -      size for surrogates.  (Bug#1096, bug#872)
 -
 -2008-12-11  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32proc.c (Fw32_get_locale_info): Decode long form of locale name.
 -
 -2008-12-11  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * process.c (Fsystem_process_attributes, syms_of_process):
 -      Fix typo in name of Ssystem_process_attributes.
 -      Reported by Ulrich Mueller <ulm@kph.uni-mainz.de>.
 -
 -2008-12-11  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * syntax.c (Fmodify_syntax_entry): Doc fix.
 -
 -2008-12-10  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * font.c (Ffont_spec): Move usage to end of docstring.
 -
 -2008-12-10  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (Qcham): New symbol.
 -      (font_supported_scripts): Add cham, and comments for other new
 -      scripts in bitfield from OpenType spec.
 -      (add_font_entity_to_list): Limit unicode-sip fonts to those that
 -      contain characters beyond the bmp.
 -
 -2008-12-10  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (fc_charset_table): Add "unicode-sip".
 -      (ftfont_spec_pattern): Lookup fc_charset_table for the registry
 -      Qunicode_sip.
 -
 -2008-12-10  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * coding.c (QCdefault_char): Rename from QCdefalut_char.
 -      (Fcoding_system_put): Use QCdefault_char.
 -      (syms_of_coding): Set QCdefault_char, not QCdefalut_char.
 -
 -2008-12-09  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xftfont.c (syms_of_xftfont): Fix typo.
 -
 -      * buffer.c (Fbuffer_swap_text): Signal error if swapping a dead buffer.
 -
 -2008-12-08  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * emacs.c (main): Close daemon_pipe on exec.
 -
 -2008-12-08  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * termchar.h (struct tty): New members termcap_term_buffer and
 -      termcap_strings_buffer.
 -
 -      * term.c (encode_terminal_code): Free any previous memory blocks
 -      before calling xmalloc for encode_terminal_src or encode_terminal_dst.
 -      (maybe_fatal): Buffer argument deleted.  Don't free buffer here.
 -      All callers changed.
 -      (init_tty): Store termcap data and string buffers in new struct
 -      tty members termcap_term_buffer and termcap_strings_buffer.
 -      (delete_tty): Free them.
 -      (syms_of_term): Initialize encode_terminal_src and encode_terminal_dst.
 -
 -2008-12-07  Seiji Zenitani  <zenitani@mac.com>
 -
 -      * nsfns.m (ns_set_background_color): Remove code duplication.
 -      It was a substitute for face-transparency on OS X 10.3.
 -
 -2008-12-06  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * coding.c (make_conversion_work_buffer): Disable buffer
 -      modification hooks in the work buffer.
 -
 -2008-12-05  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * process.c (procfs_system_process_attributes): If `nread' has a
 -      negative value, assign zero to it.
 -
 -2008-12-05  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * eval.c (Vdebug_on_error): Doc fix.
 -
 -2008-12-05  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_shape_by_flt): Use "combining" flt if the
 -      second character is a combining character.
 -
 -2008-12-05  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * process.c (procfs_system_process_attributes): Don't use cmd,
 -      cmdsize, and q without initializing them first.
 -
 -2008-12-04  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_draw): Initialize orig_clip before getting
 -      it, and delete it when finished.
 -
 -2008-12-04  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * keyboard.c (kbd_buffer_get_event): Follow the non-interactive
 -      case when running as a daemon before detaching.
 -
 -2008-12-03  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32.c (init_environment): Don't unload library shell32.dll.
 -
 -2008-12-03  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_at): Set `multibyte' at first.
 -
 -      * coding.c (decode_coding_charset): Check type of an element of
 -      vector VALIDS.
 -      (encode_coding_emacs_mule): Be sure to set `code'.
 -
 -      * fontset.c (face_for_char): Handle invalid charset property correctly.
 -      (font_for_char): Likewise.
 -
 -2008-12-03  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * font.c (Fopen_font): Compute pixel size correctly.
 -      (font_update_lface): Handle fonts with corrupted size specs,
 -      i.e. non-int and non-float.
 -
 -      * ftfont.c (ftfont_match): Initialize entity variable.
 -      (ftfont_resolve_generic_family): Avoid using uninitialized var.
 -      (ftfont_list_family): Initialize list var earlier.
 -
 -      * xselect.c (Fx_get_cut_buffer_internal): Fix memory leak.
 -
 -      * xterm.c (x_draw_glyph_string): Fall back on
 -      underline_minimum_offset for underline position.
 -
 -2008-12-03  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * keyboard.c (read_char_help_form_unwind): Specify the type for ARG.
 -
 -      * character.c (c_string_width): Specify the type for LEN.
 -
 -2008-12-03  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (decode_coding_utf_16): Initialize consumed_chars_base to 0.
 -      (decode_coding_utf_8): Likewise.
 -      (detect_coding_system): Initialize utf_16_le_eol to -1, val to Qnil.
 -      (produce_chars): Initialize consumed_chars to 0.
 -
 -2008-12-02  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (make_lispy_position): Only use PT if the selected
 -      window is current.
 -
 -2008-12-02  Andreas Schwab  <schwab@suse.de>
 -
 -      * font.c (font_unparse_fcname): Fix use of uninitialized variable.
 -
 -      * doprnt.c (doprnt1): Fix size of charbuf.
 -
 -2008-12-02  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (timer_check): Revert last change.
 -
 -2008-12-02  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * makefile.w32-in ($(BLD)/w32console.$(O)): Fix silly, silly typo.
 -
 -2008-12-01  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * makefile.w32-in: Update dependencies.
 -      (CONFIG_H): Add $(EMACS_ROOT)/nt/inc/sys/time.h.
 -
 -2008-12-01  Andreas Schwab  <schwab@suse.de>
 -
 -      * font.c (register_font_driver): Use xmalloc.
 -      (font_put_frame_data): Likewise.
 -
 -2008-12-01  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfaces.c (realize_x_face): Make abort condition clearer.
 -
 -      * gtkutil.c (update_frame_tool_bar): Initialize variable.
 -
 -2008-11-30  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (timer_check): After a timer runs, ensure that the
 -      selected window's buffer is current.
 -
 -2008-11-30  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * makefile.w32-in ($(BLD)/abbrev.$(O)): Remove.
 -      It was accidentally restored by the Unicode merge.
 -
 -      * w32proc.c (Fw32_get_locale_info): Fix typo in docstring.
 -
 -2008-11-29  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32proc.c: Include "coding.h".
 -      (Fw32_short_file_name): Encode filename passed to Windows API.
 -      (Fw32_long_file_name): Encode filename passed to Windows API and
 -      decode back the result.  (Bug#1433)
 -
 -2008-11-29  Kenichi Handa  <handa@m17n.org>
 -
 -      * charset.h (CHAR_CHARSET_P): Check if the encoder is loaded or
 -      not before accessing it.
 -
 -      * charset.c (Fdefine_charset_internal): After calculating
 -      min_char, max_char, and fastmap, copy the charset structure again.
 -      (encode_char): Fix the previous change.
 -
 -2008-11-28  Seiji Zenitani  <zenitani@mac.com>
 -
 -      * frame.c (x_set_alpha) [NS_IMPL_COCOA]: Call x_set_frame_alpha.
 -
 -      * nsfns.m (ns_frame_parm_handlers): Set alpha handler.
 -
 -      * nsterm.m (x_set_frame_alpha): New function.
 -
 -2008-11-27  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * xfaces.c (Fx_font_family_list, syms_of_xfaces): Fix last change.
 -
 -2008-11-27  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32font.c (add_font_entity_to_list): Pass the right LOGFONT
 -      pointer to check_face_name.
 -
 -2008-11-27  Kenichi Handa  <handa@m17n.org>
 -
 -      * category.h (SET_CATEGORY_SET): Call set_category_set.
 -      (set_category_set): Extern it.
 -
 -      * category.c (hash_get_category_set): New function.
 -      (Fmodify_category_entry): Adjusted for the change of
 -      char_table_ref_and_range.  Call hash_get_category_set to get a
 -      category set to store in the table.
 -
 -      * character.h (MAYBE_UNIFY_CHAR): Call maybe_unify_char instead of
 -      Funify_charset.
 -
 -      * charset.h (enum charset_method): Delete CHARSET_METHOD_MAP_DEFERRED.
 -      (DECODE_CHAR): Check if the decoder vector is ready.
 -      (ENCODE_CHAR): Check if the encoder char-table is ready.
 -      (maybe_unify_char): Extern it.
 -
 -      * charset.c (Vchar_unified_charset_table): Delete it.
 -      (inhibit_load_charset_map): New variable.
 -      (temp_charset_work): New variable.
 -      (SET_TEMP_CHARSET_WORK_ENCODER, GET_TEMP_CHARSET_WORK_ENCODER)
 -      (SET_TEMP_CHARSET_WORK_DECODER, GET_TEMP_CHARSET_WORK_DECODER):
 -      New macros.
 -      (load_charset_map): Meaning of control_flag changed.  If
 -      inhibit_load_charset_map is nonzero, setup a table in
 -      temp_charset_work.
 -      (load_charset): New argument control_flag.
 -      (map_charset_for_dump): New function.
 -      (map_charset_chars): If inhibit_load_charset_map is nonzero, use
 -      map_charset_for_dump.
 -      (Fdefine_charset_internal): If the charset method is MAP, load
 -      mapping tables by calling load_charset.
 -      (Funify_charset): Don't load a mapping table but directly set
 -      Vchar_unify_table.
 -      (maybe_unify_char): New function.
 -      (decode_char): Don't handle the deleted method MAP_DEFERRED.
 -      Handle the case of inhibit_load_charset_map being nonzero.
 -      (encode_char): Don't handle the deleted method MAP_DEFERRED.
 -      Handle the case of inhibit_load_charset_map being nonzero.
 -      (Fclear_charset_maps): Just free temp_charset_work.
 -      (syms_of_charset): Make `inhibit-load-charset-map' a Lisp
 -      variable.
 -
 -      * chartab.c (sub_char_table_ref_and_range): Adjusted for the
 -      change of char_table_ref_and_range.
 -      (char_table_ref_and_range): Change the meaning of argument FROM
 -      and TO.  Now the caller must provide initial values for *FROM
 -      and *TO.
 -
 -      * fontset.c (fontset_add): Adjusted for the change of
 -      char_table_ref_and_range.
 -      (fontset_get_font_group): Likewise.
 -      (Ffontset_info): Likewise.
 -
 -      * keymap.c (describe_vector): Adjusted for the change of
 -      char_table_ref_and_range.  For char-table, put boundary between
 -      non-ASCII and 8-bit characters.
 -
 -      * print.c (print_object): For bool-vector, delete unnecessary
 -      check of ASCII_BYTE_P.
 -
 -2008-11-26  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (w32font_open_internal): Don't include external
 -      leading in font height.  (Bug#879)
 -
 -2008-11-26  Glenn Morris  <rgm@gnu.org>
 -
 -      * xfaces.c (Fx_font_family_list): Replace lisp/term/pc-win.el
 -      redefinition with ifdef.  (Bug#1383)
 -
 -2008-11-24  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsterm.m (ns_get_color): Handle long hex strings (fixes bug #1044).
 -
 -2008-11-24  Wolfgang Lux  <wolfgang.lux@gmail.com>  (tiny change)
 -
 -      * nsterm.m (-otherMouseDown:, -otherMouseUp:, -otherMouseDragged):
 -      New EmacsView methods.
 -      (EV_UDMODIFIERS, EV_BUTTON): Add OtherMouse constants.
 -      Fixes bug #1048,1357,1414.
 -
 -2008-11-24  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      Fix bug #1362.
 -      * image.c (x_clear_image_1): Do not free background under HAVE_NS, it
 -      is not an indexed color.
 -      * nsterm.m (free_indexed_color): Add argument checking.
 -      * nsfns.m: Move config.h to before system includes (advised by Dan N.).
 -
 -2008-11-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * minibuf.c (Fcompleting_read, Vminibuffer_completion_confirm):
 -      Document confirm-after-completion value for
 -      minibuffer-completion-confirm.
 -
 -2008-11-24  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32font.c (check_face_name): Use xstrcasecmp.  Avoid compiler
 -      warning.
 -
 -2008-11-23  Jason Rumney  <jasonr@gnu.org>
 -
 -      * w32uniscribe.c (uniscribe_encode_char): Ensure context is
 -      restored before returning.
 -
 -      * w32font.c (check_face_name): New function.
 -      (add_font_entity_to_list): Use it to filter out common substituted
 -      fonts.  (Bug#642)
 -
 -2008-11-22  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * buffer.c (Fswitch_to_buffer): Reword and mention new option
 -      confirm-nonexistent-file-or-buffer in doc-string.
 -
 -2008-11-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * buffer.c (Fbuffer_swap_text): Remove redundant marker manipulation.
 -      Fix copy/paste typo.  Add checks.
 -
 -2008-11-21  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding_iso_2022): Reject invalid composition
 -      sequence.
 -      (DECODE_COMPOSITION_START): If the current source is the last
 -      block, and the current composition doesn't end, regard this
 -      sequence as invalid.
 -      (decode_coding_iso_2022): Handle invalid composition sequence.
 -
 -2008-11-20  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (coordinates_in_window): Don't return
 -      ON_VERTICAL_BORDER for the rightmost position of a mode/header
 -      line when the window is not the rightmost one.  (Bug#1372)
 -
 -2008-11-16  Ben North  <ben@redfrontdoor.org>  (tiny change)
 -
 -      * buffer.c (syms_of_buffer): Fix doc-string of cursor-type.
 -
 -2008-11-15  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * msdos.c (run_msdos_command): Don't call dos_ttcooked, dos_ttraw,
 -      and bright_bg if noninteractive is non-zero.
 -
 -2008-11-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 -
 -      * xterm.c (x_draw_glyph_string): For stretch glyphs, don't call
 -      x_draw_glyph_string_background.
 -
 -      * w32term.c (x_draw_glyph_string): Likewise.
 -
 -2008-11-15  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xterm.c (x_draw_glyph_string): Stop drawing the background of
 -      the next glyph string once past the overhang width.
 -
 -      * nsterm.m (ns_draw_glyph_string): Likewise.
 -
 -      * w32term.c (x_draw_glyph_string): Likewise.
 -
 -2008-11-14  Fabrice Popineau  <fabrice.popineau@supelec.fr>  (tiny change)
 -
 -      * fileio.c (Finsert_file_contents): Decrement specpdl_ptr to avoid
 -      double file close.
 -
 -2008-11-14  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (window_loop): In DELETE_BUFFER_WINDOWS case, reset
 -      dedicated status of window before attempting to display another
 -      buffer in it.
 -
 -2008-11-14  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * msdos.c (Fmsdos_long_file_names):
 -      (syms_of_msdos) <dos-unsupported-char-glyph>:
 -      * dosfns.c (Fint86): Fix typos in docstrings.
 -
 -2008-11-14  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * makefile.w32-in (OBJ1, WIN32OBJ): Fix whitespace.
 -
 -2008-11-14  Katsumi Yamaoka  <yamaoka@jpl.org>
 -
 -      * puresize.h (BASE_PURESIZE): Increase to 1260000.
 -
 -2008-11-12  Michal Nazarewicz  <mina86@tlen.pl>  (tiny change)
 -
 -      * frame.c (x_set_alpha): Set alpha to -1 if nil given.
 -
 -      * frame.h: Negative alpha means "don't touch".
 -
 -      * w32term.c (x_set_frame_alpha): Do nothing if alpha is negative.
 -
 -      * xterm.c (x_set_frame_alpha): Do nothing if alpha is negative.
 -
 -2008-11-12  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * hftctl.c:
 -      * chpdef.h:
 -      * acldef.h: Remove files used only for systems no longer supported.
 -
 -      * Makefile.in: Fix .o alphabetical ordering.
 -      (hftctl.o): Remove dependency, file removed.
 -      (keymap.o, print.o): Depend on charset.h.
 -
 -2008-11-10  Kenichi Handa  <handa@m17n.org>
 -
 -      * character.c (Fget_byte): Fix and make it faster for unibyte target.
 -
 -2008-11-08  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * dired.c (file_name_completion): If completion_ignore_case is
 -      enabled, ignore case when checking completion-regexp-list.
 -
 -2008-11-08  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * vm-limit.c (get_lim_data): Fix last change.
 -
 -2008-11-08  Kenichi Handa  <handa@m17n.org>
 -
 -      * character.c (Fget_byte): New function.
 -      (syms_of_character): Defsubr Fget_byte.
 -
 -2008-11-07  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (try_window_reusing_current_matrix): Ensure that window
 -      cursor position is valid after scrolling.
 -
 -2008-11-06  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * fns.c (Frandom): Rename arg N to LIMIT to match the docs; doc fix.
 -
 -2008-11-06  Glenn Morris  <rgm@gnu.org>
 -
 -      * xterm.c (handle_one_xevent): Don't let popup menus cause
 -      mouse-autoselect-window related window switching.  (Bug#1261)
 -
 -2008-11-04  David Smith  <davidsmith@acm.org>  (tiny change)
 -
 -      * xterm.c (xim_close_dpy): Avoid double-free on X11R6 XIM.
 -
 -2008-11-04  Andreas Schwab  <schwab@suse.de>
 -
 -      * xfns.c (Fx_wm_set_size_hint): Add missing return value.
 -
 -2008-11-03  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xfns.c (Fx_wm_set_size_hint): New function.
 -
 -2008-11-03  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * textprop.c (Fprevious_single_char_property_change): Return 0
 -      when there's no change in a string.  (Bug#1301)
 -
 -2008-11-02  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * frame.c (do_switch_frame): New argument NORECORD passed to
 -      Fselect_window.
 -      (Fselect_frame): New argument NORECORD passed to
 -      do_switch_frame.
 -      (Fset_frame_selected_window): New argument NORECORD passed to
 -      Fselect_frame.
 -      (Fhandle_switch_frame, Fdelete_frame): Handle NORECORD argument
 -      in call of do_switch_frame.
 -      (Fset_mouse_position, Fset_mouse_pixel_position, Fraise_frame):
 -      Handle NORECORD argument in call of Fselect_frame.
 -      * lisp.h (do_switch_frame, Fselect_frame)
 -      (Fset_frame_selected_window): Adjust declarations.
 -      * window.c (select_frame_norecord): New function.
 -      (run_window_configuration_change_hook): Use it and call
 -      Fselect_frame with NORECORD set.
 -      (Fselect_window): Pass NORECORD to Fselect_frame.
 -      (Fset_window_configuration): Handle NORECORD argument in call of
 -      do_switch_frame.
 -      * minibuf.c (choose_minibuf_frame): Handle NORECORD in call of
 -      Fset_frame_selected_window.
 -      * keyboard.c (command_loop_1): Handle NORECORD in call of
 -      Fselect_frame (currently ifdefd).
 -
 -2008-11-02  Ulrich Mueller  <ulm@kph.uni-mainz.de>
 -
 -      * emacs.c (USAGE2): Untabify.
 -
 -2008-11-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * composite.c (fill_gstring_header): Fix copy/paste typo.
 -
 -2008-10-31  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (Fnext_window, Fprevious_window): Rewrite doc-string.
 -      (Fother_window): Rename argument and rewrite doc-string.
 -      (select_window_norecord): Fix return value.  (Bug#1276)
 -
 -2008-10-30  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32fns.c (x_create_tip_frame): Prevent default foreground color for
 -      new frames overriding foreground for tooltips.  Based on similar patch
 -      from Martin Rudalics <rudalics@gmx.at>.  (Bug#1032)
 -
 -2008-10-29  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * emacs.c (Fdaemon_initialized): Initialize nfd.
 -
 -2008-10-29  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (Fwindow_height, Fdelete_window, set_window_buffer)
 -      (Fwindow_text_height): Clarify doc-strings.
 -      * xdisp.c (syms_of_xdisp): Mention set-window-buffer in
 -      doc-string of window-scroll-functions.
 -
 -2008-10-28  Reiner Steib  <Reiner.Steib@gmx.de>
 -
 -      * category.c (syms_of_category): Fix typo in docstring.
 -
 -2008-10-28  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * window.c (Fwindowp, Fwindow_live_p, Fwindow_minibuffer_p)
 -      (Fcoordinates_in_window_p, Fscroll_left, Fscroll_right):
 -      Fix typos in docstrings.
 -
 -2008-10-28  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * emacs.c (daemon_pipe): Make non-static.
 -      (IS_DAEMON): Move definition ...
 -      * lisp.h (IS_DAEMON): ... here.
 -      (daemon_pipe): Declare.
 -      (is_daemon): Remove.
 -      * dispnew.c (init_display): Use IS_DAEMON.
 -
 -2008-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * xdisp.c (pos_visible_p, redisplay_internal, message3_nolog)
 -      (message2_nolog): Check FRAME_INITIAL_P instead of noninteractively.
 -
 -      * emacs.c (is_daemon): Remove.
 -      (main): Don't set is_daemon.
 -      (IS_DAEMON): New macro.
 -      (Fdaemonp, Fdaemon_initialized): Use it.
 -      (Fdaemon_initialized): Write a char into the pipe to make sure the
 -      parent exits.
 -      (syms_of_emacs): Explicitly initialize daemon_pipe[1].
 -
 -2008-10-27  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * nsterm.m (ns_draw_window_cursor): When hbar cursor is on
 -      over-sized glyph, draw it with the default glyph width.
 -
 -      * w32term.c (x_draw_bar_cursor): When hbar cursor is on over-sized
 -      glyph, draw it with the default glyph width.
 -
 -      * xterm.c (x_draw_bar_cursor): When hbar cursor is on over-sized
 -      glyph, draw it with the default glyph width.
 -
 -      * xdisp.c (try_scrolling): When computing the distance from the
 -      scroll margin to PT, try moving some distance past the window
 -      bottom before giving up.
 -
 -2008-10-27  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p)
 -      (Fset_window_buffer): Explain in doc-string that a window can be
 -      "strongly" dedicated to its buffer.
 -
 -2008-10-27  Dan Nicolaescu  <dann@ics.uci.edu>
 -
 -      * emacs.c (daemon_name): New variable.
 -      (main): Deal with --daemon=SERVER_NAME.
 -      (Fdaemonp): Return a name if one was passed to --daemon.
 -
 -2008-10-26  Romain Francoise  <romain@orebokech.com>
 -
 -      * emacs.c (daemon_pipe): New variable.
 -      (main): Create a pipe before forking, make the parent exit only after
 -      the child has closed its end of the pipe.  Move closing the
 -      descriptors ...
 -      (Fdaemon_initialized): ... here.  New function.
 -
 -2008-10-26  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * chartab.c (Foptimize_char_table): Make sure `ascii' doesn't point to
 -      the previous unoptimized table.
 -
 -      * window.c (Fset_window_buffer): Undo 2008-10-18 change to re-instate
 -      the distinction between non-nil and non-t value of `dedicated'.
 -
 -2008-10-25  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * keyboard.c (read_char_minibuf_menu_prompt): Ensure that
 -      read_char_minibuf_menu_text is large enough to hold the menu string.
 -
 -2008-10-25  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (Fget_buffer_window, Fdelete_windows_on)
 -      (Freplace_buffer_in_windows): Make buffer argument optional and
 -      rename to buffer_or_name.
 -
 -2008-10-24  Chong Yidong  <cyd@stupidchicken.com>
 -
 -      * xdisp.c (handle_single_display_spec, handle_display_prop):
 -      Undo 2005-05-16 change.
 -      (handle_stop): Pop iterator if it's loaded with an empty string.
 -      (get_overlay_strings_1): Don't save iterator if it's loaded with
 -      an empty string (bug#1201).
 -
 -2008-10-24  Kenichi Handa  <handa@m17n.org>
 -
 -      * ftfont.c (ftfont_otf_features): Fix previous change.
 -      (ftfont_otf_capability): Check FeatureList.FeatureCount before
 -      calling ftfont_otf_features.
 -
 -2008-10-24  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_match_p): Fix for the case that a vector of
 -      characters is in script-representative-chars.
 -
 -2008-10-24  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (xd_in_read_queued_messages): New variable.
 -      (XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros.  Throw Qdbus_error.
 -      (xd_read_queued_messages): Catch Qdbus_error from the macros.
 -      (all): Replace xsignal1, xsignal2, xsignal3 by the respective
 -      macro.  (Bug#1186)
 -
 -2008-10-23  Ali Bahrami  <ali_gnu@emvision.com>  (tiny change)
 -
 -      * s/sol2-10.h: New file.
 -
 -2008-10-23  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * xdisp.c (fill_glyph_string): Fix typo in source (though the
 -      poor beast has survived 9+ years and the jump from xterm.c!).
 -
 -2008-10-23  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * buffer.c (Fget_buffer_create): Rename arg to buffer_or_name.
 -      Reword doc-string.
 -      (Fbury_buffer): In doc-string say what happens to the buffer's window.
 -
 -2008-10-23  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * character.c (syms_of_character) <script-representative-chars>:
 -      <unicode-category-table>: Doc fixes.
 -
 -2008-10-23  Noah Friedman  <friedman@splode.com>
 -
 -      * coding.c (make_conversion_work_buffer): Check that
 -      Vcode_conversion_reused_workbuf is a live buffer, otherwise call
 -      Fget_buffer_create.
 -
 -2008-10-23  Kenichi Handa  <handa@m17n.org>
 -
 -      * font.c (font_add_log): Check the values of extra properties.
 -
 -2008-10-22  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * window.c (Fwindow_dedicated_p, Fset_window_dedicated_p):
 -      Reword doc-string.
 -      (Fset_window_parameter): Use NILP.
 -      (Fscroll_up, Fscroll_down, Fminibuffer_selected_window)
 -      (Frecenter): Use "selected" instead of "current" window in doc-strings.
 -
 -2008-10-22  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * xdisp.c (next_element_from_buffer): Remove bogus xassert condition.
 -
 -2008-10-22  Adrian Robert  <Adrian.B.Robert@gmail.com>
 -
 -      * nsfns.m (ns_appkit_version): New function.
 -      (x-server-version): Use it.
 -      (syms_of_nsfns): Define ns-version-string here, not nsterm.m.
 -      (x-server-vendor): Don't check_ns().
 -
 -      * nsterm.m (syms_of_nsterm): Drop ns-version-string.
 -
 -2008-10-22  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * w32fns.c (unwind_create_frame) [!GLYPH_DEBUG]: Fix xassert.
 -      Copied from 2005-02-03 change to xfns.c by Kim F. Storm.
 -
 -2008-10-22  Kenichi Handa  <handa@m17n.org>
 -
 -      * syntax.c (scan_words): Call word_boundary_p instead of comparing
 -      scripts.
 -
 -      * category.c (word_boundary_p): Check scripts instead of charset.
 -      Handle nil value in word-separating-categories and
 -      word-combining-categories.
 -      (syms_of_category): Fix docstrings of word-separating-categories
 -      and word-combining-categories.
 -
 -2008-10-21  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * coding.c (Fencode_coding_region, Fdecode_coding_region)
 -      (Fdecode_coding_string, Fencode_coding_string): Doc fix.
 -
 -2008-10-21  Martin Rudalics  <rudalics@gmx.at>
 -
 -      * buffer.c (Fget_buffer, Fbury_buffer, switch_to_buffer_1):
 -      Rename arg "buffer" to "buffer_or_name".
 -      (Fkill_buffer): Rename arg "buffer" to "buffer_or_name" and make
 -      it optional.
 -      (no_switch_window): Remove since the return value is not used.
 -      (Fswitch_to_buffer): Rename arg "buffer" to "buffer_or_name".
 -      Consider window as dedicated when Fwindow_dedicated_p returns a
 -      non-nil value.
 -      * lisp.h: Remove prototype for no_switch_window.
 -
 -2008-10-21  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      * emacs.c (main): Unconditionally set PER_LINUX32 and exec
 -      temacs when dumping if HAVE_PERSONALITY_LINUX32 is defined.
 -
 -2008-10-21  Kenichi Handa  <handa@m17n.org>
 -
 -      * coding.c (detect_coding_charset): For iso-8859-* coding systems,
 -      check Vlatin_extra_code_table.
 -
 -2008-10-20  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * fileio.c (Fset_file_modes): Doc fix.
 -
 -2008-10-19  Michael Albinus  <michael.albinus@gmx.de>
 -
 -      * dbusbind.c (XD_OBJECT_TO_DBUS_TYPE): Handle simple type symbols
 -      in arrays.
 -
 -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): Move 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):
 -      * frame.c (x_fullscreen_adjust):
 -      * 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_Object
 -      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 if the
 -      representative chars of the script is a vector.
 -      (ftfont_list): Handle the case where 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_Object
 -      mixup (YAILOM).
 -
 -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 composition_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): Move these macros to composite.h.
 -      (enum lglyph_indices): Likewise.
 -      (font_range): Adjust extern.
 -      (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): Rename to Ffont_shape_gstring and change arguments.
 -      (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): Adjust for the change of
 -      struct glyph_string.
 -
 -      * term.c (encode_terminal_code): Adjust for the change of struct glyph.
 -      (append_composite_glyph): Adjust for the change of struct it and
 -      struct glyph.
 -      (produce_composite_glyph): Likewise.
 -
 -      * w32term.c (x_draw_composite_glyph_string_foreground):
 -      Adjust 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): Adjust 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): Adjust 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): Adjust for the change of struct it.
 -      Update it->cmp_it.
 -      (dump_glyph): Adjust for the change of struct glyph.
 -      (fill_composite_glyph_string): Adjust 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): Adjust 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): Adjust for the change of struct it and
 -      struct glyph.
 -      (x_produce_glyphs): Adjust for the change of struct it.
 -
 -      * xterm.c (x_draw_composite_glyph_string_foreground): Adjust 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.  Update all callers.
 -      (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): Rename from display_info.  Update all users in
 -      msdos.c.
 -      (struct x_output): Remove background_pixel and foreground_pixel.
 -      (the_only_display_info): Rename 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.
 -      * nsselect.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_charset_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/hpux10-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>
 -
 -      * 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 Krishnamurthy  <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_Object 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 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): Initialize 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): Initialize `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 character 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>
 +2011-11-06  Chong Yidong  <cyd@gnu.org>
 +
 +      * window.c (Fwindow_live_p, Fwindow_frame, Fframe_root_window)
 +      (Fminibuffer_window, Fwindow_buffer, Fwindow_splits)
 +      (Fset_window_splits, Fwindow_nest, Fset_window_nest)
 +      (Fwindow_use_time, Fwindow_total_size, Fwindow_normal_size)
 +      (Fwindow_new_normal, Fwindow_left_column, Fwindow_top_line)
 +      (Fwindow_margins, Fwindow_fringes, Fwindow_scroll_bars)
 +      (Fwindow_vscroll): Doc fix.
 +      (Fwindow_top_child, Fwindow_left_child): Eliminate a nil default
 +      argument, since it makes no sense to pass a live window and for
 +      consistency with window-child.
  
 -      * keymap.c (Fdefine_key): Fix handling of Lucid style event type list.
 +2011-11-05  Christoph Scholtes  <cschol2112@googlemail.com>
  
 -      * fns.c (Fmapconcat, Fmapcar, Fmapc): Signal an error if SEQUENCE
 -      is a char table.
 +      * makefile.w32-in ($(TEMACS), (gl-stamp)): Use $(THISDIR) to
 +      support MSVC.
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +2011-11-05  Jason Rumney  <jasonr@gnu.org>
  
 -      * syntax.c (skip_chars): Be sure to alloca char_ranges when necessary.
 +      * w32font.c (font_matches_spec): Filter out non-Japanese kana fonts.
 +      (add_font_entity_to_list): Filter out non-Japanese Shift-JIS
 +      fonts (Bug#6029).
 +      (add_font_entity_to_list): Fix logic errors in mixed boolean and
 +      bitwise arithmetic preventing use of unicode-sip and non-truetype
 +      opentype fonts.
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +2011-11-05  Eli Zaretskii  <eliz@gnu.org>
  
 -      * xfaces.c (set_lface_from_font_name): Fix for the case that
 -      FONTNAME is not fontset name.
 +      * s/ms-w32.h (fstat, stat, utime): Move redirections to
 +      "emacs"-only part.
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +      * w32fns.c (x_create_tip_frame, Fx_create_frame): Rearrange
 +      initialization code to keep similarity to xfns.c after changes
 +      from 2011-11-05.
  
 -      * fns.c (base64_encode_1): Fix previous change.
 +2011-11-05  Jan Djärv  <jan.h.d@swipnet.se>
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +      * nsfns.m: Declare image_cache_refcount if GLYPH_DEBUG.
 +      (unwind_create_frame): New function (Bug#9943).
 +      (Fx_create_frame): Restructure code to be more similar to the one in
 +      xfns.c.  Call record_unwind_protect with unwind_create_frame (Bug#9943).
 +      Initialize image_cache_refcount if GLYPH_DEBUG (Bug#9943).
 +      Move terminal->reference_count++ just before making the frame official
 +      (Bug#9943).
  
 -      * 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.
 +      * nsterm.m (x_free_frame_resources): New function.
 +      (x_destroy_window): Move code to x_free_frame_resources.
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +      * xfns.c (unwind_create_frame): Fix comment.
 +      (Fx_create_frame, x_create_tip_frame): Move
 +      terminal->reference_count++ just before making the frame
 +      official. Move initialization of image_cache_refcount and
 +      dpyinfo_refcount before calling init_frame_faces (Bug#9943).
  
 -      * 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.
 +2011-11-05  Eli Zaretskii  <eliz@gnu.org>
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +      Support MSVC build with newer versions of Visual Studio.
 +      * makefile.w32-in (TAGS-gmake): Don't use $(patsubst ...), as
 +      Nmake barfs on that.  Use $(OBJ*_c) variables instead, defined on
 +      nt/gmake.defs.
  
 -      * xterm.c (x_list_fonts): Fix excluding of auto-scaled fonts.
 +      * lisp.h (ENUM_BF): New macro, for enumerated types in bitfields,
 +      which are not supported by MSVC.
 +      (Lisp_Symbol, Lisp_Misc_Any, Lisp_Marker, Lisp_Misc_Overlay)
 +      (Lisp_Save_Value, Lisp_Free): Use ENUM_BF for enumerated types in
 +      bitfields.
 +      (Lisp_Object) [USE_LISP_UNION_TYPE]: Use ENUM_BF for enumerated
 +      types in bitfields.
 +      (DEFUN) [_MSC_VER]: Define in a different way for MSVC.
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +      * w32fns.c [_MSC_VER]: DECLARE_HANDLE for any MSVC version.
  
 -      * fontset.c (Fnew_fontset): Check NAME more rigidly.
 +2011-11-05  Fabrice Popineau  <fabrice.popineau@supelec.fr> (tiny change)
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +      Support MSVC build with newer versions of Visual Studio.
 +      * w32.c: Don't include w32api.h for MSVC.
 +      (init_environment) [_MSC_VER]: Call sys_access, not _access.
  
 -      * editfns.c (Fgoto_char): Fix docstring.
 +      * s/ms-w32.h <sigset_t, ssize_t> [_MSC_VER]: Typedefs for MSVC.
 +      [_MSC_VER]: Include sys/timeb.h, sys/stat.h, and signal.h.
 +      (fstat, stat, utime) [_MSC_VER]: Redirect to their sys_* cousins.
 +      (malloc, free, realloc, calloc) [_MSC_VER]: Always redirect to the
 +      e_* cousins.
 +      (alloca) [_MSC_VER]: Define to _alloca.
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +      * lisp.h (DECL_ALIGN) [_MSC_VER]: Define for MSVC.
  
 -      * insdel.c (insert_from_gap): Adjust intervals correctly.
 +      * regex.c <re_char> [_MSC_VER]: A separate definition for MSVC.
  
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 +2011-11-04  Eli Zaretskii  <eliz@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.
 +      * xdisp.c (note_mouse_highlight): If either of
 +      previous/next-single-property-change returns nil, treat that as
 +      the beginning or the end of the buffer.  (Bug#9955)
  
 -      * 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.
 +2011-11-04  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * makefile.w32-in (temacs): Increase EMHEAP.
 +      * gtkutil.c (xg_make_tool_item): Add callbacks if one of wimage or
 +      label is not null (Bug#9951).
 +      (xg_tool_item_stale_p): Handle the fact that wimage and/or wlbl
 +      may be NULL.
  
 -2008-02-01  Jason Rumney  <jasonr@gnu.org>
 +2011-11-04  Eli Zaretskii  <eliz@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.
 +      * window.c (Fwindow_body_size): Mention in the doc string that the
 +      return value is in frame's canonical units.  (Bug#9949)
  
 -      * w32term.h: Declare x_get_font_repertory.
 +2011-11-03  Eli Zaretskii  <eliz@gnu.org>
  
 -      * 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.
 +      * xdisp.c (note_mouse_highlight): Initialize `area'.  (Bug#9947)
  
 -      * 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.
 +      * w32fns.c (unwind_create_frame): If needed, free the glyph
 +      matrices of the partially constructed frame.  (Bug#9943)
 +      * xfns.c (unwind_create_frame): Likewise.
  
 -      * 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.
 +2011-11-01  Eli Zaretskii  <eliz@gnu.org>
  
 -      * w32bdf.c (w32_load_bdf_font): Clear font_info before filling.
 -      encoding becomes encoding_type.
 +      * xdisp.c (mouse_face_from_buffer_pos): Fix a typo in a comment.
 +      Don't stop backward scan on the continuation glyph, even though
 +      its CHARPOS is positive.
 +      (mouse_face_from_buffer_pos, note_mouse_highlight): Rename
 +      cover_string to disp_string.
  
 -      * term.c (terminal_encode_buffer): Make externally visible.
 +2011-11-01  Martin Rudalics  <rudalics@gmx.at>
  
 -      * makefile.w32-in: Add character.h dependancies.
 -      (character.o, chartab.o): New targets.
 +      * window.c (temp_output_buffer_show): Don't use
 +      Vtemp_buffer_show_specifiers.
 +      (Vtemp_buffer_show_specifiers): Remove unused variable.
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +2011-10-30  Eli Zaretskii  <eliz@gnu.org>
  
 -      * fileio.c (Finsert_file_contents) [DOS_NT]: Use the macro
 -      CODING_ID_EOL_TYPE.
 +      * xdisp.c (try_cursor_movement): Make sure ROW isn't decremented
 +      past the beginning of the current glyph matrix.
  
 -2008-02-01  Andreas Schwab  <schwab@suse.de>
 +2011-10-30  Adam Sjøgren <asjo@koldfront.dk> (tiny change)
  
 -      * coding.c (produce_chars): Revert last change.
 +      * xterm.c: Include X11/Xproto.h if HAVE_GTK3.
 +      (x_error_handler): Ignore BadMatch for X_SetInputFocus for
 +      HAVE_GTK3 (Bug#9869).
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +      * gtkutil.c (xg_win_to_widget, xg_event_is_for_menubar): Initialize
 +      type to GDK_NOTHING so valgrind does not complain (Bug#9901).
  
 -      * charset.h (charset_unicode): Extern it.
 +      * xterm.h (x_display_info): Add Xatom_net_wm_state_hidden (Bug#9893).
  
 -      * 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.
 +      * xterm.c: Declare x_handle_net_wm_state to return int.
 +      (handle_one_xevent): Check if we are iconified but don't have
 +      _NET_WM_STATE_HIDDEN.  If do, treat as deiconify (Bug#9893).
 +      (get_current_wm_state): Return non-zero if not hidden,
 +      check for _NET_WM_STATE_HIDDEN (Bug#9893).
 +      (do_ewmh_fullscreen): Ignore return value from get_current_wm_state.
 +      (x_handle_net_wm_state): Return what get_current_wm_state returns.
 +      (x_term_init): Initialize dpyinfo->Xatom_net_wm_state_hidden.
  
 -      * chartab.c (char_table_translate): Use CHARACTERP, not INTEGERP.
 +2011-10-29  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * coding.c (Fdefine_coding_system_alias): Update
 -      Vcoding_system_list.
 +      * alloc.c (which_symbols): Declare EXTERNALLY_VISIBLE,
 +      so that this new function doesn't get optimized away by a
 +      whole-program optimizer.  Make the 2nd arg EMACS_INT, not int.
  
 -      * fontset.c (load_font_get_repertory): Pay attention to the case
 -      that ENCODING of a font is specified by a char-table.
 +2011-10-29  Andreas Schwab  <schwab@linux-m68k.org>
  
 -      * xterm.c (x_get_font_repertory): Handle the case that the
 -      encoding of font is other than Unicode.
 +      * frame.h (MOUSE_HL_INFO): Remove excess parens.
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +2011-10-29  Eli Zaretskii  <eliz@gnu.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.
 +      Fix the `xbytecode' command.
 +      * .gdbinit (xprintbytestr): New command.
 +      (xwhichsymbols): Renamed from `which'; all callers changed.
 +      (xbytecode): Print the byte-code string as well.
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +2011-10-29  Kim Storm  <storm@cua.dk>
  
 -      * 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.
 +      * alloc.c (which_symbols): New function.
  
 -      * coding.c (consume_chars): If coding->src_object is nil, don't
 -      check annotation.
 +2011-10-29  Andreas Schwab  <schwab@linux-m68k.org>
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +      * minibuf.c (read_minibuf_noninteractive): Allow reading empty
 +      line.  (Bug#9903)
  
 -      * character.c (char_string): Use ASCII_CHAR_P instead of
 -      SINGLE_BYTE_CHAR_P.
 +2011-10-29  Glenn Morris  <rgm@gnu.org>
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +      * process.c (wait_reading_process_output): Revert 2009-08-30 change.
 +      Not clear what it was for, and it causes various bugs.  (Bug#9839)
  
 -      * 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.
 +2011-10-28  Eli Zaretskii  <eliz@gnu.org>
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +      * xdisp.c (note_mouse_highlight): Initialize `part', to avoid a
 +      possible random value that matches one of those tested as
 +      condition to clear the mouse face.
  
 -      * fns.c (concat): Don't change multibyteness of the result by
 -      concatenating an 8-bit character.
 +2011-10-28  Chong Yidong  <cyd@gnu.org>
  
 -      * data.c (Faset): Check newelt by CHECK_CHARACTER.  Don't change
 -      multibyteness of the result when newelt is an 8-bit character.
 +      * xdisp.c (note_mouse_highlight): Fix use of uninitialized var.
  
 -2008-02-01  Dave Love  <fx@gnu.org>
 +2011-10-28  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -      * 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>
 +      * window.c (make_window): Initialize phys_cursor_on_p.
  
 -      * coding.h (ENCODE_UTF_8): New.
 +2011-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * Makefile.in (gtkutil.o): Depend on coding.h.
 +      * lisp.h (struct Lisp_Symbol): Update comments.
  
 -      * coding.c (Fset_coding_system_priority): Doc fix.
 +2011-10-28  Juanma Barranquero  <lekktu@gmail.com>
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +      * w32font.c (w32_load_unicows_or_gdi32): Add missing return.
  
 -      * fileio.c (Finsert_file_contents): Call setup_coding_system in
 -      the case of auto saving.
 +2011-10-28  Eli Zaretskii  <eliz@gnu.org>
  
 -2008-02-01  Andreas Schwab  <schwab@suse.de>
 +      Fix Emacs on Windows 9X (bug#8562).  Thanks to oslsachem
 +      <oslsachem@gmail.com> for helping to debug this.
  
 -      * 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>
 +      * w32font.c (g_b_init_is_w9x, g_b_init_get_outline_metrics_w)
 +      (g_b_init_get_text_metrics_w, g_b_init_get_glyph_outline_w)
 +      (g_b_init_get_glyph_outline_w): New static variables.
 +      (GetOutlineTextMetricsW_Proc, GetTextMetricsW_Proc)
 +      (GetGlyphOutlineW_Proc): New typedefs.
 +      (w32_load_unicows_or_gdi32, get_outline_metrics_w)
 +      (get_text_metrics_w, get_glyph_outline_w, globals_of_w32font):
 +      New functions.
 +      (w32font_open_internal, compute_metrics):
 +      Call get_outline_metrics_w, get_text_metrics_w, and get_glyph_outline_w
 +      instead of calling the "wide" APIs directly.
  
 -      * 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.
 +      * emacs.c (main) [HAVE_NTGUI]: Call globals_of_w32font.
  
 -      * search.c (compile_pattern): Check the member target_multibyte,
 -      not the member multibyte of buf.
 +      * w32.h (syms_of_w32font): Add prototype.
  
 -      * lread.c (read1): While reading a string, set force_singlebyte
 -      and force_multibyte correctly.
 +2011-10-27  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * charset.c (Fset_unibyte_charset, init_charset_once): Fix setting
 -      up of unibyte_to_multibyte_table.
 +      * window.c (Fframe_root_window, Fframe_first_window, Fwindow_end)
 +      (Fframe_selected_window, Ftemp_output_buffer_show, Fnext_window)
 +      (Fdelete_window_internal, Fwindow_parameters): Fix typos in docstrings.
 +      (Fmove_to_window_line): Doc fix.
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +2011-10-27  Chong Yidong  <cyd@gnu.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).
 +      * process.c (make_process): Set gnutls_state to NULL.
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +      * gnutls.c (emacs_gnutls_deinit): Deinit the gnutls_state if it is
 +      non-NULL, regardless of GNUTLS_INITSTAGE.
 +      (Fgnutls_boot): Cleanups.  Call emacs_gnutls_deinit if we signal
 +      an error.  Set process slots as soon as we allocate them.
  
 -      * 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.
 +      * gnutls.h (GNUTLS_LOG, GNUTLS_LOG2): Fix macros.
  
 -2008-02-01  Dave Love  <fx@gnu.org>
 +2011-10-27  Chong Yidong  <cyd@gnu.org>
  
 -      * lread.c (read_emacs_mule_char) [len==2]: Index
 -      emacs_mule_charset correctly.
 +      * gnutls.c (emacs_gnutls_deinit): New function.
 +      Deallocate credentials structures as well as calling gnutls_deinit.
 +      (Fgnutls_deinit, Fgnutls_boot): Use it.
  
 -2008-02-01  Dave Love  <fx@gnu.org>
 +      * process.c (make_process): Initialize GnuTLS credentials to NULL.
 +      (deactivate_process): Call emacs_gnutls_deinit.
  
 -      * 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.
 +2011-10-27  Juanma Barranquero  <lekktu@gmail.com>
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +      * image.c (x_create_x_image_and_pixmap):
 +      * w32.c (sys_rename, w32_delayed_load):
 +      * w32font.c (fill_in_logfont):
 +      * w32reg.c (x_get_string_resource): Silence compiler warnings.
  
 -      The following changes are to make the font rescaling facility
 -      compatible with Emacs 21.
 +2011-10-26  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * 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.
 +      * w32fns.c (w32_default_color_map): New function,
 +      extracted from Fw32_default_color_map.
 +      (Fw32_default_color_map, Fx_open_connection): Use it.  (Bug#9785)
  
 -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>
 +2011-10-25  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * fileio.c (Finsert_file_contents): On replacing, before decoding
 -      the file into the work buffer, set point of the work buffer to the end.
 +      * dispextern.h (Fcontrolling_tty_p): New decl (Bug#6649 part 2).
  
 -2008-02-01  Dave Love  <fx@gnu.org>
 +2011-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * coding.c (Fcheck_coding_systems_region): Fix type errors.
 +      * keyboard.c (test_undefined): New function (bug#9751).
 +      (read_key_sequence): Use it to detect when a key is bound to `undefined'.
  
 -2008-02-01  Dave Love  <fx@gnu.org>
 +2011-10-25  Enami Tsugutomo  <tsugutomo.enami@jp.sony.com>
  
 -      * xterm.c (XTread_socket): Check Lisp types for Vx_keysym_table
 -      and fix C types.
 +      * sysdep.c (init_sys_modes): Fix the check for the controlling
 +      terminal (Bug#6649).
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +2011-10-20  Eli Zaretskii  <eliz@gnu.org>
  
 -      * xdisp.c (SKIP_GLYPHS): New macro.
 -      (set_cursor_from_row): Pay attention to string display properties.
 +      * dispextern.h (struct bidi_it): New member next_en_type.
  
 -      * category.c (copy_category_entry): Fix for the case that RANGE
 -      is an integer.
 +      * bidi.c (bidi_line_init): Initialize the next_en_type member.
 +      (bidi_resolve_explicit_1): When next_en_pos is valid for the
 +      current character, check also for next_en_type being WEAK_EN.
 +      (bidi_resolve_weak): Don't enter the expensive loop if the current
 +      position is before next_en_pos.  Record the bidi type of the first
 +      non-ET, non-BN character we find, in addition to its position.
 +      (bidi_level_of_next_char): Invalidate next_en_type when
 +      next_en_pos is over-stepped.
  
 -      * xterm.c (x_encode_char): Call ccl_driver with the last arg Qnil.
 +2011-10-20  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * w32term.c (w32_encode_char): Call ccl_driver with the last arg Qnil.
 +      Time zone name fixes for non-ASCII locales (Bug#641, Bug#9794)
 +      * editfns.c: Rewrite current-time-zone so that it invokes
 +      the equivalent of (format-time-string "%Z") to get the time zone name.
 +      This fixes a bug when the time zone name contains characters that
 +      need converting from the system time locale to Emacs internal format.
 +      This fixes a shortcoming that I introduced in my 1999-10-19 patch:
 +      that patch fixed format-time-string to do the conversion, but
 +      I forgot to fix current-time-zone.
 +      (format_time_string): New function, containing most of
 +      what Fformat_time_string used to contain.
 +      (Fformat_time_string): Rewrite in terms of format_time_string.
 +      This doesn't change this function's behavior.
 +      (current-time-zone): Rewrite to use format_time_string.
 +      This fixes the bug reported by Michael Schierl in
 +      <http://lists.gnu.org/archive/html/emacs-devel/2007-06/msg00334.html>.
 +      Jason Rumney's 2007-06-07 change worked around this bug, but
 +      didn't fix it.
 +      * systime.h (tzname, timezone): Remove no-longer-used declarations.
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +2011-10-19  Eli Zaretskii  <eliz@gnu.org>
  
 -      * charset.c (Fcharset_id_internal): New function.
 -      (syms_of_charset): Defsubr it.
 +      * xdisp.c (start_display): If the character at POS is displayed
 +      via a display vector, reset IT->current.dpvec_index to zero.
 +      (try_window_reusing_current_matrix): If a line ends in a display
 +      vector or the next line starts in a display vector, continue
 +      redrawing the window even though the character position of
 +      start_row was reached.
 +      (Bug#9771, part 2)
  
 -      * 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.
 +2011-10-18  Chong Yidong  <cyd@gnu.org>
  
 -      * coding.h (enum define_coding_ccl_arg_index): Set the first
 -      member coding_arg_ccl_decoder to coding_arg_max.
 +      * xdisp.c (get_next_display_element): Handle U+2010 and U+2011
 +      with nobreak-char-display too.
  
 -      * ccl.h (ccl_driver): Adjust prototype.
 +2011-10-18  Eli Zaretskii  <eliz@gnu.org>
  
 -      * ccl.c (CCL_DECODE_CHAR, CCL_ENCODE_CHAR): New macros.
 -      (ccl_driver): New arg CHARSET_LIST.  Use the above macros instead
 -      of DECODE_CHAR, ENCODE_CHAR, CHAR_CHARSET.
 -      (Fccl_execute, Fccl_execute_on_string): Call ccl_driver with the
 -      last arg Qnil.
 +      Fix part 3 of bug#9771.
 +      * bidi.c (bidi_line_init): Initialize next_en_pos to zero, not -1.
 +      (bidi_resolve_neutral): Don't enter the expensive loop looking for
 +      non-neutral characters if the current character is a paragraph
 +      separator (a.k.a. Newline).  This avoids running the same
 +      expensive loop twice, once when we consume the preceding newline
 +      and the other time when the line actually needs to be displayed.
 +      Avoid the loop when we see neutrals on the base embedding level
 +      following a character whose directionality is the same as the
 +      paragraph's.  This avoids running the expensive loop when a line
 +      ends in a long sequence of neutrals, like control characters.
 +      Add assertion against STRONG_AL type.  Slightly rearrange code
 +      that determines the type of a neutral given the first non-neutral
 +      that follows it.
 +      (bidi_level_of_next_char): Set next_en_pos to zero when
 +      invalidating its info.
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +2011-10-17  Eli Zaretskii  <eliz@gnu.org>
  
 -      * charset.h (ENCODE_CHAR): If the method is SUBSET or SUPERSET,
 -      call encode_char.
 +      * xdisp.c (push_display_prop): Determine whether to record string
 +      or buffer position by IT->string, not by IT->method.  Allow
 +      GET_FROM_DISPLAY_VECTOR as IT->method on entry.  (Bug#9771, part 4)
 +      (move_it_vertically_backward): Don't look for character position
 +      immediately after the newline when in a continuation line.
 +      (Bug#9771, part 1)
  
 -      * charset.c (encode_char): Fix handling of methods SUBSET and SUPERSET.
 +2011-10-15  Martin Rudalics  <rudalics@gmx.at>
  
 -2008-02-01  Dave Love  <fx@gnu.org>
 +      * window.c (coordinates_in_window): Rewrite and delabelize
 +      vertical border check.  (Bug#5357) (Bug#9618)
  
 -      * composite.c (syms_of_composite): Make composition_hash_table weak.
 +2011-10-14  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +      * xterm.c (frame_highlight, frame_unhighlight): Ignore unexplained
 +      errors in XSetWindowBorder (bug#9310).
  
 -      * 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.
 +2011-10-13  Dmitry Antipov  <dmantipov@yandex.ru>
  
 -      * 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.
 +      * editfns.c (Fset_time_zone_rule): Replace free with xfree to
 +      avoid crash when xmalloc overrun checking is enabled.
  
 -      * 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.
 +2011-10-13  Eli Zaretskii  <eliz@gnu.org>
  
 -      * 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.
 +      * xdisp.c (Fcurrent_bidi_paragraph_direction): Initialize
 +      itb.paragraph_dir to NEUTRAL_DIR.  Fixes an occasional incorrect
 +      cursor motion with <left> and <right> arrow keys.
  
 -      * xterm.h (x_new_fontset): Adjust prototype.
 +      * bidi.c (bidi_init_it): Don't initialize paragraph_dir here, as
 +      some callers set that themselves.
  
 -      * 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.
 +2011-10-12  Eli Zaretskii  <eliz@gnu.org>
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +      * xdisp.c (find_row_edges): Handle the case where ROW comes from a
 +      display string and the previous row comes from the same string and
 +      is empty.  (Bug#9739)  (Bug#9738)
  
 -      * 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.
 +2011-10-12  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -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.
 +      * doc.c (get_doc_string): Encode file name (bug#9735).
  
 -      * syntax.c (skip_chars, skip_syntaxes): Fix type errors.
 +2011-10-12  Eli Zaretskii  <eliz@gnu.org>
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +      * bidi.c (bidi_level_of_next_char):
 +      * xdisp.c (get_visually_first_element): Remove old incorrect
 +      comments regarding the Unicode Line Separator character.
  
 -      * 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.
 +      * bidi.c (bidi_init_it): Initialize paragraph_dir to NEUTRAL_DIR.
  
 -      * 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.
 +2011-10-12  Dmitry Antipov  <dmantipov@yandex.ru>
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +      * alloc.c (Fgc_status): Do not access beyond zombies array
 +      boundary if nzombies > MAX_ZOMBIES.
 +      * alloc.c (dump_zombies): Add missing format specifier.
  
 -      * charset.c (Fdefine_charset_internal): Setup charset.fast_map
 -      correctly.
 +2011-10-12  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2008-02-01  Dave Love  <fx@gnu.org>
 +      * xdisp.c (set_cursor_from_row): Simplify conditionals,
 +      to pacify GCC 4.6.1 x86-64 with -O2 -Wstrict-overflow.
  
 -      * fns.c (Flanginfo): Call synchronize_system_time_locale.
 +      * lread.c (read_escape): Allow hex escapes as large as ?\xfffffff.
 +      Some packages use them to denote characters with modifiers.
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +2011-10-11  Andreas Schwab  <schwab@linux-m68k.org>
  
 -      The following changes are to make character composition happen
 -      automatically on displaying.
 +      * lisp.h (GCPRO1_VAR, GCPRO2_VAR, GCPRO3_VAR, GCPRO4_VAR)
 +      (GCPRO5_VAR, GCPRO6_VAR, UNGCPRO_VAR): Add whitespace to avoid
 +      matching a pp-number.  Rename parameter var to var1.
  
 -      * Makefile.in (lisp, shortlisp): Add composite.elc.
 +2011-10-11  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * composite.h (Qauto_composed, Vauto_composition_function)
 -      (Qauto_composition_function): Extern them.
 +      * minibuf.c (Finternal_complete_buffer): Fix last change (bug#9709).
  
 -      * 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.
 +2011-10-08  Glenn Morris  <rgm@gnu.org>
  
 -      * dispextern.h (enum prop_idx): Add member AUTO_COMPOSED_PROP_IDX.
 +      * callint.c (Fcall_interactively): Give a more explicit error for the
 +      'c' case with a non-character input.  (Bug#8479)
  
 -      * xdisp.c (it_props): Add an entry for Qauto_composed.
 -      (handle_auto_composed_prop): New function.
 +2011-10-08  Eli Zaretskii  <eliz@gnu.org>
  
 -      * 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.
 +      * xdisp.c (hscroll_window_tree): Support hscroll in right-to-left
 +      lines.
 +      (set_cursor_from_row): Fix cursor positioning in mixed L2R+R2L
 +      lines that are hscrolled on the left.
  
 -2008-02-01  Dave Love  <fx@gnu.org>
 +      * dispnew.c (buffer_posn_from_coords): Account for a possible
 +      presence of header-line.  (Bug#4426)
  
 -      * xterm.c (XTread_socket): Fix changes for defined keysyms.
 -      Add XK_ISO... case.
 -      (xaw_scroll_callback): Revert last change.
 +2011-10-07  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +      * buffer.c (syms_of_buffer) <enable-multibyte-characters>:
 +      Don't advertise functionality which we discourage or doesn't work.
  
 -      * charset.c (Fset_charset_priority): Update Viso_2022_charset_list.
 +2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +      * alloc.c (GC_LISP_OBJECT_ALIGNMENT): Use offsetof, not __alignof__
 +      or sizeof.  __alignof__ gives the wrong answer on Fedora x86-64
 +      with GCC 4.6.1 when configured with CC='gcc -m32' --with-wide-int;
 +      this makes Emacs dump core during garbage collection on rare
 +      occasions.  sizeof is obviously inferior to offsetof here, so
 +      stick with offsetof.
 +      (GC_POINTER_ALIGNMENT): New macro.
 +      (mark_memory): Omit 3rd (offset) arg; caller changed.
 +      Don't assume EMACS_INT alignment is the same as pointer alignment.
  
 -      * 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.
 +2011-10-03  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2008-02-01  Dave Love  <fx@gnu.org>
 +      * keyboard.c (read_key_sequence_remapped): New var.
 +      (read_key_sequence): Compute remapping in the right buffer.
 +      (command_loop_1): Use read_key_sequence's remapping directly.
  
 -      * xterm.c (xaw_scroll_callback): Cast correctly.
 +2011-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2008-02-01  Dave Love  <fx@gnu.org>
 +      * dired.c (file_name_completion): Don't expand file name.
 +      (Ffile_name_completion, Ffile_name_all_completions): Expand file name
 +      before checking file name handler.
  
 -      * keyboard.c (lispy_accent_codes, lispy_accent_keys): Extend.
 -      (lispy_kana_keys): Comment out.
 -      (make_lispy_event) [XK_kana_A]: Comment out.
 +      * minibuf.c (Finternal_complete_buffer): Only show internal buffers if
 +      they've been requested explicitly (bug#9591).
  
 -      * 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.
 +2011-10-01  Andreas Schwab  <schwab@linux-m68k.org>
  
 -2008-02-01  Dave Love  <fx@gnu.org>
 +      * keymap.c (Fsingle_key_description): Use make_specified_string
 +      instead of build_string to build string from push_key_description.
 +      (Bug#5193)
  
 -      * 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.
 +2011-09-30  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +      * buffer.h (struct buffer): Use time_t, not int, for a time stamp.
 +      This fixes a Y2038 bug on 64-bit hosts.
 +      * buffer.c (reset_buffer):
 +      * fileio.c (Fdo_auto_save, Fset_buffer_auto_saved)
 +      (Fclear_buffer_auto_save_failure):
 +      Use 0, not -1, to represent an unset failure time, since time_t
 +      might not be signed.
  
 -      * coding.c (detect_coding_charset): If only ASCII bytes are found,
 -      return 0.
 -      (Fdefine_coding_system_internal): Setup
 -      CODING_ATTR_ASCII_COMPAT (attrs) correctly.
 +      Remove dependency on glibc malloc internals.
 +      * alloc.c (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE):
 +      Move back here from lisp.h, but with their new implementations.
 +      (XMALLOC_BASE_ALIGNMENT, COMMON_MULTIPLE, XMALLOC_HEADER_ALIGNMENT)
 +      (XMALLOC_OVERRUN_SIZE_SIZE): Move these new lisp.h macros here.
 +      * charset.c (charset_table_init): New static var.
 +      (syms_of_charset): Use it instead of xmalloc.  This removes a
 +      dependency on glibc malloc internals.  See Eli Zaretskii's comment in
 +      <http://lists.gnu.org/archive/html/emacs-devel/2011-09/msg00815.html>.
 +      * lisp.h (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE):
 +      Move back to alloc.c.
 +      (XMALLOC_BASE_ALIGNMENT, COMMON_MULTIPLE, XMALLOC_HEADER_ALIGNMENT)
 +      (XMALLOC_OVERRUN_SIZE_SIZE): Move to alloc.c.
  
 -2008-02-01  Dave Love  <fx@gnu.org>
 +2011-09-30  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * coding.c (Fcheck_coding_system): Doc fix.
 +      * nsterm.m (windowDidResize): Call x_set_window_size only when
 +      ns_in_resize is true.  Otherwise set pixelwidth/height and
 +      call change_frame_size (Bug#9628).
  
 -      * editfns.c (Finsert_byte): Return a proper value.
 +2011-09-30  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +      Port --enable-checking=all to Fedora 14 x86-64.
 +      * charset.c (syms_of_charset): Also account for glibc malloc's
 +      internal overhead when calculating the initial malloc maximum.
  
 -      * 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.
 +      Port --enable-checking=all to Fedora 14 x86.
 +      * alloc.c (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE):
 +      Move to lisp.h.
 +      (xmalloc_put_size, xmalloc_get_size, overrun_check_malloc)
 +      (overrun_check_realloc, overrun_check_free):
 +      Use XMALLOC_OVERRUN_SIZE_SIZE, not sizeof (size_t).
 +      That way, xmalloc returns a properly-aligned pointer even if
 +      XMALLOC_OVERRUN_CHECK is defined.  The old debugging code happened
 +      to align OK on typical 64-bit hosts, but not on Fedora 14 x86.
 +      * charset.c (syms_of_charset): Take XMALLOC_OVERRUN_CHECK_OVERHEAD
 +      into account when calculating the initial malloc maximum.
 +      * lisp.h (XMALLOC_OVERRUN_CHECK_OVERHEAD, XMALLOC_OVERRUN_CHECK_SIZE):
 +      Move here from alloc.c, so that charset.c can use it too.
 +      Properly align; the old code wasn't right for common 32-bit hosts
 +      when configured with --enable-checking=all.
 +      (XMALLOC_BASE_ALIGNMENT, COMMON_MULTIPLE, XMALLOC_HEADER_ALIGNMENT)
 +      (XMALLOC_OVERRUN_SIZE_SIZE): New macros.
  
 -      * data.c (Faset): Check NEWELT by ASCII_CHAR_P, not by
 -      SINGLE_BYTE_CHAR_P.
 +2011-09-29  Eli Zaretskii  <eliz@gnu.org>
  
 -      * editfns.c (general_insert_function): Check VAL by ASCII_CHAR_P,
 -      not by SINGLE_BYTE_CHAR_P.
 +      * sysdep.c (snprintf) [!EOVERFLOW]: If EOVERFLOW is not defined,
 +      use EDOM.
  
 -      * fns.c (concat): Check CH by ASCII_CHAR_P, not by
 -      SINGLE_BYTE_CHAR_P.
 +2011-09-28  Eli Zaretskii  <eliz@gnu.org>
  
 -      * insdel.c (copy_text): Check C by ASCII_CHAR_P, not by
 -      SINGLE_BYTE_CHAR_P.
 +      * xdisp.c (compute_display_string_end): If there's no display
 +      string at CHARPOS, return -1.
  
 -      * keymap.c (Ftext_char_description): Check C by ASCII_CHAR_P, not
 -      by SINGLE_BYTE_CHAR_P.
 +      * bidi.c (bidi_fetch_char): When compute_display_string_end
 +      returns a negative value, treat the character as a normal
 +      character not covered by a display string.  (Bug#9624)
  
 -      * search.c (Freplace_match): Check C by ASCII_CHAR_P, not by
 -      SINGLE_BYTE_CHAR_P.
 +2011-09-28  Juanma Barranquero  <lekktu@gmail.com>
  
 -2008-02-01  Dave Love  <fx@gnu.org>
 +      * lread.c (Fread_from_string): Fix typo in docstring.
  
 -      * fns.c (Fstring_as_multibyte, Fstring_to_multibyte): Doc fix.
 +2011-09-27  Eli Zaretskii  <eliz@gnu.org>
  
 -2008-02-01  Dave Love  <fx@gnu.org>
 +      * xdisp.c (handle_invisible_prop): If invisible text ends on a
 +      newline, reseat the iterator instead of bidi-iterating there one
 +      character at a time.  (Bug#9610)
 +      (BUFFER_POS_REACHED_P, move_it_in_display_line_to): Bail when past
 +      TO_CHARPOS if the bidi iterator is at base embedding level.
  
 -      * fns.c (Flanginfo): Fix typo.
 +2011-09-27  Andreas Schwab  <schwab@linux-m68k.org>
  
 -      * unexelf.c (unexec): Make last change conditional on Irix 6.5.
 +      * lread.c (readevalloop): Use correct code for NBSP.
 +      (read1): Likewise.  (Bug#9608)
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +2011-09-25  Michael Albinus  <michael.albinus@gmx.de>
  
 -      * 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.
 +      * dbusbind.c (Fdbus_register_signal): When service is not
 +      registered, use nil in Vdbus_registered_objects_table.  (Bug#9581)
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +2011-09-25  Glenn Morris  <rgm@gnu.org>
  
 -      * character.c (char_string): Rename from
 -      char_string_with_unification.  Pay attention to CHAR_MODIFIER_MASK.
 -      (string_char): Rename from string_char.
 +      * buffer.c (truncate-lines): Doc fix.
  
 -      * 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.
 +2011-09-24  Chong Yidong  <cyd@stupidchicken.com>
  
 -2008-02-01  Dave Love  <fx@gnu.org>
 +      * window.c (Fwindow_prev_buffers, Fset_window_prev_buffers)
 +      (Fset_window_next_buffers): Doc fix.
  
 -      * coding.c (decode_coding_utf_8): Treat surrogates as invalid.
 +2011-09-24  Glenn Morris  <rgm@gnu.org>
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +      * minibuf.c (read_minibuf): Disable line truncation.  (Bug#5715)
  
 -      * keymap.c (push_key_description): Pay attention to force_multibyte.
 +2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * regex.c (re_search_2): Fix for the case of unibyte buffer.
 +      Fix minor problems found by static checking.
 +      * xdisp.c (string_from_display_spec): Don't assume vecsize fits in int.
 +      * indent.c (Fvertical_motion): Fix == vs = typo.
  
 -2008-02-01  Dave Love  <fx@gnu.org>
 +2011-09-24  Eli Zaretskii  <eliz@gnu.org>
  
 -      * charset.c (define_charset_internal): Rename `supprementary'.
 +      * dispnew.c (syms_of_display) <redisplay-dont-pause>:
 +      Default value is now t.  Doc fix.
  
 -      * Makefile.in (lisp, shortlisp): Remove latin-N.
 +      * indent.c (Fvertical_motion): Compute and apply the overshoot
 +      logic when moving up, not only when moving down.  Fix the
 +      confusing name and values of the it_overshoot_expected variable;
 +      logic changes accordingly.  (Bug#9254) (Bug#9549)
  
 -2008-02-01  Dave Love  <fx@gnu.org>
 +      * xdisp.c (pos_visible_p): Produce correct pixel coordinates when
 +      CHARPOS is covered by a display string which includes newlines.
 +      (move_it_vertically_backward): Avoid inflooping when START_CHARPOS
 +      is covered by a display string with embedded newlines.
  
 -      * xfns.c (x_window, x_window): Use use_xim.
 +2011-09-24  Michael Albinus  <michael.albinus@gmx.de>
  
 -      * xterm.c (use_xim): Initialize.
 -      (xim_open_dpy, xim_initialize, xim_close_dpy): Use use_xim.
 -      (x_term_init): Maybe set use_xim.
 +      * dbusbind.c (Fdbus_register_signal): Add match rule to
 +      Vdbus_registered_objects_table.  (Bug#9581)
 +      (Fdbus_register_method, Vdbus_registered_objects_table):
 +      Fix docstring.
  
 -      * xterm.h (use_xim) [HAVE_X_I18N]: Declare.
 +2011-09-24  Jim Meyering  <meyering@redhat.com>
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +      do not ignore write error for any output size
 +      The previous change was incomplete.
 +      While it makes emacs --batch detect the vast majority of stdout
 +      write failures, errors were still ignored whenever the output size is
 +      k * (BUFSIZ+1) - 4.  E.g., on a system with BUFSIZ of 4096,
 +        $ emacs --batch --eval '(print (format "%4093d" 0))' > /dev/full \
 +            && echo FAIL: ignored write error
 +        FAIL: ignored write error
 +        $ emacs --batch --eval '(print (format "%20481d" 0))' > /dev/full \
 +            && echo FAIL: ignored write error
 +        FAIL: ignored write error
 +      * emacs.c (Fkill_emacs): Also test ferror.  (Bug#9574)
  
 -      * search.c (search_buffer): Fix case-fold-search of multibyte
 -      characters.
 -      (boyer_moore): Rename the last argument to char_high_bits.
 +2011-09-23  Andreas Schwab  <schwab@linux-m68k.org>
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +      * emacs.c (Fkill_emacs): In noninteractive mode exit
 +      non-successfully if a write error occurred on stdout.  (Bug#9574)
  
 -      * xdisp.c (display_string): Fix for the case of zero width glyph.
 +2011-09-21  Eli Zaretskii  <eliz@gnu.org>
  
 -      * xfns.c (x_set_font): Change the error message of the case that
 -      x_new_fontset returns Qt.
 +      * xdisp.c (pop_it): Allow it->object that is a cons cell to pass
 +      the xassert test.
  
 -      * 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.
 +      * dispextern.h (struct it): Update the comment documenting what
 +      can it->OBJECT be.
  
 -      * xterm.c (x_new_fontset): If FONTSETNAME specifies the default
 -      fontset, return Qt.
 +2011-09-20  Eli Zaretskii  <eliz@gnu.org>
  
 -2008-02-01  Dave Love  <fx@gnu.org>
 +      * xdisp.c (set_cursor_from_row): If the row ends in a newline from
 +      a display string, extend search for cursor position to end of row.
 +      (find_row_edges): If the row ends in a newline from a display
 +      string, increment its MATRIX_ROW_END_CHARPOS by one.  (Bug#9549)
 +      Handle the case of a display string with multiple newlines.
 +      (Fcurrent_bidi_paragraph_direction): Fix search for previous
 +      non-empty line.  Fixes confusing cursor motion with arrow keys at
 +      the beginning of a line that starts with whitespace.
  
 -      * unexelf.c (unexec): Make .got handling not SGI-specific.
 +2011-09-19  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * syntax.c (syms_of_syntax) <multibyte-syntax-as-symbol>: Doc fix.
 +      * lread.c (Fread_from_string): Document what FINAL-STRING-INDEX is
 +      (bug#9493).
  
 -      * regex.c: Use `ifdef HAVE_ALLOCA_H', not `if HAVE_ALLOCA_H'.
 +2011-09-18  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * keyboard.c (read_key_sequence): Fix type error.
 +      * xfns.c (Fx_create_frame): Handle the bitmapIcon resource as
 +      boolean (Bug#9154).
  
 -      * buffer.c (Fset_buffer_multibyte, Fset_buffer_multibyte): Fix
 -      type error.
 +2011-09-18  Eli Zaretskii  <eliz@gnu.org>
  
 -      * fontset.c (fontset_add): Return Lisp_Object.
 +      * xdisp.c (display_line): Record maximum and minimum buffer
 +      positions even if no glyphs were produced (e.g., by a zero-width
 +      stretch).  Fixes bug#9530 on a TTY.  Under word-wrap, don't record
 +      buffer positions that will be removed from the glyph row because
 +      they don't fit.
 +      (produce_stretch_glyph): Fix a bug in :align-to on a TTY when the
 +      column is beyond frame width: don't subtract 1 "pixel" when
 +      computing width of the stretch.
 +      (reseat_at_next_visible_line_start): Undo the change made on
 +      2011-09-17 that saved paragraph information and restored it after
 +      the call to `reseat'.  (Bug#9545)
  
 -2008-02-01  Dave Love  <fx@gnu.org>
 +2011-09-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * charset.h (charset_ordered_list_tick): Declare extern.
 +      * xdisp.c (expose_window): Save original value of phys_cursor_on_p
 +      and turn window cursor on if cleared (Bug#9415).
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +2011-09-18  Andreas Schwab  <schwab@linux-m68k.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.
 +      * search.c (boyer_moore): Take unibyte characters from pattern
 +      literally.  (Bug#9458)
  
 -      * abbrev.c (Fexpand_abbrev): Convert a unibyte character to
 -      multibyte if necessary.
 +2011-09-18  Eli Zaretskii  <eliz@gnu.org>
  
 -      * bytecode.c (Fbyte_code): Likewise.
 +      * xdisp.c (reseat_at_next_visible_line_start): Fix last change.
  
 -      * 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.
 +2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * 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.
 +      Fix minor problem found by static checking.
 +      * xdisp.c (reseat_at_next_visible_line_start): Mark locals as
 +      initialized, to pacify gcc -Wuninitialized.
  
 -      * 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'.
 +      * fileio.c: Report proper errno when syscall falls.
 +      (Finsert_file_contents): Save and restore errno,
 +      so that report_file_error outputs the correct diagnostic.
 +      (Fwrite_region) [CLASH_DETECTION]: Likewise.
  
 -      * 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.
 +2011-09-18  Eli Zaretskii  <eliz@gnu.org>
  
 -      * lisp.h (unibyte_char_to_multibyte): Delete extern.
 +      * .gdbinit (pgx): Fix references to fields of `struct glyph'.
  
 -      * minibuf.c (Fminibuffer_complete_word): Use the macro
 -      FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE.
 +2011-09-17  Eli Zaretskii  <eliz@gnu.org>
  
 -      * regex.h (struct re_pattern_buffer): New member target_multibyte.
 +      * xdisp.c (produce_stretch_glyph): Another fix for changes made on
 +      2011-08-30T17:32:44Z!eliz@gnu.org.  (Bug#9530)
  
 -      * 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.
 +2011-09-17  Eli Zaretskii  <eliz@gnu.org>
  
 -      * 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.
 +      * xdisp.c (reseat_at_next_visible_line_start): Keep information
 +      about the current paragraph and restore it after the call to reseat.
  
 -      * 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.
 +      * bidi.c (MAX_PARAGRAPH_SEARCH): New macro.
 +      (bidi_find_paragraph_start): Search back for paragraph beginning
 +      at most MAX_PARAGRAPH_SEARCH lines; if not found, return BEGV_BYTE.
 +      (bidi_move_to_visually_next): Only trigger paragraph-related
 +      computations when the last character is a newline or at EOB, not
 +      just any NEUTRAL_B.  (Bug#9470)
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +      * xdisp.c (set_cursor_from_row): Don't invoke special treatment of
 +      truncated lines if point is covered by a display string.  (Bug#9524)
  
 -      * 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.
 +2011-09-16  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +      * xselect.c: Relax test for outgoing X longs (Bug#9498).
 +      (cons_to_x_long): New function.
 +      (lisp_data_to_selection_data): Use it.  Correct the test for
 +      short-versus-long data; it was negated.  Break out of vector
 +      loop, for efficiency, when a long datum is discovered.
  
 -      * 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.
 +2011-09-16  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * insdel.c (insert_from_gap): Make it work even if PT != GTP.
 +      * eval.c (Fquote): Document its non-consing behavior (bug#9482).
  
 -      * character.h (BYTE8_STRING): New macro.
 +2011-09-16  Eli Zaretskii  <eliz@gnu.org>
  
 -      * fns.c (base64_decode_1): Insert eight-bit chars correctly.
 +      * image.c (tiff_handler): Work around a bug in MinGW GCC 3.x (see
 +      GCC PR/17406) by declaring this function with external scope.
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +2011-09-15  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * xdisp.c (get_next_display_element): Don't display unibyte 8-bit
 -      characters by octal form.
 +      * editfns.c (Fformat): Fix bug in text-property fix (Bug#9514).
 +      Don't mishandle (length (format "%%")) and (format "%4000s%%" "").
  
 -      * abbrev.c (Fexpand_abbrev): Fix for the multibyte case.
 +2011-09-15  Andreas Schwab  <schwab@linux-m68k.org>
  
 -      * 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.
 +      * editfns.c (Fformat): Correctly handle text properties on "%%".
  
 -      * casetab.c (set_canon, set_identity, shuffle): Simplify.
 +2011-09-15  Eli Zaretskii  <eliz@gnu.org>
  
 -      * casefiddle.c (casify_object): Simplify.  Handle the case that
 -      the case conversion change the byte length.
 -      (casify_region): Likewise.
 +      * xterm.c (x_draw_composite_glyph_string_foreground):
 +      * w32term.c (x_draw_composite_glyph_string_foreground):
 +      * term.c (encode_terminal_code):
 +      * composite.c (composition_update_it, get_composition_id):
 +      * xdisp.c (get_next_display_element)
 +      (fill_composite_glyph_string): Add comments about special meaning
 +      of TAB characters in a composition.
  
 -      * character.h (MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
 +2011-09-15  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * character.c (_fetch_multibyte_char_len): Delete this variable.
 -      (syms_of_character): Setup Vprintable_chars.
 +      * editfns.c (Fformat): Fix off-by-1 bug for "%%b" (Bug#9514).
 +      This occurs when processing a multibyte format.
 +      Problem reported by Wolfgang Jenker.
  
 -      * editfns.c (Fchar_equal): Fix for the unibyte case.
 -      (Finsert_byte): New function.
 -      (syms_of_editfns): Defsubr it.
 +2011-09-15  Johan Bockgård  <bojohan@gnu.org>
  
 -      * keyboard.c (read_key_sequence): Use ~CHAR_MODIFIER_MASK instead
 -      of direct code 0x3ffff.
 +      * xdisp.c (try_cursor_movement): Only check for exact match if
 +      cursor hpos found by set_cursor_from_row is valid.  (Bug#9495)
  
 -      * search.c (Freplace_match): Fix for the unibyte case.
 +2011-09-14  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +      Remove unused external symbols.
 +      * dispextern.h (calc_pixel_width_or_height): Remove decl.
 +      * xdisp.c (calc_pixel_width_or_height): Now static.
 +      * doprnt.c (exprintf) [! (HAVE_X_WINDOWS && USE_X_TOOLKIT)]: Remove.
 +      * indent.c (check_display_width):
 +      * w32term.c: Fix comment to match code.
 +      * xterm.c, xterm.h (x_catching_errors): Remove.
  
 -      * lread.c (safe_to_load_p): Fix the logic.
 +2011-09-14  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * syntax.c (scan_words): Don't treat characters belonging to
 -      different scripts as constituting a word.
 +      * xselect.c: Use signed conversions more consistently (Bug#9498).
 +      (selection_data_to_lisp_data): Assume incoming selection data are
 +      signed integers, not unsigned.  This is to be consistent with
 +      outgoing selection data, which was modified to use signed integers
 +      in as part of the fix to Bug#9196 in response to Jan D.'s comment
 +      in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9196#32> that X11
 +      expects long, not unsigned long.
  
 -      * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P.
 +2011-09-14  Eli Zaretskii  <eliz@gnu.org>
  
 -      * fontset.c (Fset_fontset_font): Treat `ascii' as charset, not script.
 +      * xdisp.c (try_window_reusing_current_matrix): Fix incorrect
 +      computation of loop end.  Reported by Johan Bockgård
 +      <bojohan@gnu.org>.
  
 -      * emacs.c (main): In the case of --unibyte, instead of aborting on
 -      finding non-empty buffer, make it unibyte.
 +2011-09-13  Chong Yidong  <cyd@stupidchicken.com>
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +      * frame.c (Fother_visible_frames_p): Function deleted.
  
 -      * xterm.c (x_new_fontset): Call `create-fontset-from-ascii-font'
 -      to create a fontset.
 +2011-09-12  Eli Zaretskii  <eliz@gnu.org>
  
 -2008-02-01  Dave Love  <fx@gnu.org>
 +      * indent.c (compute_motion): Process display vector front to back
 +      rather than the other way around.  (Bug#2496)
  
 -      * character.c (Funibyte_char_to_multibyte): Doc fix.
 +2011-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * xfns.c [HAVE_STDLIB_H]: Fix last change.
 +      * fileio.c (Finsert_file_contents): Don't assume beg_offset is 0.
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +2011-09-11  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * fontset.c (fontset_add): Make the type `int'.
 -      (fontset_id_valid_p): Define it if FONTSET_DEBUG is defined.
 +      * minibuf.c (Fread_from_minibuffer): Doc fix.
  
 -      * character.c (unibyte_char_to_multibyte)
 -      (multibyte_char_to_unibyte, Funibyte_char_to_multibyte): Refer to
 -      charset_unibyte, not charset_primary.
 +2011-09-11  Eli Zaretskii  <eliz@gnu.org>
  
 -      * charset.h (charset_unibyte): Extern it instead of charset_primary.
 +      * xdisp.c (produce_stretch_glyph): Fix a typo made in changes from
 +      2011-08-30T17:32:44Z!eliz@gnu.org.  (Bug#9475)
  
 -      * 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.
 +2011-09-11  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * 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.
 +      * fileio.c (Fvisited_file_modtime): Document `(-1 65535)' as a
 +      value for non-existent files.
  
 -      * lisp.h (nonascii_insert_offset, Vnonascii_translation_table):
 -      Delete extern.
 +2011-09-11  Eli Zaretskii  <eliz@gnu.org>
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +      * fileio.c (Finsert_file_contents): If the file cannot be opened,
 +      set its "size" to -1.  This will set the modtime_size field of
 +      the corresponding buffer to -1, which is what
 +      verify-visited-file-modtime expects for files that do not exist.
 +      (Bug#9139)
  
 -      * coding.c (Fdefine_coding_system_internal): Fix category setting
 -      for a coding system of type iso-2022.
 +2011-09-11  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +      * keymap.h (KEY_DESCRIPTION_SIZE, push_key_description): Move decls
 +      here ...
 +      * lisp.h: ... from here.  push_key_description is no longer
 +      defined in keyboard.c, so its declaration should not be in
 +      lisp.h's "Defined in keyboard.c" section, and KEY_DESCRIPTION_SIZE
 +      logically belongs with push_key_description.
  
 -      * fontset.h (FS_LOAD_FONT): Call fs_load_font with the arg CHARSET -1.
 +2011-09-10  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +      * buffer.h: Include <sys/types.h> instead of <time.h>.
 +      Otherwise, off_t wasn't defined on FreeBSD 9.0-BETA2 i386.
 +      Problem reported by Herbert J. Skuhra.
  
 -      * 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.
 +2011-09-10  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * xterm.c (x_load_font): Initialize fontp->fontset to -1.
 +      * xml.c (parse_region): Make the parsing work for
 +      non-comment-starting XML files again (bug#9144).
  
 -      * fontset.c (fs_load_font): If fontp->charset is not negative,
 -      return fontp without setting its members.
 +2011-09-10  Andreas Schwab  <schwab@linux-m68k.org>
  
 -2008-02-01  Dave Love  <fx@gnu.org>
 +      * image.c (gif_load): Fix calculation of bottom and right corner.
 +      (Bug#9468)
  
 -      * xfns.c [HAVE_STDLIB_H]: Change logic (instead of fixing typo).
 +2011-09-10  Eli Zaretskii  <eliz@gnu.org>
  
 -      * m/sparc.h (HAVE_ALLOCA): Delete.
 +      * xdisp.c (MAX_DISP_SCAN): Decrease to 250.  Prevents sluggish
 +      redisplay in small windows.
  
 -      * s/irix6-5.h: Don't include strings.h.
 -      (bcopy, bzero, bcmp): Don't undef.
 +2011-09-09  Eli Zaretskii  <eliz@gnu.org>
  
 -      * s/irix6-0.h (bcopy, bzero, bcmp): Don't undef.
 +      * frame.c (x_report_frame_params): Cast to avoid compiler warnings.
  
 -      * s/usg5-4.h (NO_SIOCTL_H): Don't define.
 -      (TIOCSIGSEND): Don't test IRIX6.
 -      (bcopy, bzero, bcmp): Define conditionally.
 +2011-09-08  Martin Rudalics  <rudalics@gmx.at>
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +      * window.c (Fset_window_prev_buffers, Fset_window_next_buffers):
 +      Operate on live windows only.
  
 -      * 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.
 +2011-09-08  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * callproc.c (Fcall_process): Don't call insert_1_both directly if
 -      we are inserting a process output into a multibyte buffer.
 +      * emacs.c (my_heap_start): #ifdef to avoid warnings when unused.
  
 -      * character.h (CHAR_TO_BYTE8): If C is not eight-bit char, call
 -      multibyte_char_to_unibyte.
 +2011-09-07  Eli Zaretskii  <eliz@gnu.org>
  
 -      * 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.
 +      * xdisp.c (move_it_in_display_line_to): Call RESTORE_IT on ppos_it
 +      only under bidi iteration.
  
 -      * 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.
 +2011-09-07  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * charset.h (charset_8_bit): Extern it.
 +      * gtkutil.c (xg_make_tool_item): Insert comment about eventbox.
  
 -      * coding.c (make_conversion_work_buffer): Adjust for the change
 -      of Fset_buffer_multibyte.
 -      (encode_coding_raw_text): Increment p0 in the loop.
 +2011-09-06  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * lisp.h (Fset_buffer_multibyte): Adjust prototype.
 +      isnan: Fix porting problem to Solaris 10 with bundled gcc.
 +      Without this fix, the command to link temacs failed due to an
 +      undefined symbol __builtin_isnan.  This is because
 +      /usr/include/iso/math_c99.h #defines isnan(x) to
 +      __builtin_isnan(x), but the bundled gcc, which identifies itself
 +      as gcc 3.4.3 (csl-sol210-3_4-branch+sol_rpath), does not have
 +      a __builtin_isnan.
 +      * floatfns.c (isnan): #undef, and then #define to a clone of
 +      what's in data.c.
 +      (Fisnan): Always define, since it's always available now.
 +      (syms_of_floatfns): Always define isnan at the Lisp level.
  
 -      * xdisp.c (setup_echo_area_for_printing, set_message_1): Adjust
 -      for the change of Fset_buffer_multibyte.
 +2011-09-06  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * fns.c (Fstring_to_multibyte): New function.
 -      (syms_of_fns): Declare Fstring_to_multibyte as Lisp subroutine.
 +      * Makefile.in (gl-stamp): move-if-change now in build-aux (Bug#9169).
  
 -2008-02-01  Dave Love  <fx@gnu.org>
 +2011-09-06  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * xfns.c (x_put_x_image): Declare args.
 +      * fileio.c: Fix bugs with large file offsets (Bug#9428).
 +      The previous code assumed that file offsets (off_t values) fit in
 +      EMACS_INT variables, which is not true on typical 32-bit hosts.
 +      The code messed up by falsely reporting buffer overflow in cases
 +      such as (insert-file-contents "big" nil 1 2) into an empty buffer
 +      when "big" contains more than 2**29 bytes, even though this
 +      inserts just one byte and does not overflow the buffer.
 +      (Finsert_file_contents): Store file offsets as off_t
 +      values, not as EMACS_INT values.  Check for overflow when
 +      converting between EMACS_INT and off_t.  When checking for
 +      buffer overflow or for overlap, take the offsets into account.
 +      Don't use EMACS_INT for small values where int suffices.
 +      When checking for overlap, fix a typo: ZV was used where
 +      ZV_BYTE was intended.
 +      (Fwrite_region): Don't assume off_t fits into 'long'.
 +      * buffer.h (struct buffer.modtime_size): Now off_t, not EMACS_INT.
  
 -      * xfaces.c (font_name_registry, choose_face_font): Delete unused vars.
 -      (try_font_list): Declare an arg.
 +2011-09-05  Michael Albinus  <michael.albinus@gmx.de>
  
 -      * xdisp.c (message2_nolog, set_message): Declare an arg.
 +      * dbusbind.c (xd_signature_cat): Rename from signature_cat.
  
 -      * terminfo.c (tparam): Declare an arg.  Use P_ to declare tparm.
 +2011-09-04  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * syntax.c (scan_sexps_forward): Declare an arg.
 +      sprintf-related integer and memory overflow issues (Bug#9412).
  
 -      * scroll.c (calculate_scrolling, calculate_direct_scrolling):
 -      Declare an arg.
 +      * doprnt.c (doprnt): Support printing ptrdiff_t and intmax_t values.
 +      (esprintf, exprintf, evxprintf): New functions.
 +      * keyboard.c (command_loop_level): Now EMACS_INT, not int.
 +      (cmd_error): Kbd macro iterations count is now EMACS_INT, not int.
 +      (modify_event_symbol): Do not assume that the length of
 +      name_alist_or_stem is safe to alloca and fits in int.
 +      (Fexecute_extended_command): Likewise for function name and binding.
 +      (Frecursion_depth): Wrap around reliably on integer overflow.
 +      * keymap.c (push_key_description): First arg is now EMACS_INT, not int,
 +      since some callers pass EMACS_INT values.
 +      (Fsingle_key_description): Don't crash if symbol name contains more
 +      than MAX_ALLOCA bytes.
 +      * minibuf.c (minibuf_level): Now EMACS_INT, not int.
 +      (get_minibuffer): Arg is now EMACS_INT, not int.
 +      * lisp.h (get_minibuffer, push_key_description): Reflect API changes.
 +      (esprintf, exprintf, evxprintf): New decls.
 +      * window.h (command_loop_level, minibuf_level): Reflect API changes.
  
 -      * lisp.h (Fnew_fontset): Declare.
 +      * dbusbind.c (signature_cat): New function.
 +      (xd_signature, Fdbus_register_signal):
 +      Do not overrun buffer; instead, report string overflow.
  
 -      * keymap.c (push_key_description): Call CHARACTERP correctly.
 +      * dispnew.c (add_window_display_history): Don't overrun buffer.
 +      Truncate instead; this is OK since it's just a log.
  
 -      * fontset.c (fontset_add): Declare args.  Call make_number correctly.
 -      (face_for_char): Delete unused vars.
 -      (Fset_fontset_font): Doc fix.  Delete unused vars.
 +      * editfns.c (Fcurrent_time_zone): Don't overrun buffer
 +      even if the time zone offset is outlandishly large.
 +      Don't mishandle offset == INT_MIN.
  
 -      * doc.c (Fsubstitute_command_keys): Delete unused vars.
 +      * emacs.c (main) [NS_IMPL_COCOA]: Don't overrun buffer
 +      when creating daemon; the previous buffer-overflow check was incorrect.
 +
 +      * eval.c (verror): Simplify by rewriting in terms of evxprintf,
 +      which has the guts of the old verror function.
 +
 +      * filelock.c (lock_file_1, lock_file): Don't blindly alloca long name;
 +      use SAFE_ALLOCA instead.  Use esprintf to avoid int-overflow issues.
 +
 +      * font.c: Include <float.h>, for DBL_MAX_10_EXP.
 +      (font_unparse_xlfd): Don't blindly alloca long strings.
 +      Don't assume XINT result fits in int, or that XFLOAT_DATA * 10
 +      fits in int, when using sprintf.  Use single snprintf to count
 +      length of string rather than counting it via multiple sprintfs;
 +      that's simpler and more reliable.
 +      (font_unparse_fcname): Use it to avoid sprintf buffer overrun.
 +      (generate_otf_features) [0 && HAVE_LIBOTF]: Use esprintf, not
 +      sprintf, in case result does not fit in int.
 +
 +      * fontset.c (num_auto_fontsets): Now printmax_t, not int.
 +      (fontset_from_font): Print it.
 +
 +      * frame.c (tty_frame_count): Now printmax_t, not int.
 +      (make_terminal_frame, set_term_frame_name): Print it.
 +      (x_report_frame_params): In X, window IDs are unsigned long,
 +      not signed long, so print them as unsigned.
 +      (validate_x_resource_name): Check for implausibly long names,
 +      and don't assume name length fits in 'int'.
 +      (x_get_resource_string): Don't blindly alloca invocation name;
 +      use SAFE_ALLOCA.  Use esprintf, not sprintf, in case result does
 +      not fit in int.
 +
 +      * gtkutil.c: Include <float.h>, for DBL_MAX_10_EXP.
 +      (xg_check_special_colors, xg_set_geometry):
 +      Make sprintf buffers a bit bigger, to avoid potential buffer overrun.
 +
 +      * lread.c (dir_warning): Don't blindly alloca buffer; use SAFE_ALLOCA.
 +      Use esprintf, not sprintf, in case result does not fit in int.
 +
 +      * macros.c (executing_kbd_macro_iterations): Now EMACS_INT, not int.
 +      (Fend_kbd_macro): Don't mishandle MOST_NEGATIVE_FIXNUM by treating
 +      it as a large positive number.
 +      (Fexecute_kbd_macro): Don't assume repeat count fits in int.
 +      * macros.h (executing_kbd_macro_iterations): Now EMACS_INT, not int.
 +
 +      * nsterm.m ((NSSize)windowWillResize): Use esprintf, not sprintf,
 +      in case result does not fit in int.
 +
 +      * print.c (float_to_string): Detect width overflow more reliably.
 +      (print_object): Make sprintf buffer a bit bigger, to avoid potential
 +      buffer overrun.  Don't assume list length fits in 'int'.  Treat
 +      print length of 0 as 0, not as infinity; to be consistent with other
 +      uses of print length in this function.  Don't overflow print length
 +      index.  Don't assume hash table size fits in 'long', or that
 +      vectorlike size fits in 'unsigned long'.
 +
 +      * process.c (make_process): Use printmax_t, not int, to format
 +      process-name gensyms.
 +
 +      * sysdep.c (snprintf) [! HAVE_SNPRINTF]: New function.
 +
 +      * term.c (produce_glyphless_glyph): Make sprintf buffer a bit bigger
 +      to avoid potential buffer overrun.
 +
 +      * xfaces.c (x_update_menu_appearance): Don't overrun buffer
 +      if X resource line is longer than 512 bytes.
 +
 +      * xfns.c (x_window): Make sprintf buffer a bit bigger
 +      to avoid potential buffer overrun.
 +
 +      * xterm.c (x_io_error_quitter): Don't overrun sprintf buffer.
 +
 +      * xterm.h (x_check_errors): Add ATTRIBUTE_FORMAT_PRINTF.
 +
 +2011-09-04  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Integer overflow fixes for scrolling, etc.
 +      Without these, Emacs silently mishandles large integers sometimes.
 +      For example, "C-u 4294967297 M-x recenter" was treated as if
 +      it were "C-u 1 M-x recenter" on a typical 64-bit host.
 +
 +      * xdisp.c (try_window_id): Check Emacs fixnum range before
 +      converting to 'int'.
 +
 +      * window.c (window_scroll_line_based, Frecenter):
 +      Check that an Emacs fixnum is in range before assigning it to 'int'.
 +      (Frecenter, Fmove_to_window_line): Use EMACS_INT, not int, for
 +      values converted from Emacs fixnums.
 +      (Frecenter): Don't wrap around a line count if it is out of 'int'
 +      range; instead, treat it as an extreme value.
 +      (Fset_window_configuration, compare_window_configurations):
 +      Use ptrdiff_t, not int, for index that might exceed 2 GiB.
  
 -      * composite.c (update_compositions): Declare arg.
 +      * search.c (Freplace_match): Use ptrdiff_t, not int, for indexes
 +      that can exceed INT_MAX.  Check that EMACS_INT value is in range
 +      before assigning it to the (possibly-narrower) index.
 +      (match_limit): Don't assume that a fixnum can fit in 'int'.
  
 -      * cm.c (calccost, cmgoto): Declare args.
 +      * print.c (print_object): Use ptrdiff_t, not int, for index that can
 +      exceed INT_MAX.
  
 -      * charset.c: Remove `emacs' conditional.  Doc fixes.
 -      (map_char_table_for_charset): Declare.
 +      * indent.c (position_indentation): Now takes ptrdiff_t, not int.
 +      (Fvertical_motion): Don't wrap around LINES values that don't fit
 +      in 'int'.  Instead, treat them as extreme values.  This is good
 +      enough for windows, which can't have more than INT_MAX lines anyway.
  
 -      * character.c (syms_of_character) <translation-table-vector>: Doc fix.
 +2011-09-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * ccl.c: Remove `emacs' conditional.
 +      * Require libxml/parser.h to avoid compilation warning.
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +      * emacs.c (shut_down_emacs): Call xmlCleanupParser on shutdown.
  
 -      The following changes are to allow specifying multiple font
 -      patterns for a character range (specified by script or charset).
 +      * xml.c (parse_region): Don't call xmlCleanupParser after parsing,
 +      since this reportedly can destroy thread storage.
  
 -      * Makefile.in (abbrev.o): Depend on syntax.h.
 -      (xfaces.o): Depend on charset.h.
 +2011-08-30  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * alloc.c (Fmake_string): Use ASCII_CHAR_P, not
 -      SINGLE_BYTE_CHAR_P.
 +      * syntax.c (find_defun_start): Update all cache variables if
 +      exiting early (Bug#9401).
  
 -      * ccl.c (Fccl_execute_on_string): Add `const' to local variables.
 +2011-08-30  Eli Zaretskii  <eliz@gnu.org>
  
 -      * character.h (Vchar_script_table): Extern it.
 +      * image.c (x_bitmap_pixmap): Cast to int to avoid compiler warnings.
  
 -      * 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.
 +      * xdisp.c (produce_stretch_glyph): No longer static, compiled also
 +      when HAVE_WINDOW_SYSTEM is not defined.  Support both GUI and TTY
 +      frames.  Call tty_append_glyph in the TTY case.  (Bug#9402)
  
 -      * chartab.c (Fmake_char_table): Doc fix.  If PURPOSE doesn't
 -      have property char-table-extra-slots, make no extra slot.
 +      * term.c (tty_append_glyph): New function.
 +      (produce_stretch_glyph): Static function and its prototype deleted.
  
 -      * 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):
 +      * dispextern.h (produce_stretch_glyph, tty_append_glyph):
        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.
 +2011-08-29  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2008-02-01  Dave Love  <fx@gnu.org>
 +      * image.c (parse_image_spec): Check for nonnegative, not for positive,
 +      when checking :margin (Bug#9390).
 +      (IMAGE_NON_NEGATIVE_INTEGER_VALUE_OR_PAIR):
 +      Rename from IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR,
 +      so that the name doesn't mislead.  All uses changed.
  
 -      * coding.c: Doc fixes.
 -      (Fcoding_system_aliases): Fix return value.
 -      (Qmac): Remove (duplicated) definition.
 +2011-08-28  Johan Bockgård  <bojohan@gnu.org>
  
 -2008-02-01  Dave Love  <fx@gnu.org>
 +      * term.c (init_tty) [HAVE_GPM]: Move mouse settings after
 +      set_tty_hooks.
  
 -      * 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>
 +2011-08-27  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * xdisp.c (move_it_to): Don't bail out early when reaching
 +      position beyond to_charpos, if we are scanning backwards.
 +      (move_it_vertically_backward): When DY == 0, make sure we get to
 +      the first character in the line after the newline.
  
 -      * coding.c (decode_coding_charset, encode_coding_charset): Handle
 -      multiple charsets correctly.
 +2011-08-27  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2008-02-01  Kenichi Handa  <handa@m17n.org>
 +      * ccl.c: Improve and simplify overflow checking (Bug#9196).
 +      (ccl_driver): Do not generate an out-of-range pointer.
 +      (Fccl_execute_on_string): Remove unnecessary check for
 +      integer overflow, noted by Stefan Monnier in
 +      <http://lists.gnu.org/archive/html/emacs-devel/2011-08/msg00979.html>.
 +      Remove a FIXME that didn't need fixing.
 +      Simplify the newly-introduced buffer reallocation code.
  
 -      * 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.
 +2011-08-27  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * makefile.w32-in ($(BLD)/alloc.$(O)): Depend on lib/verify.h.
 +
 +2011-08-26  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Integer and memory overflow issues (Bug#9196).
 +
 +      * doc.c (get_doc_string): Rework so that
 +      get_doc_string_buffer_size is the actual buffer size, rather than
 +      being 1 less than the actual buffer size; this makes xpalloc more
 +      convenient.
 +
 +      * image.c (x_allocate_bitmap_record, cache_image):
 +      * xselect.c (Fx_register_dnd_atom):
 +      Simplify previous changes by using xpalloc.
 +
 +      * buffer.c (overlay_str_len): Now ptrdiff_t, not EMACS_INT,
 +      since either will do and ptrdiff_t is convenient with xpalloc.
 +
 +      * charset.c (charset_table_size)
 +      (struct charset_sort_data.priority): Now ptrdiff_t.
 +      (charset_compare): Don't overflow if priorities differ greatly.
 +      (Fsort_charsets): Don't assume list length fits in int.
 +      Check for size-calculation overflow when allocating sort data.
 +      (syms_of_charset): Allocate an initial charset table that is
 +      just under 64 KiB, to avoid problems with glibc malloc and mmap.
 +
 +      * cmds.c (internal_self_insert): Check for size-calculation overflow.
 +
 +      * composite.h (struct composition.glyph_len): Now int, not unsigned.
 +      The actual value is always <= INT_MAX, and leaving it unsigned made
 +      overflow checking harder.
 +
 +      * dispextern.h (struct glyph_matrix.rows_allocated)
 +      (struct face_cache.size): Now ptrdiff_t, for convenience in use
 +      with xpalloc.  The values are still always <= INT_MAX.
 +
 +      * indent.c (compute_motion): Adjust to region_cache_forward sig change.
 +
 +      * lisp.h (xnmalloc, xnrealloc, xpalloc): New decls.
 +      (SAFE_NALLOCA): New macro.
 +
 +      * region-cache.c (struct boundary.pos, find_cache_boundary)
 +      (move_cache_gap, insert_cache_boundary, delete_cache_boundaries)
 +      (set_cache_region, invalidate_region_cache)
 +      (revalidate_region_cache, know_region_cache, region_cache_forward)
 +      (region_cache_backward, pp_cache):
 +      Use ptrdiff_t, not EMACS_INT, since either will do.  This is needed
 +      so that ptrdiff_t * can be passed to xpalloc.
 +      (struct region_cache): Similarly, for gap_start, gap_len, cache_len,
 +      beg_unchanged, end_unchanged, buffer_beg, buffer_end members.
 +      (pp_cache): Don't assume cache_len fits in int.
 +      * region-cache.h: Adjust extern decls to match.
 +
 +      * search.c (scan_buffer, Freplace_match): Use ptrdiff_t, not
 +      EMACS_INT, since either will do, for xpalloc.
 +
 +      * alloc.c: Include verify.h, and check that int fits in ptrdiff_t.
 +      (xnmalloc, xnrealloc, xpalloc): New functions.
 +
 +      * bidi.c (bidi_shelve_header_size): New constant.
 +      (bidi_cache_ensure_space, bidi_shelve_cache): Use it.
 +      (bidi_cache_ensure_space): Avoid integer overflow when allocating.
 +
 +      * bidi.c (bidi_cache_shrink):
 +      * buffer.c (overlays_at, overlays_in, record_overlay_string)
 +      (overlay_strings):
 +      Don't update size of array until after memory allocation succeeds,
 +      because xmalloc/xrealloc may not return.
 +      (struct sortstrlist.bytes): Now ptrdiff_t, as EMACS_INT doesn't help
 +      now that we have proper integer overflow checking.
 +      (record_overlay_string, overlay_strings): Catch overflows when
 +      calculating size of overlay_str_buf.
 +
 +      * callproc.c (Fcall_process): Check for size overflow when
 +      calculating size of args2.
 +      (child_setup): Avoid overflow by using size_t rather than ptrdiff_t.
 +      Normally we prefer signed values, but sticking with ptrdiff_t would
 +      require adding more-complicated checks.
 +
 +      * ccl.c (Fccl_execute_on_string): Check for memory overflow.
 +      Use ptrdiff_t rather than EMACS_INT where ptrdiff_t will do.
 +      Redo buffer-overflow calculations to avoid integer overflow.
 +      Add a FIXME comment where memory seems to be over-allocated.
 +
 +      * character.c (Fstring): Check for size-calculation overflow.
 +
 +      * coding.c (produce_chars): Redo buffer-overflow calculations to avoid
 +      unnecessary integer overflow.  Check for size overflow.
 +      (encode_coding_object): Don't update size until xmalloc succeeds.
 +
 +      * composite.c (get_composition_id): Check for overflow in glyph
 +      length calculations.
 +
 +      Integer and memory overflow fixes for display code.
 +      * dispextern.h (struct glyph_pool.nglyphs): Now ptrdiff_t, not int.
 +      * dispnew.c (adjust_glyph_matrix, realloc_glyph_pool)
 +      (scrolling_window): Check for overflow in size calculations.
 +      (line_draw_cost, realloc_glyph_pool, add_row_entry):
 +      Don't assume glyph table len fits in int.
 +      (struct row_entry.bucket, row_entry_pool_size, row_entry_idx)
 +      (row_table_size): Now ptrdiff_t, not int.
 +      (scrolling_window): Avoid overflow in size calculations.
 +      Don't update size until allocation succeeds.
 +      * fns.c (concat): Check for overflow in size calculations.
 +      (next_almost_prime): Verify NEXT_ALMOST_PRIME_LIMIT.
 +      * lisp.h (RANGED_INTEGERP, TYPE_RANGED_INTEGERP): New macros.
 +      (NEXT_ALMOST_PRIME_LIMIT): New constant.
 +
 +      * doc.c (get_doc_string_buffer_size): Now ptrdiff_t, not int.
 +      (get_doc_string): Check for size calculation overflow.
 +      Don't update size until allocation succeeds.
 +      (get_doc_string, Fsubstitute_command_keys): Use ptrdiff_t, not
 +      EMACS_INT, where ptrdiff_t will do.
 +      (Fsubstitute_command_keys): Check for string overflow.
 +
 +      * editfns.c (set_time_zone_rule): Don't assume environment length
 +      fits in int.
 +      (message_length): Now ptrdiff_t, not int.
 +      (Fmessage_box): Don't update size until allocation succeeds.
 +      Don't assume message length fits in int.
 +      (Fformat): Use ptrdiff_t, not EMACS_INT, where ptrdiff_t will do.
 +
 +      * emacs.c (main): Do not reallocate argv, since there is a null at
 +      the end that can be overwritten, and this way there's no need to
 +      worry about size-calculation overflow.
 +      (sort_args): Check for size-calculation overflow.
 +
 +      * eval.c (init_eval_once, grow_specpdl): Don't update size until
 +      alloc succeeds.
 +      (call_debugger, grow_specpdl): Redo calculations to avoid overflow.
 +
 +      * frame.c (set_menu_bar_lines, x_set_frame_parameters)
 +      (x_set_scroll_bar_width, x_figure_window_size):
 +      Check for integer overflow.
 +      (x_set_alpha): Do not assume XINT fits in int.
 +
 +      * frame.h (struct frame): Use int, not EMACS_INT, where int works.
 +      This is for the members text_lines, text_cols, total_lines, total_cols,
 +      where the system imposes an 'int' limit.
 +
 +      * fringe.c (Fdefine_fringe_bitmap):
 +      Don't update size until alloc works.
 +
 +      * ftfont.c (ftfont_get_open_type_spec, setup_otf_gstring)
 +      (ftfont_shape_by_flt): Check for integer overflow in size calculations.
 +
 +      * gtkutil.c (get_utf8_string, xg_store_widget_in_map):
 +      Check for size-calculation overflow.
 +      (get_utf8_string): Use ptrdiff_t, not size_t, where either will
 +      do, as we prefer signed integers.
 +      (id_to_widget.max_size, id_to_widget.used)
 +      (xg_store_widget_in_map, xg_remove_widget_from_map)
 +      (xg_get_widget_from_map, xg_get_scroll_id_for_window)
 +      (xg_remove_scroll_bar, xg_update_scrollbar_pos):
 +      Use and return ptrdiff_t, not int.
 +      (xg_gtk_scroll_destroy): Don't assume ptrdiff_t fits in int.
 +      * gtkutil.h: Change prototypes to match the above.
 +
 +      * image.c (RANGED_INTEGERP, TYPE_RANGED_INTEGERP): Remove; these
 +      are duplicate now that they've been promoted to lisp.h.
 +      (x_allocate_bitmap_record, x_alloc_image_color)
 +      (make_image_cache, cache_image, xpm_load):
 +      Don't update size until alloc is done.
 +      (xpm_load, lookup_rgb_color, lookup_pixel_color, x_to_xcolors)
 +      (x_detect_edges):
 +      Check for size calculation overflow.
 +      (ct_colors_allocated_max): New constant.
 +      (x_to_xcolors, x_detect_edges): Reorder multiplicands to avoid
 +      overflow.
  
 -2008-01-26  Eli Zaretskii  <eliz@gnu.org>
 +      * keyboard.c (read_char, menu_bar_items, tool_bar_items)
 +      (read_char_x_menu_prompt, read_char_minibuf_menu_width)
 +      (read_char_minibuf_menu_prompt, follow_key, read_key_sequence):
 +      Use ptrdiff_t, not int, to count maps.
 +      (read_char_minibuf_menu_prompt): Check for overflow in size
 +      calculations.  Don't update size until allocation succeeds.
 +      Redo calculations to avoid overflow.
 +      * keyboard.h: Change prototypes to match the above.
 +
 +      * keymap.c (cmm_size, current_minor_maps): Use ptrdiff_t, not int,
 +      to count maps.
 +      (current_minor_maps): Check for size calculation overflow.
 +      * keymap.h: Change prototypes to match the above.
 +
 +      * lread.c (read1, init_obarray): Don't update size until alloc done.
 +
 +      * macros.c (Fstart_kbd_macro): Don't update size until alloc done.
 +      (store_kbd_macro_char): Reorder multiplicands to avoid overflow.
 +
 +      * nsterm.h (struct ns_color_table.size, struct ns_color_table.avail):
 +      Now ptrdiff_t, not int.
 +      * nsterm.m (ns_index_color): Use ptrdiff_t, not int, for table indexes.
 +      (ns_draw_fringe_bitmap): Rewrite to avoid overflow.
 +
 +      * process.c (Fnetwork_interface_list): Check for overflow
 +      in size calculation.
 +
 +      * region-cache.c (move_cache_gap): Check for size calculation overflow.
 +
 +      * scroll.c (do_line_insertion_deletion_costs): Check for size calc
 +      overflow.  Don't bother calling xmalloc when xrealloc will do.
 +
 +      * search.c (Freplace_match): Check for size calculation overflow.
 +      (Fset_match_data): Don't assume list lengths fit in 'int'.
 +
 +      * sysdep.c (system_process_attributes): Use ptrdiff_t, not int,
 +      for command line length.  Do not attempt to address one before the
 +      beginning of an array, as that's not portable.
 +
 +      * term.c (max_frame_lines): Remove; unused.
 +      (encode_terminal_src_size, encode_terminal_dst_size): Now ptrdiff_t,
 +      not int.
 +      (encode_terminal_code, calculate_costs): Check for size
 +      calculation overflow.
 +      (encode_terminal_code): Use ptrdiff_t, not int, to record glyph
 +      table lengths and related sizes.  Don't update size until alloc
 +      done.  Redo calculations to avoid overflow.
 +      (calculate_costs): Don't bother calling xmalloc when xrealloc will do.
 +
 +      * termcap.c (tgetent): Use ptrdiff_t, not int, to record results of
 +      subtracting pointers.
 +      (gobble_line): Check for overflow more carefully.  Don't update size
 +      until alloc done.
 +
 +      * tparam.c (tparam1): Use ptrdiff_t, not int, for sizes.
 +      Don't update size until alloc done.
 +      Redo size calculations to avoid overflow.
 +      Check for size calculation overflow.
 +      (main) [DEBUG]: Fix typo in invoking tparam1.
 +
 +      * xdisp.c (store_mode_line_noprop_char, x_consider_frame_title):
 +      Use ptrdiff_t, not int, for sizes.
 +      (store_mode_line_noprop_char): Don't update size until alloc done.
 +
 +      * xfaces.c (lface_id_to_name_size, Finternal_make_lisp_face):
 +      Use ptrdiff_t, not int, for sizes.
 +      (Finternal_make_lisp_face, cache_face):
 +      Check for size calculation overflow.
 +      (cache_face): Treat size calculation overflows as if they were
 +      memory exhaustion (the usual treatment), rather than aborting.
 +
 +      * xfns.c (x_encode_text, x_set_name_internal)
 +      (Fx_change_window_property): Use ptrdiff_t, not int, to count
 +      sizes, since they can exceed INT_MAX in size.  Check for size
 +      calculation overflow.
 +
 +      * xgselect.c (gfds_size): Now ptrdiff_t, for convenience with xpalloc.
 +      (xg_select): Check for size calculation overflow.
 +      Don't update size until alloc done.
 +
 +      * xrdb.c (get_environ_db): Don't assume path length fits in int,
 +      as sprintf is limited to int lengths.
 +
 +      * xselect.c (X_LONG_SIZE, X_SHRT_MAX, X_SHRT_MIN, X_LONG_MAX)
 +      (X_LONG_MIN): New macros.
 +      Use them to make the following changes clearer.
 +      (MAX_SELECTION_QUANTUM): Make the other bounds on this value clearer.
 +      This change doesn't affect the value now, but it may help remind
 +      future maintainers not to raise the value too much later.
 +      (SELECTION_QUANTUM): Remove, replacing with ...
 +      (selection_quantum): ... new function, which avoids overflow.
 +      All uses changed.
 +      (struct selection_data.size): Now ptrdiff_t, not int, to avoid
 +      assumption that selection length fits in 'int'.
 +      (x_reply_selection_request, x_handle_selection_request)
 +      (x_get_window_property, receive_incremental_selection)
 +      (x_get_window_property_as_lisp_data, selection_data_to_lisp_data)
 +      (lisp_data_to_selection_data, clean_local_selection_data):
 +      Use ptrdiff_t, not int, to record length of selection.
 +      (x_reply_selection_request, x_get_window_property)
 +      (receive_incremental_selection, x_property_data_to_lisp):
 +      Redo calculations to avoid overflow.
 +      (x_reply_selection_request): When sending hint, ceiling it at
 +      X_LONG_MAX rather than relying on wraparound overflow to send
 +      something.
 +      (x_get_window_property, receive_incremental_selection)
 +      (lisp_data_to_selection_data, x_property_data_to_lisp):
 +      Check for size-calculation overflow.
 +      (x_get_window_property, receive_incremental_selection)
 +      (lisp_data_to_selection_data, Fx_register_dnd_atom):
 +      Don't store size until memory allocation succeeds.
 +      (x_get_window_property): Plug memory leak on memory exhaustion.
 +      Don't double-block input; malloc is safe here.  Don't assume 2**34
 +      - 4 fits in unsigned long.  Add an xassert to check
 +      XGetWindowProperty overflow.  Be more careful about overflow
 +      calculations, and distinguish size from memory overflow better.
 +      (receive_incremental_selection): When tracing, don't assume
 +      unsigned int is less than INT_MAX.
 +      (x_selection_data_to_lisp_data): Remove unnecessary (and in theory
 +      harmful) conversions of unsigned short to int.
 +      (lisp_data_to_selection_data): Don't assume that integers
 +      in the range -65535 through -1 fit in an X unsigned short.
 +      Don't assume that ULONG_MAX == X_ULONG_MAX.  Don't store into
 +      result parameters unless successful.  Rely on cons_to_unsigned
 +      to report problems with elements; the old code wasn't right anyway.
 +      (x_check_property_data): Check for int overflow; we cannot use
 +      a wider type due to X limits.
 +      (x_handle_dnd_message): Use unsigned int, to avoid int overflow.
 +
 +      * xsmfns.c (smc_save_yourself_CB): Check for size calc overflow.
 +
 +      * xterm.c (x_color_cells, x_send_scrollbar_event, handle_one_xevent)
 +      (x_term_init): Check for size calculation overflow.
 +      (x_color_cells): Don't store size until memory allocation succeeds.
 +      (handle_one_xevent): Use ptrdiff_t, not int, for byte counts.
 +      Don't assume alloca size is less than MAX_ALLOCA.
 +      (x_term_init): Don't assume length fits in int (sprintf is limited
 +      to int size).
 +
 +      Use ptrdiff_t for composition IDs.
 +      * character.c (lisp_string_width):
 +      * composite.c (composition_table_size, n_compositions)
 +      (get_composition_id, composition_gstring_from_id):
 +      * dispextern.h (struct glyph_string.cmp_id, struct composition_it.id):
 +      * xdisp.c (BUILD_COMPOSITE_GLYPH_STRING):
 +      * window.c (Frecenter):
 +      Use ptrdiff_t, not int, for composition IDs.
 +      * composite.c (get_composition_id): Check for integer overflow.
 +      * composite.h: Adjust prototypes to match the above changes.
 +
 +      Use ptrdiff_t for hash table indexes.
 +      * category.c (hash_get_category_set):
 +      * ccl.c (ccl_driver):
 +      * charset.h (struct charset.hash_index, CHECK_CHARSET_GET_ID):
 +      * coding.c (coding_system_charset_list, detect_coding_system):
 +      * coding.h (struct coding_system.id):
 +      * composite.c (get_composition_id, gstring_lookup_cache):
 +      * fns.c (hash_lookup, hash_put, Fgethash, Fputhash):
 +      * image.c (xpm_get_color_table_h):
 +      * lisp.h (hash_lookup, hash_put):
 +      * minibuf.c (Ftest_completion):
 +      Use ptrdiff_t for hash table indexes, not int (which is too
 +      narrow, on 64-bit hosts) or EMACS_INT (which is too wide, on
 +      32-bit --with-wide-int hosts).
 +
 +      * charset.c (Fdefine_charset_internal): Check for integer overflow.
 +      Add a FIXME comment about memory leaks.
 +      (syms_of_charset): Don't assume xmalloc returns.
 +
 +      Don't assume that stated character widths fit in int.
 +      * character.c (Fchar_width, c_string_width, lisp_string_width):
 +      * character.h (CHAR_WIDTH):
 +      * indent.c (MULTIBYTE_BYTES_WIDTH):
 +      Use sanitize_char_width to avoid undefined and/or bad behavior
 +      with outlandish widths.
 +      * character.h (sanitize_tab_width): Rename from sanitize_width,
 +      now that we have two such functions.  All uses changed.
 +      (sanitize_char_width): New inline function.
 +
 +      Don't assume that tab-width fits in int.
 +      * character.h (sanitize_width): New inline function.
 +      (SANE_TAB_WIDTH): New macro.
 +      (ASCII_CHAR_WIDTH): Use it.
 +      * indent.c (sane_tab_width): Remove.  All uses replaced by
 +      SANE_TAB_WIDTH (current_buffer).
 +      * xdisp.c (init_iterator): Use SANE_TAB_WIDTH.
 +
 +      * fileio.c: Integer overflow issues with file modes.
 +      (Fset_file_modes, auto_save_1): Don't assume EMACS_INT fits in int.
 +
 +      * charset.c (read_hex): New arg OVERFLOW.  All uses changed.
 +      Remove unreachable code.
 +      (read_hex, load_charset_map_from_file): Check for integer overflow.
 +
 +      * xterm.c: don't go over XClientMessageEvent limit
 +      (scroll_bar_windows_size): Now ptrdiff_t, as we prefer signed.
 +      (x_send_scroll_bar_event): Likewise.  Check that the size does not
 +      exceed limits imposed by XClientMessageEvent, as well as the usual
 +      ptrdiff_t and size_t limits.
 +
 +      * keyboard.c: Overflow, signedness and related fixes.
 +      (make_lispy_movement): Use same integer type in forward decl
 +      that is used in the definition.
 +      (read_key_sequence, keyremap_step):
 +      Change bufsize argument back to int, undoing my 2011-03-30 change.
 +      We prefer signed types, and int is wide enough here.
 +      (parse_tool_bar_item): Don't assume tool_bar_max_label_size is less
 +      than TYPE_MAXIMUM (EMACS_INT) / 2.  Don't let the label size grow
 +      larger than STRING_BYTES_BOUND.  Use ptrdiff_t for Emacs string
 +      length, not size_t.  Use ptrdiff_t for index, not int.
 +      (keyremap_step, read_key_sequence): Redo bufsize check to avoid
 +      possibility of integer overflow.
 +
 +      Overflow, signedness and related fixes for images.
 +
 +      * dispextern.h (struct it.stack[0].u.image.image_id)
 +      (struct_it.image_id, struct image.id, struct image_cache.size)
 +      (struct image_cache.used, struct image_cache.ref_count):
 +      * gtkutil.c (update_frame_tool_bar):
 +      * image.c (x_reference_bitmap, Fimage_size, Fimage_mask_p)
 +      (Fimage_metadata, free_image_cache, clear_image_cache, lookup_image)
 +      (cache_image, mark_image_cache, x_kill_gs_process, Flookup_image):
 +      * nsmenu.m (update_frame_tool_bar):
 +      * xdisp.c (calc_pixel_width_or_height):
 +      * xfns.c (image_cache_refcount):
 +      Image IDs are now ptrdiff_t, not int, to avoid arbitrary limits
 +      on typical 64-bit hosts.
 +
 +      * image.c (RANGED_INTEGERP, TYPE_RANGED_INTEGERP): New macros.
 +      (x_bitmap_pixmap, x_create_x_image_and_pixmap):
 +      Omit unnecessary casts to int.
 +      (parse_image_spec): Check that integers fall into 'int' range
 +      when the callers expect that.
 +      (image_ascent): Redo ascent calculation to avoid int overflow.
 +      (clear_image_cache): Avoid overflow when sqrt (INT_MAX) < nimages.
 +      (lookup_image): Remove unnecessary tests.
 +      (xbm_image_p): Locals are now of int, not EMACS_INT,
 +      since parse_image_check makes sure they fit into int.
 +      (png_load, gif_load, svg_load_image):
 +      Prefer int to unsigned where either will do.
 +      (tiff_handler): New function, combining the cores of the
 +      old tiff_error_handler and tiff_warning_handler.
 +      This function is rewritten to use vsnprintf and thereby avoid
 +      stack buffer overflows.  It uses only the features of vsnprintf
 +      that are common to both POSIX and native Microsoft.
 +      (tiff_error_handler, tiff_warning_handler): Use it.
 +      (tiff_load, gif_load, imagemagick_load_image):
 +      Don't assume :index value fits in 'int'.
 +      (gif_load): Omit unnecessary cast to double, and avoid double-rounding.
 +      (imagemagick_load_image): Check that crop parameters fit into
 +      the integer types that MagickCropImage accepts.  Don't assume
 +      Vimagemagick_render_type has a nonnegative value.  Don't assume
 +      size_t fits in 'long'.
 +      (gs_load): Use printmax_t to print the widest integers possible.
 +      Check for integer overflow when computing image height and width.
 +
 +2011-08-26  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * xdisp.c (redisplay_window): Don't force window start if point
 +      will be invisible in the resulting window.  (Bug#9324)
 +
 +2011-08-25  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * xdisp.c (compute_display_string_pos): Return 2 in DISP_PROP when
 +      the display spec is of the form `(space ...)'.
 +      (handle_display_spec): Return the value returned by
 +      handle_single_display_spec, not just 1 or zero.
 +      (handle_single_display_spec): If the display spec is of the form
 +      `(space ...)', and specifies display in the text area, return 2
 +      rather than 1.
 +      (try_cursor_movement): Check for the need to scroll more
 +      accurately, and prefer exact match for point under bidi.
 +      Don't advance `row' beyond the last row of the window.
 +
 +      * dispextern.h (struct bidi_it): Rename the disp_prop_p member
 +      into disp_prop; all users changed.
 +
 +      * bidi.c (bidi_fetch_char): If compute_display_string_pos returns
 +      DISP_PROP = 2, substitute the u+2029 PARAGRAPH SEPARATOR character
 +      for the text covered by the display property.
 +
 +2011-08-25  Chong Yidong  <cyd@stupidchicken.com>
 +
 +      * buffer.c (Fbury_buffer_internal): Rename from Funrecord_buffer.
 +      Change return value to nil.
 +      (Frecord_buffer): Delete unused function.
 +
 +2011-08-24  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * xdisp.c (Fcurrent_bidi_paragraph_direction): For unibyte
 +      buffers, return left-to-right.
 +      (set_cursor_from_row): Consider candidate row a win if its glyph
 +      represents a newline and point is on that newline.  Fixes cursor
 +      positioning on the newline at EOL of R2L text within L2R
 +      paragraph, and vice versa.
 +      (try_cursor_movement): Check continued rows, in addition to
 +      continuation rows.  Fixes unwarranted scroll when point enters a
 +      continued line of R2L text within an L2R paragraph, or vice versa.
 +      (cursor_row_p): Consider the case of point being equal to
 +      MATRIX_ROW_END_CHARPOS.  Prevents cursor being stuck when moving
 +      from the end of a short line to the beginning of a continued line
 +      of R2L text within L2R paragraph.
 +      (RECORD_MAX_MIN_POS): For max_pos, use IT_CHARPOS even for
 +      composed characters.
 +
 +      * bidi.c (bidi_check_type): Use xassert.
 +      (bidi_cache_iterator_state): Update the disp_pos and disp_prop_p
 +      members.
  
 -      * 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.
 +2011-08-23  Eli Zaretskii  <eliz@gnu.org>
  
 -2008-01-26  Jason Rumney  <jasonr@gnu.org>
 +      * bidi.c (bidi_get_type): Abort if we get zero as the bidi type of
 +      a character.
  
 -      * w32.c (logon_network_drive): New function.
 -      (stat): Use it.
 +2011-08-23  Chong Yidong  <cyd@stupidchicken.com>
  
 -2008-01-26  Chong Yidong  <cyd@stupidchicken.com>
 +      * nsfont.m (ns_otf_to_script): Fix typo.
  
 -      * xdisp.c (pos_visible_p): Handle the case where charpos falls on
 -      invisible text covered with an ellipsis.
 +2011-08-22  Kenichi Handa  <handa@m17n.org>
  
 -2008-01-25  Richard Stallman  <rms@gnu.org>
 +      * chartab.c (Fset_char_table_extra_slot): Do not inhibit setting a
 +      extra slot even if the purpose is char-code-property-table.
  
 -      * 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.
 +2011-08-23  Eli Zaretskii  <eliz@gnu.org>
  
 -      * keyboard.c (read_char): Restore echo_message_buffer after redisplay.
 +      * xdisp.c (redisplay_window): When computing centering_position,
 +      account for the height of the header line.  (Bug#8874)
  
 -      * buffer.c (reset_buffer_local_variables):
 -      Implement `permanent-local-hook'.
 -      (Qpermanent_local_hook): New variable.
 -      (syms_of_buffer): Init and staticpro it.
 +      * dispnew.c (buffer_posn_from_coords): Use buf_charpos_to_bytepos
 +      instead of CHAR_TO_BYTE.  Fixes a crash when a completion
 +      candidate is selected by the mouse, and that candidate has a
 +      composed character under the mouse.
  
 -2008-01-25  Michael Albinus  <michael.albinus@gmx.de>
 +      * xdisp.c (x_produce_glyphs): Set it->nglyphs to 1.  Fixes pixel
 +      coordinates reported by pos-visible-in-window-p for a composed
 +      character in column zero.
  
 -      * dbusbind.c (xd_retrieve_arg): Pacify GCC on x86_64 GNU/Linux.
 +2011-08-23  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2008-01-25  Thien-Thi Nguyen  <ttn@gnuvola.org>
 +      * cmds.c (Fself_insert_command): Mention post-self-insert-hook.
  
 -      * fns.c (Fclrhash): Return TABLE.
 +2011-08-22  Eli Zaretskii  <eliz@gnu.org>
  
 -2008-01-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * xdisp.c (BUFFER_POS_REACHED_P): If this is a composition,
 +      consider it a hit if to_charpos is anywhere in the range of the
 +      composed buffer positions.
  
 -      * 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.
 +2011-08-22  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * macterm.h (struct scroll_bar): New member `redraw_needed_p'.
 +      * image.c (gif_load): Don't assume that each subimage has the same
 +      dimensions as the base image.  Handle disposal method that is
 +      "undefined" by the gif spec (Bug#9335).
  
 -2008-01-23  Jason Rumney  <jasonr@gnu.org>
 +2011-08-20  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * xterm.c (handle_one_xevent): Revert to counting chars not bytes.
 +      * eval.c (Fsignal): Handle `debug' symbol in error handler (Bug#9329).
 +      (Fcondition_case): Document `debug' symbol in error handler.
  
 -      * 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.
 +2011-08-19  Eli Zaretskii  <eliz@gnu.org>
  
 -2008-01-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * xfaces.c (face_at_buffer_position): Avoid repeated evaluation of
 +      face ID by FACE_FROM_ID, and avoid a crash when mouse is moved
 +      from an Org mode buffer to a Speedbar frame.
  
 -      * 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.
 +      * xdisp.c (RECORD_MAX_MIN_POS): If the display element comes from
 +      a composition, take its buffer position from IT->cmp_it.charpos.
 +      Fixes cursor positioning at the beginning of a line that begins
 +      with a composed character.
  
 -2008-01-21  Michael Albinus  <michael.albinus@gmx.de>
 +2011-08-18  Eli Zaretskii  <eliz@gnu.org>
  
 -      * 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.
 +      * bidi.c (bidi_get_type): If bidi_type_table reports zero as the
 +      character bidirectional type, use STRONG_L instead.  Fixes crashes
 +      in a buffer produced by `describe-categories'.
  
 -2008-01-20  Martin Rudalics  <rudalics@gmx.at>
 +      * dispextern.h (struct bidi_it): Move disp_pos and disp_prop_p
 +      members before the level stack, so they would be saved and
 +      restored when copying iterator state.  Fixes incorrect reordering
 +      around TABs covered by display properties.
  
 -      * 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.
 +2011-08-18  Andreas Schwab  <schwab@linux-m68k.org>
  
 -2008-01-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * process.c (Fnetwork_interface_list): Correctly determine buffer size.
  
 -      * process.c (list_processes_1): Don't use SCHARS on a nil buffer name.
 +2011-08-17  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * 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.
 +      * eval.c (internal_condition_case, internal_condition_case_1)
 +      (internal_condition_case_2, internal_condition_case_n):
 +      Remove unnecessary aborts (Bug#9081).
  
 -      * window.c (set_window_buffer): Don't unnecessarily reset hscroll and
 -      vscroll if we're setting window-buffer to the value it already has.
 +2011-08-17  Eli Zaretskii  <eliz@gnu.org>
  
 -2008-01-18  Dan Nicolaescu  <dann@ics.uci.edu>
 +      * lread.c (Fload) [DOS_NT]: If `openp' returns -2, but the file
 +      has no `load' handler, try opening the file locally.  (Bug#9311)
  
 -      * m/intel386.h: Remove references to XENIX.
 +2011-08-16  Ken Brown  <kbrown@cornell.edu>
  
 -2008-01-17  Andreas Schwab  <schwab@suse.de>
 +      * gmalloc.c: Expand comment.
  
 -      * 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.
 +2011-08-16  Eli Zaretskii  <eliz@gnu.org>
  
 -2008-01-17  Glenn Morris  <rgm@gnu.org>
 +      * xdisp.c (set_cursor_from_row): Don't accept a previous candidate
 +      if it fails the cursor_row_p test.  Fixes cursor positioning at ZV.
  
 -      * m/ibms390x.h (START_FILES, LIB_STANDARD): Adjust value according
 -      to HAVE_X86_64_LIB64_DIR.
 +2011-08-16  Ken Brown  <kbrown@cornell.edu>
  
 -2008-01-16  Dan Nicolaescu  <dann@ics.uci.edu>
 +      Fix memory allocation problems in Cygwin build (Bug#9273).
  
 -      * 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.
 +      * unexcw.c ( __malloc_initialized): Declare external variable.
 +      (fixup_executable): Force the dumped emacs to reinitialize malloc.
  
 -      * sysdep.c: Remove code containing references to symbols defined
 -      by unsupported systems.
 +      * gmalloc.c [CYGWIN] (bss_sbrk_heapbase, bss_sbrk_heapinfo):
 +      New variables.
 +      (malloc_initialize_1) [CYGWIN]: Prepare for reinitializing the
 +      dumped emacs.
 +      (_free_internal_nolock) [CYGWIN]: Ignore requests to free storage
 +      in the static heap.
 +      [CYGWIN] (special_realloc): New function.
 +      (_realloc_internal_nolock) [CYGWIN]: Use the new function on
 +      requests to realloc storage in the static heap.
  
 -2008-01-16  Glenn Morris  <rgm@gnu.org>
 +2011-08-15  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * coding.c (select-safe-coding-system-function): Doc fix.
 +      * bidi.c (bidi_initialize): Remove unused local.
  
 -2008-01-15  Glenn Morris  <rgm@gnu.org>
 +2011-08-15  Eli Zaretskii  <eliz@gnu.org>
  
 -      * config.in: Revert 2008-01-13 change: this is a generated file.
 +      * bidimirror.h:
 +      * biditype.h: Remove file.
 +      * makefile.w32-in ($(BLD)/bidi.$(O)):
 +      * deps.mk (bidi.o): Remove biditype.h and bidimirror.h.
  
 -2008-01-13  Tom Tromey  <tromey@redhat.com>
 +      * dispextern.h: Fix a typo in the comment to bidi_type_t.
  
 -      * lisp.h: Fix typo.
 +      * chartab.c: Improve commentary for the uniprop_table API.
  
 -2008-01-13  Dan Nicolaescu  <dann@ics.uci.edu>
 +      * bidi.c (bidi_paragraph_init): Support zero value of
 +      bidi_ignore_explicit_marks_for_paragraph_level.
 +      (bidi_initialize): Use uniprop_table instead of including
 +      biditype.h and bidimirror.h.
  
 -      * 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>
 +      * xdisp.c (move_it_in_display_line_to): Don't reset pixel
 +      coordinates of the iterator when restoring from ppos_it.
 +      (Bug#9296)
  
 -      * textprop.c (get_char_property_and_overlay):
 -      Signal error if POSITION is out of range in a buffer.
 +2011-08-14  Kenichi Handa  <handa@m17n.org>
  
 -2007-12-29  Martin Rudalics  <rudalics@gmx.at>
 +      * process.c (create_process): Call setup_process_coding_systems
 +      after the pid of the process is set to -1 (Bug#8162).
  
 -      * w32fns.c (Fx_create_frame): Make copy of frame parameters
 -      because the original parameters are in pure storage now.
 +2011-08-14  Eli Zaretskii  <eliz@gnu.org>
  
 -2007-12-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * xdisp.c (move_it_in_display_line_to): Don't invoke
 +      IT_RESET_X_ASCENT_DESCENT when iterator position was restored from
 +      ppos_it.  Fixes vertical cursor motion when line beginning is
 +      covered by an image.  (Bug#9296)
  
 -      * xdisp.c (phys_cursor_in_rect_p): Check if cursor is in fringe area.
 +2011-08-14  Jan Djärv  <jan.h.d@swipnet.se>
  
 -2007-12-22  Eli Zaretskii  <eliz@gnu.org>
 +      * nsterm.h (ns_run_ascript): Declare.
 +      (NSAPP_DATA2_RUNASSCRIPT): Define.
  
 -      * callint.c (syms_of_callint) <command-history>: Add reference to
 -      history-length in the doc string.
 +      * nsfns.m (as_script, as_result, as_status): New static variables.
 +      (ns_run_ascript): New function.
 +      (Fns_do_applescript): Set variables as_*.  Make an NSApplicationDefined
 +      event with data2 set to NSAPP_DATA2_RUNASSCRIPT, post it and then start
 +      the event loop.  Get status from as_status (Bug#7276).
  
 -2007-12-17  Jason Rumney  <jasonr@gnu.org>
 +      * nsterm.m (sendEvent): If event is NSApplicationDefined and
 +      data2 is NSAPP_DATA2_RUNASSCRIPT, call ns_run_ascript and then exit
 +      the event loop (Bug#7276).
  
 -      * w32fns.c (w32_wnd_proc) <WM_KEYDOWN>: Cast char to unsigned
 -      before passing as wParam.
 +2011-08-14  Andreas Schwab  <schwab@linux-m68k.org>
  
 -2007-12-22  Michael Albinus  <michael.albinus@gmx.de>
 +      * gnutls.c (QCgnutls_bootprop_priority)
 +      (QCgnutls_bootprop_trustfiles, QCgnutls_bootprop_keylist)
 +      (QCgnutls_bootprop_crlfiles, QCgnutls_bootprop_callbacks)
 +      (QCgnutls_bootprop_loglevel, QCgnutls_bootprop_hostname)
 +      (QCgnutls_bootprop_min_prime_bits, QCgnutls_bootprop_verify_flags)
 +      (QCgnutls_bootprop_verify_hostname_error)
 +      (QCgnutls_bootprop_callbacks_verify): Rename from
 +      Qgnutls_bootprop_..., all uses changed.
  
 -      * 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.
 +      * xfaces.c (QCignore_defface): Rename from Qignore_defface, all
 +      uses changed.
  
 -2007-12-21  Michael Albinus  <michael.albinus@gmx.de>
 +2011-08-14  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * 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.
 +      * xfaces.c (Qframe_set_background_mode): Now static.
 +      * dispextern.h (Qframe_set_background_mode): Remove decl.
  
 -2007-12-19  Michael Albinus  <michael.albinus@gmx.de>
 +      * process.c (Fnetwork_interface_info): Declare local only if needed.
  
 -      * 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.
 +2011-08-13  Jan Djärv  <jan.h.d@swipnet.se>
  
 -2007-12-16  Michael Albinus  <michael.albinus@gmx.de>
 +      * process.c: Include ifaddrs.h and net/if_dl.h if available (Bug#8477).
 +      (Fnetwork_interface_list): Allocate in increments of bytes instead
 +      of sizeof (struct ifreq).  Iterate over ifconf.ifc_req by counting
 +      bytes (Bug#8477).  Count bytes correctly when ifr_addr is a struct
 +      sockaddr.
 +      (struct ifflag_def): notrailers is smart on OSX.
 +      (Fnetwork_interface_info): Handle case when ifr_flags is negative.
 +      Get hardware address with getifaddrs if available.
  
 -      * 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.
 +2011-08-12  Eli Zaretskii  <eliz@gnu.org>
  
 -2007-12-16  Andreas Schwab  <schwab@suse.de>
 +      * xdisp.c (iterate_out_of_display_property): xassert that
 +      IT->position is set to within IT->object's boundaries.  Break from
 +      the loop as soon as EOB is reached; avoids infloops in redisplay
 +      when IT->position is set up wrongly due to some bug.
 +      Set IT->current to match the bidi iterator unconditionally.
 +      (push_display_prop): Allow GET_FROM_STRING as IT->method on
 +      entry.  Force push_it to save on the stack the current
 +      buffer/string position, to be restored by pop_it.  Fix flags in
 +      the iterator structure wrt the object coming from a display
 +      property, as `line-prefix' and `wrap-prefix' are not ``replacing''
 +      properties.  (Bug#9284)
  
 -      * fileio.c (Finsert_file_contents): Fix overflow check to not
 -      depend on undefined integer overflow.
 +2011-08-09  Andreas Schwab  <schwab@linux-m68k.org>
  
 -2007-12-14  Jason Rumney  <jasonr@gnu.org>
 +      * fontset.c (fontset_get_font_group): Add proper type checks.
 +      (Bug#9172)
  
 -      * w32term.c (w32_read_socket): Use MULTIBYTE_CHAR_KEYSTROKE_EVENT
 -      for characters above 127.
 +2011-08-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -2007-12-13  Jason Rumney  <jasonr@gnu.org>
 +      * unexmacosx.c (print_load_command_name): Add cases LC_FUNCTION_STARTS
 +      and LC_VERSION_MIN_MACOSX.
 +      (copy_linkedit_data) [LC_FUNCTION_STARTS]: New function.
 +      (dump_it) [LC_FUNCTION_STARTS]: Use it.
  
 -      * w32fns.c (w32_wnd_proc, Fw32_reconstruct_hot_key): Range check
 -      before dereferencing array.
 -      (lookup_vk_code): Remove zero comparison.
 +2011-08-08  Eli Zaretskii  <eliz@gnu.org>
  
 -2007-12-14  Michael Albinus  <michael.albinus@gmx.de>
 +      * xdisp.c (forward_to_next_line_start): Allow to use the
 +      no-display-properties-and-no-overlays under bidi display.
 +      Set disp_pos in the bidi iterator to avoid searches for display
 +      properties and overlays.
  
 -      * 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.
 +2011-08-08  Chong Yidong  <cyd@stupidchicken.com>
  
 -2007-12-14  Eli Zaretskii  <eliz@gnu.org>
 +      * editfns.c (Fset_time_zone_rule): Document relationship with the
 +      setenv function.
  
 -      * dispextern.h (WINDOWS_NT): Fix incorrect spelling of WINDOWSNT.
 +      * ftfont.c (ftfont_pattern_entity): Copy the extras argument to
 +      the font entity extracted from the cache (Bug#8109).
  
 -2007-12-12  Juri Linkov  <juri@jurta.org>
 +2011-08-07  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * 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.
 +      * composite.c (autocmp_chars): Don't reset point.  That is done by
 +      restore_point_unwind (Bug#5984).
  
 -2007-12-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-08-07  Juri Linkov  <juri@jurta.org>
  
 -      * 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'.
 +      * editfns.c (Fformat_time_string): Doc fix, add tag `usage:'
 +      to show the arg `TIME' instead of `TIMEVAL'.
  
 -      * 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.
 +2011-08-06  Eli Zaretskii  <eliz@gnu.org>
  
 -2007-12-09  Juri Linkov  <juri@jurta.org>
 +      * xdisp.c (set_cursor_from_row): Fix cursor positioning when a
 +      display property strides EOL and includes a newline, as in
 +      longlines-mode.  (Bug#9254)
 +      (move_it_in_display_line_to): Fix vertical-motion in a buffer with
 +      word-wrap under bidirectional display.  (Bug#9224)
  
 -      * buffer.c (Frename_buffer): Change interactive spec from "s" to
 -      Lisp code that uses `read-buffer' with current buffer as default.
 +      * bidi.c (bidi_unshelve_cache): Don't reset the cache if JUST_FREE
 +      is non-zero, even if the data buffer is NULL.  Fixes a crash in
 +      vertical-motion with longlines-mode.  (Bug#9254)
  
 -2007-12-08  Michael Albinus  <michael.albinus@gmx.de>
 +2011-08-05  Eli Zaretskii  <eliz@gnu.org>
  
 -      * 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.
 +      * bidi.c <bidi_cache_total_alloc>: Now static.
 +      (bidi_initialize): Initialize bidi_cache_total_alloc.
  
 -2007-12-07  Michael Albinus  <michael.albinus@gmx.de>
 +      * xdisp.c (display_line): Release buffer allocated for shelved bidi
 +      cache.  (Bug#9221)
  
 -      * 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.
 +      * bidi.c (bidi_shelve_cache, bidi_unshelve_cache): Track total
 +      amount allocated this far in `bidi_cache_total_alloc'.
 +      (bidi_unshelve_cache): Accept an additional argument JUST_FREE; if
 +      non-zero, only free the data buffer without restoring the cache
 +      contents.  All callers changed.
  
 -2007-12-05  Magnus Henoch  <mange@freemail.hu>
 +      * dispextern.h (bidi_unshelve_cache): Update prototype.
  
 -      * process.c (make_process): Initialize pty_flag to 0.
 +      * xdisp.c (SAVE_IT, pos_visible_p, move_it_in_display_line_to)
 +      (move_it_in_display_line, move_it_to)
 +      (move_it_vertically_backward, move_it_by_lines): Replace the call
 +      to xfree to an equivalent call to bidi_unshelve_cache.
 +      (move_it_in_display_line_to): Fix logic of returning
 +      MOVE_POS_MATCH_OR_ZV in the bidi case.  (Bug#9224)
  
 -2007-12-05  Jason Rumney  <jasonr@gnu.org>
 +2011-08-05  Eli Zaretskii  <eliz@gnu.org>
  
 -      * image.c (xbm_load) [WINDOWSNT]: Shuffle the bits of directly
 -      specified XBMs.
 +      * xdisp.c (set_cursor_from_row): Prefer the candidate glyph that
 +      came from a string character with a `cursor' property.  (Bug#9229)
  
 -2007-12-05  Richard Stallman  <rms@gnu.org>
 +2011-08-04  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Doc fix.
 +      * Makefile.in (LIB_PTHREAD): New variable.
 +      (LIBES): Add LIB_PTHREAD (Bug#9216).
  
 -2007-12-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * alloc.c, emacs.c, gmalloc.c, gtkutil.c, keyboard.c, syssignal.h:
 +      Rename HAVE_GTK_AND_PTHREAD to HAVE_PTHREAD (Bug#9216).
  
 -      * 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.
 +2011-08-04  Andreas Schwab  <schwab@linux-m68k.org>
  
 -      * sysdep.c (emacs_close) [MAC_OSX && HAVE_CARBON]:
 -      Use mac_try_close_socket.
 +      * regex.c (re_iswctype): Remove some redundant boolean conversions.
  
 -2007-12-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +2011-08-04  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * 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.
 +      * xterm.c (x_find_topmost_parent): New function.
 +      (x_set_frame_alpha): Find topmost parent window with
 +      x_find_topmost_parent and set the property there also (bug#9181).
 +      (handle_one_xevent): Call x_set_frame_alpha on ReparentNotify.
  
 -2007-12-05  Jason Rumney  <jasonr@gnu.org>
 +2011-08-04  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * w32proc.c (sys_spawnve): Quote args with wildcards.
 +      * callproc.c (Fcall_process): Avoid vfork clobbering
 +      the local vars buffer, coding_systems, current_dir.
  
 -2007-12-05  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +2011-08-03  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * unexmacosx.c (copy_data_segment): Also copy __gcc_except_tab and
 -      __objc_* sections.
 -      (unrelocate) [_LP64]: Set relocation base to address of data segment.
 +      * keymap.c (Fmake_composed_keymap): Move to subr.el.
  
 -2007-12-05  Michael Albinus  <michael.albinus@gmx.de>
 +2011-08-03  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * 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.
 +      * fontset.c (dump_fontset) [FONTSET_DEBUG]: Declare EXTERNALLY_VISIBLE
 +      so that it is not optimized away.
  
 -2007-12-04  Michael Albinus  <michael.albinus@gmx.de>
 +      * xdisp.c (compute_display_string_pos): Remove unused local.
  
 -      * 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.
 +2011-08-02  Eli Zaretskii  <eliz@gnu.org>
  
 -2007-12-03  Jan Djärv  <jan.h.d@swipnet.se>
 +      Fix slow cursor motion and scrolling in large buffers with
 +      selective display, like Org Mode buffers.  (Bug#9218)
  
 -      * xterm.c: Update URL to Window Manager Specification in comment.
 +      * dispextern.h (struct bidi_it): New member disp_prop_p.
  
 -2007-12-02  Michael Albinus  <michael.albinus@gmx.de>
 +      * xdisp.c: Remove one-slot cache of display string positions.
 +      (compute_display_string_pos): Accept an additional argument
 +      DISP_PROP_P; callers changed.  Scan at most 5K characters forward
 +      for a display string or property.  If found, set DISP_PROP_P
 +      non-zero.
  
 -      * config.in (HAVE_DBUS): Add.
 +      * bidi.c (bidi_fetch_char): Accept an additional argument
 +      DISP_PROP_P, and pass it to compute_display_string_pos.
 +      Only handle text covered by a display string if DISP_PROP_P is returned
 +      non-zero.  All callers of bidi_fetch_char changed.
  
 -      * 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.
 +2011-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * dbusbind.c: New file.
 +      * keymap.c (Fdefine_key): Fix Lisp_Object/int mixup; apply some CSE.
  
 -      * emacs.c (main): Call syms_of_dbusbind when HAVE_DBUS is defined.
 +2010-12-03  Don March  <don@ohspite.net>
  
 -      * 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.
 +      * keymap.c (Fdefine_key): Fix non-prefix key error message when
 +      last character M-[char] is translated to ESC [char] (bug#7541).
  
 -      * termhooks.h (event_kind): Add DBUS_EVENT when HAVE_DBUS is defined.
 +2011-08-02  Kenichi Handa  <handa@m17n.org>
  
 -2007-12-01  Richard Stallman  <rms@gnu.org>
 +      * lisp.h (uniprop_table): Extern it.
  
 -      * search.c (syms_of_search) <inhibit-changing-match-data>: Doc fix.
 +      * chartab.c (uniprop_table): Make it non-static.
  
 -2007-11-30  Jason Rumney  <jasonr@gnu.org>
 +2011-08-01  Eli Zaretskii  <eliz@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.
 +      * xdisp.c (forward_to_next_line_start): Accept additional argument
 +      BIDI_IT_PREV, and store into it the state of the bidi iterator had
 +      on the newline.
 +      (reseat_at_next_visible_line_start): Use the bidi iterator state
 +      returned by forward_to_next_line_start to restore the state of
 +      it->bidi_it after backing up to previous newline.  (Bug#9212)
  
 -      * xfaces.c (map_tty_color, tty_color_name): Remove special case for
 -      WINDOWSNT.
 +2011-07-30  Andreas Schwab  <schwab@linux-m68k.org>
  
 -      * w32console.c, w32term.h (vga_stdcolor_name): Remove.
 +      * regex.c (re_comp): Protoize.
 +      (re_exec): Fix return type.
 +      (regexec): Fix type of `ret'.  (Bug#9203)
  
 -2007-11-29  Jason Rumney  <jasonr@gnu.org>
 +2011-07-28  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * 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.
 +      * image.c (check_image_size): Use 1024x1024 if unknown frame (Bug#9189).
 +      This is needed if max-image-size is a floating-point number.
  
 -2007-11-29  Andreas Schwab  <schwab@suse.de>
 +2011-07-28  Andreas Schwab  <schwab@linux-m68k.org>
  
 -      * keyboard.c (apply_modifiers): Fix typo.
 +      * print.c (print_object): Print empty symbol as ##.
  
 -2007-11-29  Richard Stallman  <rms@gnu.org>
 +      * lread.c (read1): Read ## as empty symbol.
  
 -      * keymap.c (Fcurrent_local_map): Doc fix.
 +2011-07-28  Alp Aker  <alp.tekin.aker@gmail.com>
  
 -2007-11-28  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
 +      * nsfns.m (x_set_foreground_color): Set f->foreground_pixel when
 +      setting frame foreground color (Bug#9175).
 +      (x_set_background_color): Likewise.
  
 -      * s/gnu-kfreebsd.h: New file.
 +      * nsmenu.m (-setText): Size tooltip dimensions precisely to
 +      contents (Bug#9176).
 +      (EmacsTooltip -init): Remove bezels and add shadows to
 +      tooltip windows.
  
 -2007-11-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * nsterm.m (ns_dumpglyphs_stretch): Avoid overwriting left fringe
 +      or scroll bar (Bug#8470).
  
 -      * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
 -      Don't cast redundantly.
 +      * nsfont.m (nsfont_open): Remove assignment to voffset and
 +      unnecessary vars hshink, expand, hd, full_height, min_height.
 +      (nsfont_draw): Use s->ybase as baseline for glyph drawing (Bug#8913).
  
 -      * 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.
 +      * nsterm.h (nsfont_info): Remove voffset field.
  
 -2007-11-27  Dan Nicolaescu  <dann@ics.uci.edu>
 +2011-07-28  Alp Aker  <alp.tekin.aker@gmail.com>
  
 -      * Makefile.in (SOME_MACHINE_LISP): Remove VMS files, they are not
 -      compiled anymore.
 +      Implement strike-through and overline on NextStep (Bug#8863).
  
 -2007-11-26  Andreas Schwab  <schwab@suse.de>
 +      * nsfont.m (nsfont_open): Use underline position provided by font,
 +      instead of hard-coded value of 2.
 +      (nsfont_draw): Call ns_draw_text_decoration instead.
  
 -      * process.c (list_processes_1): Fix indentation level of the
 -      command column.
 +      * nsterm.h: Add declaration for ns_draw_text_decoration.
  
 -2007-11-23  Andreas Schwab  <schwab@suse.de>
 +      * nsterm.m (ns_draw_text_decoration): New function for drawing
 +      underline, overline, and strike-through.
 +      (ns_dumpglyphs_image, ns_dumpglyphs_stretch): Add call to
 +      ns_draw_text_decoration.  Change treatment of cursor drawing to
 +      accommodate underlining, etc.
  
 -      * editfns.c (Fformat): Handle %c specially since it requires the
 -      argument to be of type int.
 +2011-07-28  Eli Zaretskii  <eliz@gnu.org>
  
 -2007-11-23  Markus Triska  <markus.triska@gmx.at>
 +      * buffer.c (init_buffer_once): Set bidi-display-reordering to t by
 +      default.
 +
 +2011-07-28  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * alloc.c (memory_full) [!SYNC_INPUT]: Fix signal-related race.
 +      Without this fix, if a signal arrives just after memory fills up,
 +      'malloc' might be invoked reentrantly.
 +
 +      * image.c (x_check_image_size) [!HAVE_X_WINDOWS]: Return 1.
 +      In other words, assume that every image size is allowed, on non-X
 +      hosts.  This assumption is probably wrong, but it lets Emacs compile.
 +
 +2011-07-28  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * regex.c (re_iswctype): Convert return values to boolean.
 +
 +2011-07-28  Eli Zaretskii  <eliz@fencepost.gnu.org>
 +
 +      * xdisp.c (compute_display_string_pos): Don't use cached display
 +      string position if the buffer had its restriction changed.
 +      (Bug#9184)
 +
 +2011-07-28  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * callproc.c (Fcall_process): Use 'volatile' to avoid vfork clobbering.
 +
 +2011-07-28  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Integer signedness and overflow and related fixes.  (Bug#9079)
 +
 +      * bidi.c: Integer size and overflow fixes.
 +      (bidi_cache_size, bidi_cache_idx, bidi_cache_last_idx)
 +      (bidi_cache_start, bidi_cache_fetch_state, bidi_cache_search)
 +      (bidi_cache_find_level_change, bidi_cache_ensure_space)
 +      (bidi_cache_iterator_state, bidi_cache_find, bidi_cache_start_stack)
 +      (bidi_find_other_level_edge):
 +      Use ptrdiff_t instead of EMACS_INT where either will do.
 +      This works better on 32-bit hosts configured --with-wide-int.
 +      (bidi_cache_ensure_space): Check for size-calculation overflow.
 +      Use % rather than repeated addition, for better worst-case speed.
 +      Don't set bidi_cache_size until after xrealloc returns, because it
 +      might not return.
 +      (bidi_dump_cached_states): Use ptrdiff_t, not int, to avoid overflow.
 +      (bidi_cache_ensure_space): Also check that the bidi cache size
 +      does not exceed that of the largest Lisp string or buffer.  See Eli
 +      Zaretskii in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9079#29>.
 +
 +      * alloc.c (__malloc_size_t): Remove.
 +      All uses replaced by size_t.  See Andreas Schwab's note
 +      <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9079#8>.
 +
 +      * image.c: Improve checking for integer overflow.
 +      (check_image_size): Assume that f is nonnull, since
 +      it is always nonnull in practice.  This is one less thing to
 +      worry about when checking for integer overflow later.
 +      (x_check_image_size): New function, which checks for integer
 +      overflow issues inside X.
 +      (x_create_x_image_and_pixmap, xbm_read_bitmap_data): Use it.
 +      This removes the need for a memory_full check.
 +      (xbm_image_p): Rewrite to avoid integer multiplication overflow.
 +      (Create_Pixmap_From_Bitmap_Data, xbm_load): Use x_check_image_size.
 +      (xbm_read_bitmap_data): Change locals back to 'int', since
 +      their values must fit in 'int'.
 +      (xpm_load_image, png_load, tiff_load):
 +      Invoke x_create_x_image_and_pixmap earlier,
 +      to avoid much needless work if the image is too large.
 +      (tiff_load): Treat overly large images as if
 +      x_create_x_image_and_pixmap failed, not as malloc failures.
 +      (gs_load): Use x_check_image_size.
 +
 +      * gtkutil.c: Omit integer casts.
 +      (xg_get_pixbuf_from_pixmap): Remove unnecessary cast.
 +      (xg_set_toolkit_scroll_bar_thumb): Rewrite to avoid need for cast.
 +
 +      * image.c (png_load): Don't assume height * row_bytes fits in 'int'.
 +
 +      * xfaces.c (Fbitmap_spec_p): Fix integer overflow bug.
 +      Without this fix, (bitmap-spec-p '(34359738368 1 "x"))
 +      would wrongly return t on a 64-bit host.
 +
 +      * dispnew.c (init_display): Use *_RANGE_OVERFLOW macros.
 +      The plain *_OVERFLOW macros run afoul of GCC bug 49705
 +      <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49705>
 +      and therefore cause GCC to emit a bogus diagnostic in some cases.
 +
 +      * image.c: Integer signedness and overflow and related fixes.
 +      This is not an exhaustive set of fixes, but it's time to
 +      record what I've got.
 +      (lookup_pixel_color, check_image_size): Remove redundant decls.
 +      (check_image_size): Don't assume that arbitrary EMACS_INT values
 +      fit in 'int', or that arbitrary 'double' values fit in 'int'.
 +      (x_alloc_image_color, x_create_x_image_and_pixmap, png_load)
 +      (tiff_load, imagemagick_load_image):
 +      Check for overflow in size calculations.
 +      (x_create_x_image_and_pixmap): Remove unnecessary test for
 +      xmalloc returning NULL; that can't happen.
 +      (xbm_read_bitmap_data): Don't assume sizes fit into 'int'.
 +      (xpm_color_bucket): Use better integer hashing function.
 +      (xpm_cache_color): Don't possibly over-allocate memory.
 +      (struct png_memory_storage, tiff_memory_source, tiff_seek_in_memory)
 +      (gif_memory_source):
 +      Use ptrdiff_t, not int or size_t, to record sizes.
 +      (png_load): Don't assume values greater than 2**31 fit in 'int'.
 +      (our_stdio_fill_input_buffer): Prefer ptrdiff_t to size_t when
 +      either works, as we prefer signed integers.
 +      (tiff_read_from_memory, tiff_write_from_memory):
 +      Return tsize_t, not size_t, since that's what the TIFF API wants.
 +      (tiff_read_from_memory): Don't fail simply because the read would
 +      go past EOF; instead, return a short read.
 +      (tiff_load): Omit no-longer-needed casts.
 +      (Fimagemagick_types): Don't assume size fits into 'int'.
 +
 +      Improve hashing quality when configured --with-wide-int.
 +      * fns.c (hash_string): New function, taken from sxhash_string.
 +      Do not discard information about ASCII character case; this
 +      discarding is no longer needed.
 +      (sxhash-string): Use it.  Change sig to match it.  Caller changed.
 +      * lisp.h: Declare it.
 +      * lread.c (hash_string): Remove, since we now use fns.c's version.
 +      The fns.c version returns a wider integer if --with-wide-int is
 +      specified, so this should help the quality of the hashing a bit.
 +
 +      * emacs.c: Integer overflow minor fix.
 +      (heap_bss_diff): Now uprintmax_t, not unsigned long.  All used changed.
 +      Define only if GNU_LINUX.
 +      (main, Fdump_emacs): Set and use heap_bss_diff only if GNU_LINUX.
 +
 +      * dispnew.c: Integer signedness and overflow fixes.
 +      Remove unnecessary forward decls, that were a maintenance hassle.
 +      (history_tick): Now uprintmax_t, so it's more likely to avoid overflow.
 +      All uses changed.
 +      (adjust_glyph_matrix, realloc_glyph_pool, adjust_frame_message_buffer)
 +      (scrolling_window): Use ptrdiff_t, not int, for byte count.
 +      (prepare_desired_row, line_draw_cost):
 +      Use int, not unsigned, where either works.
 +      (save_current_matrix, restore_current_matrix):
 +      Use ptrdiff_t, not size_t, where either works.
 +      (init_display): Check for overflow more accurately, and without
 +      relying on undefined behavior.
 +
 +      * editfns.c (pWIDE, pWIDElen, signed_wide, unsigned_wide):
 +      Remove, replacing with the new symbols in lisp.h.  All uses changed.
 +      * fileio.c (make_temp_name):
 +      * filelock.c (lock_file_1, lock_file):
 +      * xdisp.c (message_dolog):
 +      Don't assume PRIdMAX etc. works; this isn't portable to pre-C99 hosts.
 +      Use pMd etc. instead.
 +      * lisp.h (printmax_t, uprintmax_t, pMd, pMu): New types and macros,
 +      replacing the pWIDE etc. symbols removed from editfns.c.
 +
 +      * keyboard.h (num_input_events): Now uintmax_t.
 +      This is (very slightly) less likely to mess up due to wraparound.
 +      All uses changed.
  
 -      * emacs.c (main): Call init_editfns before init_process, since
 -      init_process sets Vprocess_connection_type depending on OS release.
 +      * buffer.c: Integer signedness fixes.
 +      (alloc_buffer_text, enlarge_buffer_text):
 +      Use ptrdiff_t rather than size_t when either will do, as we prefer
 +      signed integers.
 +
 +      * alloc.c: Integer signedness and overflow fixes.
 +      Do not impose an arbitrary 32-bit limit on malloc sizes when debugging.
 +      (__malloc_size_t): Default to size_t, not to int.
 +      (pure_size, pure_bytes_used_before_overflow, stack_copy_size)
 +      (Fgarbage_collect, mark_object_loop_halt, mark_object):
 +      Prefer ptrdiff_t to size_t when either would do, as we prefer
 +      signed integers.
 +      (XMALLOC_OVERRUN_CHECK_OVERHEAD): New macro.
 +      (xmalloc_overrun_check_header, xmalloc_overrun_check_trailer):
 +      Now const.  Initialize with values that are in range even if char
 +      is signed.
 +      (XMALLOC_PUT_SIZE, XMALLOC_GET_SIZE): Remove, replacing with ...
 +      (xmalloc_put_size, xmalloc_get_size): New functions.  All uses changed.
 +      These functions do the right thing with sizes > 2**32.
 +      (check_depth): Now ptrdiff_t, not int.
 +      (overrun_check_malloc, overrun_check_realloc, overrun_check_free):
 +      Adjust to new way of storing sizes.  Check for size overflow bugs
 +      in rest of code.
 +      (STRING_BYTES_MAX): Adjust to new overheads.  The old code was
 +      slightly wrong anyway, as it missed one instance of
 +      XMALLOC_OVERRUN_CHECK_OVERHEAD.
 +      (refill_memory_reserve): Omit needless cast to size_t.
 +      (mark_object_loop_halt): Mark as externally visible.
 +
 +      * xselect.c: Integer signedness and overflow fixes.
 +      (Fx_register_dnd_atom, x_handle_dnd_message):
 +      Use ptrdiff_t, not size_t, since we prefer signed.
 +      (Fx_register_dnd_atom): Check for ptrdiff_t (and size_t) overflow.
 +      * xterm.h (struct x_display_info): Use ptrdiff_t, not size_t, for
 +      x_dnd_atoms_size and x_dnd_atoms_length.
 +
 +      * doprnt.c: Prefer signed to unsigned when either works.
 +      * eval.c (verror):
 +      * doprnt.c (doprnt):
 +      * lisp.h (doprnt):
 +      * xdisp.c (vmessage):
 +      Use ptrdiff_t, not size_t, when using or implementing doprnt,
 +      since the sizes cannot exceed ptrdiff_t bounds anyway, and we
 +      prefer signed arithmetic to avoid comparison confusion.
 +      * doprnt.c (doprnt): Avoid a "+ 1" that can't overflow,
 +      but is a bit tricky.
 +
 +      Assume freestanding C89 headers, string.h, stdlib.h.
 +      * data.c, doprnt.c, floatfns.c, print.c:
 +      Include float.h unconditionally.
 +      * gmalloc.c: Assume C89-at-least behavior for preprocessor,
 +      limits.h, stddef.h, string.h.  Use memset instead of 'flood'.
 +      * regex.c: Likewise for stddef.h, string.h.
 +      (ISASCII): Remove; can assume it returns 1 now.  All uses removed.
 +      * s/aix4-2.h (HAVE_STRING_H): Remove obsolete undef.
 +      * s/ms-w32.h (HAVE_LIMITS_H, HAVE_STRING_H, HAVE_STDLIB_H)
 +      (STDC_HEADERS): Remove obsolete defines.
 +      * sysdep.c: Include limits.h unconditionally.
 +
 +      Assume support for memcmp, memcpy, memmove, memset.
 +      * lisp.h, sysdep.c (memcmp, memcpy, memmove, memset):
 +      * regex.c (memcmp, memcpy):
 +      Remove; we assume C89 now.
 +
 +      * gmalloc.c (memcpy, memset, memmove): Remove; we assume C89 now.
 +      (__malloc_safe_bcopy): Remove; no longer needed.
 +
 +      * lisp.h (struct vectorlike_header, struct Lisp_Subr): Signed sizes.
 +      Use EMACS_INT, not EMACS_UINT, for sizes.  The code works equally
 +      well either way, and we prefer signed to unsigned.
 +
 +2011-07-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 +
 +      * gnutls.c (emacs_gnutls_read): Don't message anything if the peer
 +      closes the connection while we're reading (bug#9182).
 +
 +2011-07-25  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsmenu.m (ns_popup_dialog): Add an "ok" button if no buttons
 +      are specified (Bug#9168).
 +
 +2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * bidi.c (bidi_dump_cached_states): Fix printf format mismatch.
 +      Found by GCC static checking and --with-wide-int on a 32-bit host.
 +
 +2011-07-25  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * xdisp.c (compute_display_string_pos): Fix logic of caching
 +      previous display string position.  Initialize cached_prev_pos to
 +      -1.  Fixes slow-down at the beginning of a buffer.
 +
 +2011-07-24  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * xfaces.c (check_lface_attrs) [HAVE_WINDOW_SYSTEM]: Allow `nil'
 +      for attrs[LFACE_FONTSET_INDEX].
 +
 +2011-07-23  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * xml.c (parse_region): Remove unused local
 +      that was recently introduced.
 +
 +2011-07-23  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * xfns.c (unwind_create_frame) [GLYPH_DEBUG]: Adapt to changes in
 +      2008-02-22T17:42:09Z!monnier@iro.umontreal.ca.
 +
 +      * xdisp.c (move_it_in_display_line_to): Record the best matching
 +      position for TO_CHARPOS while scanning the line, and restore it on
 +      exit if none of the characters scanned was an exact match.
 +      Fixes vertical-motion and pos-visible-in-window-p under bidi redisplay
 +      when exact match is impossible due to invisible text, and the
 +      lines are truncated.
 +
 +2011-07-23  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsterm.m (initFrameFromEmacs): Set NSTitledWindowMask in styleMask
 +      for OSX >= 10.7.
 +
 +2011-07-22  Eli Zaretskii  <eliz@gnu.org>
 +
 +      Fix a significant slow-down of cursor motion with C-n, C-p,
 +      C-f/C-b, and C-v/M-v that couldn't keep up with keyboard
 +      auto-repeat under bidi redisplay in fontified buffers.
 +      * xdisp.c (compute_stop_pos_backwards): New function.
 +      (next_element_from_buffer): Call compute_stop_pos_backwards to
 +      find a suitable prev_stop when we find ourselves before
 +      base_level_stop.
 +      (reseat): Don't look for prev_stop, as that could mean a very long
 +      run.
 +      <cached_disp_pos, cached_disp_buffer, cached_disp_modiff>
 +      <cached_disp_overlay_modiff>: Cache for last found display string
 +      position.
 +      (compute_display_string_pos): Return the cached position if asked
 +      about the same buffer in the same area of character positions, and
 +      the buffer wasn't changed since the time the display string
 +      position was cached.
  
 -2007-11-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-07-22  Eli Zaretskii  <eliz@gnu.org>
  
 -      * data.c (do_symval_forwarding): Use same code as in find_symbol_value.
 -      (find_symbol_value): Use do_symval_forwarding.
 +      * xdisp.c (rows_from_pos_range): Don't ignore glyphs whose object
 +      is an integer, which is important for empty lines.  (Bug#9149)
  
 -      * data.c (set_internal): Set the value in the `cons-cell' (for
 -      Buffer_Local_values) not only for frame-local variables.
 +2011-07-22  Chong Yidong  <cyd@stupidchicken.com>
  
 -2007-11-22  Andreas Schwab  <schwab@suse.de>
 +      * frame.c (Fmodify_frame_parameters): In tty case, update the
 +      default face if necessary (Bug#4238).
  
 -      * 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.
 +2011-07-21  Chong Yidong  <cyd@stupidchicken.com>
  
 -2007-11-22  Jan Djärv  <jan.h.d@swipnet.se>
 +      * editfns.c (Fstring_to_char): No need to explain what a character
 +      is in the docstring (Bug#6576).
  
 -      * gtkutil.c (update_frame_tool_bar): Don't call x-gtk-map-stock if
 -      file for image is nil.
 +2011-07-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -2007-11-22  Dan Nicolaescu  <dann@ics.uci.edu>
 +      * xml.c (parse_region): Make sure we always return a tree.
  
 -      * term.c: Include stdarg.h.
 -      (fatal): Implement using varargs.
 -      * lisp.h (fatal): Add argument types.  (Restore 2005-09-30 change).
 +2011-07-20  HAMANO Kiyoto  <khiker.mail@gmail.com>
  
 -2007-11-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * xml.c (parse_region): If a document contains only comments,
 +      return that, too.
  
 -      * 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.
 +2011-07-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -2007-11-21  Jason Rumney  <jasonr@gnu.org>
 +      * xml.c (make_dom): Return comments, too.
  
 -      * w32bdf.c (w32_init_bdf_font, w32_BDF_to_x_font):
 -      CreateFileMapping returns NULL on failure.
 +2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2007-11-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      Port to OpenBSD.
 +      See http://lists.gnu.org/archive/html/emacs-devel/2011-07/msg00688.html
 +      and the surrounding thread.
 +      * minibuf.c (read_minibuf_noninteractive): Rewrite to use getchar
 +      rather than fgets, and retry after EINTR.  Otherwise, 'emacs
 +      --batch -f byte-compile-file' fails on OpenBSD if an inactivity
 +      timer goes off.
 +      * s/openbsd.h (BROKEN_SIGIO): Define.
 +      * unexelf.c (unexec) [__OpenBSD__]:
 +      Don't update the .mdebug section of the Alpha COFF symbol table.
  
 -      * search.c (Fset_match_data): Remove the `evaporate' feature.
 -      (unwind_set_match_data): Don't use the `evaporate' feature.
 +2011-07-19  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -2007-11-21  Jason Rumney  <jasonr@gnu.org>
 +      * lread.c (syms_of_lread): Clarify when `lexical-binding' is used
 +      (bug#8460).
  
 -      * dispnew.c (init_display) [WINDOWSNT]: Hardcode terminal_type.
 +2011-07-18  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * w32console.c (w32con_write_glyphs): Remove unused variables.
 +      * fileio.c (Fcopy_file) [!MSDOS]: Tighten created file's mask.
 +      This fixes some race conditions on the permissions of any newly
 +      created file.
  
 -2007-11-20  Dan Nicolaescu  <dann@ics.uci.edu>
 +      * alloc.c (valid_pointer_p): Use pipe, not open.
 +      This fixes some permissions issues when debugging.
  
 -      * macterm.c (mac_term_init): Call add_keyboard_wait_descriptor.
 +      * fileio.c (Fcopy_file): Adjust mode if fchown fails.  (Bug#9002)
 +      If fchown fails to set both uid and gid, try to set just gid,
 +      as that is sometimes allowed.  Adjust the file's mode to eliminate
 +      setuid or setgid bits that are inappropriate if fchown fails.
  
 -      * s/darwin.h (MULTI_KBOARD): Remove.
 +2011-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * macfns.c (x_create_tip_frame, Fx_create_frame)
 -      (x_create_tip_frame): Don't deal with MULTI_KBOARD.
 +      * xdisp.c (next_element_from_string, next_element_from_buffer): Use EQ
 +      to compare Lisp_Objects.
 +      * gnutls.c (syms_of_gnutls): Rename Vgnutls_log_level to
 +      global_gnutls_log_level, don't mistake it for a Lisp_Object.
 +      (init_gnutls_functions, emacs_gnutls_handle_error): Fix up uses.
  
 -2007-11-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-07-17  Andreas Schwab  <schwab@linux-m68k.org>
  
 -      * 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.
 +      * lread.c (read_integer): Unread even EOF character.
 +      (read1): Likewise.  Properly record start position of symbol.
  
 -      * data.c (store_symval_forwarding, set_internal):
 -      * eval.c (specbind): Remove dead code.
 +      * lread.c (read1): Read `#:' as empty uninterned symbol if no
 +      symbol character follows.
  
 -      * 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.
 +2011-07-17  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2007-11-18  Jan Djärv  <jan.h.d@swipnet.se>
 +      * fileio.c (Fcopy_file): Pacify gcc re fchown.  (Bug#9002)
 +      This works around a problem with the previous change to Fcopy_file.
 +      Recent glibc declares fchown with __attribute__((warn_unused_result)),
 +      and without this change, GCC might complain about discarding
 +      fchown's return value.
  
 -      * sysdep.c (init_system_name): Use getaddrinfo if available.
 +2011-07-16  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * 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.
 +      * makefile.w32-in (GLOBAL_SOURCES): Add gnutls.c (followup to bug#9059).
  
 -2007-11-17  Dan Nicolaescu  <dann@ics.uci.edu>
 +2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * puresize.h (BASE_PURESIZE): Increase to 1190000.
 +      * fileio.c (Fcopy_file): Don't diagnose fchown failures.  (Bug#9002)
  
 -2007-11-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-07-16  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * buffer.h (struct buffer): Move `undo_list' back to before `name'.
 -      This undoes Richard's change of 14-Oct-2002.
 +      * gnutls.c (syms_of_gnutls): Define `gnutls-log-level' here, since
 +      it's used from the C level.
  
 -      * alloc.c (allocate_other_vector):
 -      * lisp.h (allocate_other_vector): Remove.
 +      * process.c: Use the same condition for POLL_FOR_INPUT in both
 +      keyboard.c and process.c (bug#1858).
  
 -      * 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.
 +2011-07-09  Lawrence Mitchell  <wence@gmx.li>
  
 -2007-11-14  Juanma Barranquero  <lekktu@gmail.com>
 +      * gnutls.c (Qgnutls_bootprop_min_prime_bits): New variable.
 +      (Fgnutls_boot): Use it.
  
 -      * 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.
 +2011-07-15  Andreas Schwab  <schwab@linux-m68k.org>
  
 -2007-11-13  Juanma Barranquero  <lekktu@gmail.com>
 +      * doc.c (Fsubstitute_command_keys): Revert last change.
  
 -      * w32fns.c (Fw32_register_hot_key): Don't try to register hot key
 -      if w32_parse_hot_key returned nil.
 +2011-07-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -2007-11-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * doc.c (Fsubstitute_command_keys): Clarify that \= really only
 +      quotes the next character, and doesn't affect other longer
 +      sequences (bug#8935).
  
 -      * xdisp.c (load_overlay_strings): Fix copy&paste typo.
 +      * lread.c (syms_of_lread): Clarify that is isn't only
 +      `eval-buffer' and `eval-defun' that's affected by
 +      `lexical-binding' (bug#8460).
  
 -2007-11-09  Jason Rumney  <jasonr@gnu.org>
 +2011-07-15  Eli Zaretskii  <eliz@gnu.org>
  
 -      * s/ms-w32.c (USE_TOOLKIT_SCROLL_BARS): Define.
 +      * xdisp.c (move_it_in_display_line_to): Fix vertical motion with
 +      bidi redisplay when a line includes both an image and is truncated.
  
 -      * w32term.c (w32_scroll_bar_handle_click): Use SCROLL_BAR_CLICK_EVENT.
 +2011-07-14  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * keyboard.c (discard_mouse_events, make_lispy_event) [WINDOWSNT]:
 -      Remove W32_SCROLL_BAR_CLICK_EVENT.
 +      Fix minor problems found by static checking.
 +      * bidi.c (bidi_cache_size): Now EMACS_INT, not size_t.
 +      (elsz): Now a signed constant, not a size_t var.  We prefer signed
 +      types to unsigned, to avoid integer comparison confusion.  Without
 +      this change, GCC 4.6.1 with -Wunsafe-loop-optimizations complains
 +      "cannot optimize loop, the loop counter may overflow", a symptom
 +      of the confusion.
 +      * indent.c (Fvertical_motion): Mark locals as initialized.
 +      * xdisp.c (reseat_to_string): Fix pointer signedness issue.
  
 -      * termhooks.h (enum event_kind) [WINDOWSNT]: Likewise.
 -      Add MULTIMEDIA_KEY_EVENT.
 +2011-07-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * 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.
 +      * search.c (Fre_search_backward): Mention `case-fold-search' in
 +      all the re_search_* functions (bug#8138).
  
 -      * w32term.h (WM_APPCOMMAND): Define if not already.
 -      (GET_APPCOMMAND_LPARAM): Likewise.
 +      * keyboard.c (Fopen_dribble_file): Document when the file is
 +      closed (bug#8056).
  
 -      * w32term.c (w32_read_socket): Generate MULTIMEDIA_KEY_EVENT from
 -      WM_APPCOMMAND.
 +2011-07-14  Eli Zaretskii  <eliz@gnu.org>
  
 -      * 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.
 +      * bidi.c (bidi_dump_cached_states): Fix format of displaying
 +      bidi_cache_idx.
  
 -2007-11-09  Chong Yidong  <cyd@stupidchicken.com>
 +      Support bidi reordering of display and overlay strings.
 +      * xdisp.c (compute_display_string_pos)
 +      (compute_display_string_end): Accept additional argument STRING.
 +      (init_iterator, reseat_1): Initialize bidi_it->string.s to NULL.
 +      (reseat_to_string): Initialize bidi_it->string.s and
 +      bidi_it->string.schars.
 +      (Fcurrent_bidi_paragraph_direction): Initialize itb.string.s to
 +      NULL (avoids a crash in bidi_paragraph_init).
 +      Initialize itb.string.lstring.
 +      (init_iterator): Call bidi_init_it only of a valid
 +      buffer position was specified.  Initialize paragraph_embedding to
 +      L2R.
 +      (reseat_to_string): Initialize the bidi iterator.
 +      (display_string): If we need to ignore text properties of
 +      LISP_STRING, set IT->stop_charpos to IT->end_charpos.  (The
 +      original value of -1 will not work with bidi.)
 +      (compute_display_string_pos): First arg is now struct
 +      `text_pos *'; all callers changed.  Support display properties on
 +      Lisp strings.
 +      (compute_display_string_end): Support display properties on Lisp
 +      strings.
 +      (init_iterator, reseat_1, reseat_to_string): Initialize the
 +      string.bufpos member to 0 (zero, for compatibility with IT_CHARPOS
 +      when iterating on a string not from display properties).
 +      (compute_display_string_pos, compute_display_string_end):
 +      Fix calculation of the object to scan.  Fixes an error when using
 +      arrow keys.
 +      (next_element_from_buffer): Don't abort when IT_CHARPOS is before
 +      base_level_stop; instead, set base_level_stop to BEGV.
 +      Fixes crashes in vertical-motion.
 +      (next_element_from_buffer): Improve commentary for when
 +      the iterator is before prev_stop.
 +      (init_iterator): Initialize bidi_p from the default value of
 +      bidi-display-reordering, not from buffer-local value.  Use the
 +      buffer-local value only if initializing for buffer iteration.
 +      (handle_invisible_prop): Support invisible properties on strings
 +      that are being bidi-reordered.
 +      (set_iterator_to_next): Support bidi reordering of C strings and
 +      Lisp strings.
 +      (next_element_from_string): Support bidi reordering of Lisp
 +      strings.
 +      (handle_stop_backwards): Support Lisp strings as well.
 +      (display_string): Support display of R2L glyph rows.
 +      Use IT_STRING_CHARPOS when displaying from a Lisp string.
 +      (init_iterator): Don't initialize it->bidi_p for strings
 +      here.
 +      (reseat_to_string): Initialize it->bidi_p for strings here.
 +      (next_element_from_string, next_element_from_c_string)
 +      (next_element_from_buffer): Add xassert's for correspondence
 +      between IT's object being iterated and it->bidi_it.string
 +      structure.
 +      (face_before_or_after_it_pos): Support bidi iteration.
 +      (next_element_from_c_string): Handle the case of the first string
 +      character that is not the first one in the visual order.
 +      (get_visually_first_element): New function, refactored from common
 +      parts of next_element_from_buffer, next_element_from_string, and
 +      next_element_from_c_string.
 +      (tool_bar_lines_needed, redisplay_tool_bar)
 +      (display_menu_bar): Force left-to-right direction.  Add a FIXME
 +      comment for making that be controlled by a user option.
 +      (push_it, pop_it): Save and restore the state of the
 +      bidi iterator.  Save and restore the bidi_p flag.
 +      (pop_it): Iterate out of display property for string iteration as
 +      well.
 +      (iterate_out_of_display_property): Support iteration over strings.
 +      (handle_single_display_spec): Set up it->bidi_it for iteration
 +      over a display string, and call bidi_init_it.
 +      (handle_single_display_spec, next_overlay_string)
 +      (get_overlay_strings_1, push_display_prop): Set up the bidi
 +      iterator for displaying display or overlay strings.
 +      (forward_to_next_line_start): Don't use the shortcut if
 +      bidi-iterating.
 +      (back_to_previous_visible_line_start): If handle_display_prop
 +      pushed the iterator stack, restore the internal state of the bidi
 +      iterator by calling bidi_pop_it same number of times.
 +      (reseat_at_next_visible_line_start): If ON_NEWLINE_P is non-zero,
 +      and we are bidi-iterating, don't decrement the iterator position;
 +      instead, set the first_elt flag in the bidi iterator, to produce
 +      the same effect.
 +      (reseat_1): Remove redundant setting of string_from_display_prop_p.
 +      (push_display_prop): xassert that we are iterating a buffer.
 +      (push_it, pop_it): Save and restore paragraph_embedding member.
 +      (handle_single_display_spec, next_overlay_string)
 +      (get_overlay_strings_1, reseat_1, reseat_to_string)
 +      (push_display_prop): Set up the `unibyte' member of bidi_it.string
 +      correctly.  Don't assume unibyte strings are not bidi-reordered.
 +      (compute_display_string_pos)
 +      (compute_display_string_end): Fix handling the case of C string.
 +      (push_it, pop_it): Save and restore from_disp_prop_p.
 +      (handle_single_display_spec, push_display_prop): Set the
 +      from_disp_prop_p flag.
 +      (get_overlay_strings_1): Reset the from_disp_prop_p flag.
 +      (pop_it): Call iterate_out_of_display_property only if we are
 +      popping after iteration over a string that came from a display
 +      property.  Fix a typo in popping stretch info.  Add an assertion
 +      for verifying that the iterator position is in sync with the bidi
 +      iterator.
 +      (handle_single_display_spec, get_overlay_strings_1)
 +      (push_display_prop): Fix initialization of paragraph direction for
 +      string when that of the parent object is not yet determined.
 +      (reseat_1): Call bidi_init_it to resync the bidi
 +      iterator with IT's position.  (Bug#7616)
 +      (find_row_edges): If ROW->start.pos gives position
 +      smaller than min_pos, use it as ROW->minpos.  (Bug#7616)
 +      (handle_stop, back_to_previous_visible_line_start, reseat_1):
 +      Reset the from_disp_prop_p flag.
 +      (SAVE_IT, RESTORE_IT): New macros.
 +      (pos_visible_p, face_before_or_after_it_pos)
 +      (back_to_previous_visible_line_start)
 +      (move_it_in_display_line_to, move_it_in_display_line)
 +      (move_it_to, move_it_vertically_backward, move_it_by_lines)
 +      (try_scrolling, redisplay_window, display_line): Use them when
 +      saving a temporary copy of the iterator and restoring it back.
 +      (back_to_previous_visible_line_start, reseat_1)
 +      (init_iterator): Empty the bidi cache "stack".
 +      (move_it_in_display_line_to): If iterator ended up at
 +      EOL, but we never saw any buffer positions smaller than
 +      to_charpos, return MOVE_POS_MATCH_OR_ZV.  Fixes vertical cursor
 +      motion in bidi-reordered lines.
 +      (move_it_in_display_line_to): Record prev_method and prev_pos
 +      immediately before the call to set_iterator_to_next.  Fixes cursor
 +      motion in bidi-reordered lines with stretch glyphs and strings
 +      displayed in margins.  (Bug#8133) (Bug#8867)
 +      Return MOVE_POS_MATCH_OR_ZV only if iterator position is past
 +      TO_CHARPOS.
 +      (pos_visible_p): Support positions in bidi-reordered lines.
 +      Save and restore bidi cache.
 +
 +      * bidi.c (bidi_level_of_next_char): clen should be EMACS_NT, not int.
 +      (bidi_paragraph_info): Delete unused struct.
 +      (bidi_cache_idx, bidi_cache_last_idx): Declare EMACS_INT.
 +      (bidi_cache_start): New variable.
 +      (bidi_cache_reset): Reset bidi_cache_idx to bidi_cache_start, not
 +      to zero.
 +      (bidi_cache_fetch_state, bidi_cache_search)
 +      (bidi_cache_find_level_change, bidi_cache_iterator_state)
 +      (bidi_cache_find, bidi_peek_at_next_level)
 +      (bidi_level_of_next_char, bidi_find_other_level_edge)
 +      (bidi_move_to_visually_next): Compare cache index with
 +      bidi_cache_start rather than with zero.
 +      (bidi_fetch_char): Accept new argument STRING; all callers
 +      changed.  Support iteration over a string.  Support strings with
 +      display properties.  Support unibyte strings.  Fix the type of
 +      `len' according to what STRING_CHAR_AND_LENGTH expects.
 +      (bidi_paragraph_init, bidi_resolve_explicit_1)
 +      (bidi_resolve_explicit, bidi_resolve_weak)
 +      (bidi_level_of_next_char, bidi_move_to_visually_next):
 +      Support iteration over a string.
 +      (bidi_set_sor_type, bidi_resolve_explicit_1)
 +      (bidi_resolve_explicit, bidi_type_of_next_char): ignore_bn_limit
 +      can now be zero (for strings); special values 0 and -1 were
 +      changed to -1 and -2, respectively.
 +      (bidi_char_at_pos): New function.
 +      (bidi_paragraph_init, bidi_resolve_explicit, bidi_resolve_weak):
 +      Call it instead of FETCH_MULTIBYTE_CHAR.
 +      (bidi_move_to_visually_next): Abort if charpos or bytepos were not
 +      initialized to valid values.
 +      (bidi_init_it): Don't initialize charpos and bytepos with invalid
 +      values.
 +      (bidi_level_of_next_char): Allow the sentinel "position" to pass
 +      the test for valid cached positions.  Fix the logic for looking up
 +      the sentinel state in the cache.  GCPRO the Lisp string we are
 +      iterating.
 +      (bidi_push_it, bidi_pop_it): New functions.
 +      (bidi_initialize): Initialize the bidi cache start stack pointer.
 +      (bidi_cache_ensure_space): New function, refactored from part of
 +      bidi_cache_iterator_state.  Don't assume the required size is just
 +      one BIDI_CACHE_CHUNK away.
 +      (bidi_cache_start_stack, bidi_push_it): Use IT_STACK_SIZE.
 +      (bidi_count_bytes, bidi_char_at_pos): New functions.
 +      (bidi_cache_search): Don't assume bidi_cache_last_idx is
 +      always valid if bidi_cache_idx is valid.
 +      (bidi_cache_find_level_change): xassert that bidi_cache_last_idx
 +      is valid if it's going to be used.
 +      (bidi_shelve_cache, bidi_unshelve_cache): New functions.
 +      (bidi_cache_fetch_state, bidi_cache_search)
 +      (bidi_cache_find_level_change, bidi_cache_ensure_space)
 +      (bidi_cache_iterator_state, bidi_cache_find)
 +      (bidi_find_other_level_edge, bidi_cache_start_stack):
 +      All variables related to cache indices are now EMACS_INT.
  
 -      * dispextern.h (struct it): Don't define OVERLAY_STRING_CHUNK_SIZE
 -      twice.
 +      * dispextern.h (struct bidi_string_data): New structure.
 +      (struct bidi_it): New member `string'.  Make flag members be 1-bit
 +      fields, and put them last in the struct.
 +      (compute_display_string_pos, compute_display_string_end):
 +      Update prototypes.
 +      (bidi_push_it, bidi_pop_it): Add prototypes.
 +      (struct iterator_stack_entry): New members bidi_p,
 +      paragraph_embedding, and from_disp_prop_p.
 +      (struct it): Member bidi_p is now a bit field 1 bit wide.
 +      (bidi_shelve_cache, bidi_unshelve_cache):
 +      Declare prototypes.
  
 -      * xdisp.c (handle_face_prop): Fix last change.
 +      * .gdbinit (xvectype, xvector, xcompiled, xchartable, xboolvector)
 +      (xpr, xfont, xbacktrace): Use "header.size" when accessing vectors
 +      and vector-like objects.
  
 -2007-11-09  Richard Stallman  <rms@gnu.org>
 +      * dispnew.c (buffer_posn_from_coords): Save and restore the bidi
 +      cache around display iteration.
  
 -      * 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.
 +      * window.c (Fwindow_end, window_scroll_pixel_based)
 +      (displayed_window_lines, Frecenter): Save and restore the bidi
 +      cache around display iteration.
  
 -      * xfaces.c (face_for_overlay_string): Function renamed from
 -      face_at_buffer_position_no_overlays, and add arg OVERLAY.
 +2011-07-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * 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.
 +      * editfns.c (Fdelete_region): Clarify the use of the named
 +      parameters (bug#6788).
  
 -2007-11-09  Richard Stallman  <rms@gnu.org>
 +2011-07-14  Martin Rudalics  <rudalics@gmx.at>
  
 -      * xdisp.c (handle_face_prop): Use face_at_buffer_position_no_overlays
 -      to get the base face for an overlay string.
 +      * indent.c (Fvertical_motion): Set and restore w->pointm when
 +      saving and restoring the window's buffer (Bug#9006).
  
 -      * dispextern.h (face_at_buffer_position_no_overlays): Add decl.
 +2011-07-13  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * xfaces.c (face_at_buffer_position_no_overlays): New function.
 +      * editfns.c (Fstring_to_char): Clarify just what is returned
 +      (bug#6576).  Text by Eli Zaretskii.
  
 -      * xdisp.c (handle_stop): Move some code out of loop.
 +2011-07-13  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-11-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * gnutls.c (init_gnutls_functions): Honor gnutls_log_level (bug#9059).
  
 -      * macfns.c [USE_ATSUI] (Fmac_atsu_font_face_attributes):
 -      Fix conversion from Lisp object to ATSUFontID.
 +2011-07-13  Eli Zaretskii  <eliz@gnu.org>
  
 -2007-11-09  Jason Rumney  <jasonr@gnu.org>
 +      * buffer.c (mmap_find): Fix a typo.
  
 -      * xdisp.c (Fformat_mode_line): Do nothing when noninteractive.
 +2011-07-13  Johan Bockgård  <bojohan@gnu.org>
  
 -2007-11-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      Fix execution of x selection hooks.
 +      * xselect.c (Qx_lost_selection_functions)
 +      (Qx_sent_selection_functions): New vars.
 +      (syms_of_xselect): DEFSYM them.
 +      (x_handle_selection_request): Pass Qx_sent_selection_functions
 +      rather than Vx_sent_selection_functions to Frun_hook_with_args.
 +      (x_handle_selection_clear,x_clear_frame_selections):
 +      Pass Qx_lost_selection_functions rather than
 +      Vx_lost_selection_functions to Frun_hook_with_args.
  
 -      * 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.
 +2011-07-13  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2007-11-09  Richard Stallman  <rms@gnu.org>
 +      * buffer.c (Fget_buffer_create): Initialize inhibit_shrinking.
 +      The old code sometimes used this field without initializing it.
  
 -      * emacs.c (syms_of_emacs) <installation-directory>: Reflow docstring.
 +      * alloc.c (gc_sweep): Don't read past end of array.
 +      In theory, the old code could also have corrupted Emacs internals,
 +      though it'd be very unlikely.
  
 -2007-11-07  Jason Rumney  <jasonr@gnu.org>
 +2011-07-12  Andreas Schwab  <schwab@linux-m68k.org>
  
 -      * s/windows95.h: Remove.
 +      * character.c (Fcharacterp): Don't advertise optional ignored
 +      argument.  (Bug#4026)
  
 -2007-11-06  Jan Djärv  <jan.h.d@swipnet.se>
 +2011-07-12  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * gtkutil.c (xg_tool_bar_menu_proxy): Handle GTK_IMAGE_ICON_NAME and
 -      abort with a message on unhandled store_type values.
 +      * keymap.c (syms_of_keymap): Clarify that "modifier" is "modifier
 +      key" (bug#4257).
  
 -2007-11-01  Jan Djärv  <jan.h.d@swipnet.se>
 +      * window.c (Fset_window_start): Doc fix (bug#4199).
 +      (Fset_window_hscroll): Ditto.
  
 -      * xterm.c, xfns.c, xselect.c, xterm.h, s/msdos.h, s/sco4.h, s/sco5.h:
 -      Remove HAVE_X11R5 and HAVE_X11R4.
 +2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2007-11-01  Dan Nicolaescu  <dann@ics.uci.edu>
 +      Fix minor new problems caught by GCC 4.6.1.
 +      * term.c (init_tty): Remove unused local.
 +      * xsettings.c (store_monospaced_changed): Define this function only
 +      if (defined HAVE_GSETTINGS || defined HAVE_GCONF), as it's
 +      not used otherwise.
  
 -      * Makefile.in: Remove references to sunfns.c and sunfns.o.
 +2011-07-12  Chong Yidong  <cyd@stupidchicken.com>
  
 -2007-11-01  Johan Bockgård  <bojohan@gnu.org>
 +      * xdisp.c (Vresize_mini_windows): Minor doc fix (Bug#3300).
  
 -      * 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.
 +2011-07-11  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -2007-11-01  Dan Nicolaescu  <dann@ics.uci.edu>
 +      * xdisp.c (syms_of_xdisp): Make it explicit that the mini-windows
 +      are the mini-buffer and the echo area (bug#3320).
  
 -      * sunfns.c: Remove file.
 +      * term.c (init_tty): Remove support for supdup, c10 and perq
 +      terminals, which are no longer supported (bug#1482).
  
 -      * m/sun386.h:
 -      * m/sun2.h:
 -      * m/sparc.h: Remove Sun windows code.
 +2011-07-10  Johan Bockgård  <bojohan@gnu.org>
  
 -2007-10-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * xdisp.c (Ftool_bar_lines_needed): Fix WINDOWP check.
  
 -      * 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.
 +2011-07-10  Jan Djärv  <jan.h.d@swipnet.se>
  
 -2007-10-31  Dan Nicolaescu  <dann@ics.uci.edu>
 +      * xmenu.c (menu_highlight_callback): Only pass frame to show_help_event
 +      for non-popups (Bug#3642).
  
 -      * 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.
 +2011-07-10  Andreas Schwab  <schwab@linux-m68k.org>
  
 -      * dispnew.c (syms_of_display): Don't mention version 10.
 +      * alloc.c (reset_malloc_hooks): Protoize.
 +      * buffer.c (mmap_init, mmap_find, mmap_free_1, mmap_enlarge)
 +      (mmap_set_vars, mmap_alloc, mmap_free, mmap_realloc): Likewise.
 +      * cm.c (losecursor): Likewise.
 +      * data.c (fmod): Likewise.
 +      * dispnew.c (swap_glyphs_in_rows): Likewise.
 +      * emacs.c (memory_warning_signal): Likewise.
 +      * floatfns.c (float_error): Likewise.
 +      * font.c (check_gstring, check_otf_features, otf_tag_symbol)
 +      (otf_open, font_otf_capability, generate_otf_features)
 +      (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
 +      Likewise.
 +      * image.c (pbm_read_file): Likewise.
 +      * indent.c (string_display_width): Likewise.
 +      * intervals.c (check_for_interval, search_for_interval)
 +      (inc_interval_count, count_intervals, root_interval)
 +      (adjust_intervals_for_insertion, make_new_interval): Likewise.
 +      * lread.c (defalias): Likewise.
 +      * ralloc.c (r_alloc_check): Likewise.
 +      * regex.c (set_image_of_range_1, set_image_of_range)
 +      (regex_grow_registers): Likewise.
 +      * sysdep.c (strerror): Likewise.
 +      * termcap.c (valid_filename_p, tprint, main): Likewise.
 +      * tparam.c (main): Likewise.
 +      * unexhp9k800.c (run_time_remap, save_data_space)
 +      (update_file_ptrs, read_header, write_header, calculate_checksum)
 +      (copy_file, copy_rest, display_header): Likewise.
 +      * widget.c (mark_shell_size_user_specified, create_frame_gcs):
 +      Likewise.
 +      * xdisp.c (check_it): Likewise.
 +      * xfaces.c (register_color, unregister_color, unregister_colors):
 +      Likewise.
 +      * xfns.c (print_fontset_result): Likewise.
 +      * xrdb.c (member, fatal, main): Likewise.
  
 -2007-10-28  Juanma Barranquero  <lekktu@gmail.com>
 +2011-07-10  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * makefile.w32-in (OBJ1): Remove abbrev.$(O).
 -      ($(BLD)/abbrev.$(O)): Remove.
 +      Fix minor problems found by static checking (Bug#9031).
 +      * chartab.c (char_table_set_range, map_sub_char_table):
 +      Remove unused locals.
 +      (uniprop_table): Now static.
 +      * composite.c (_work_char): Remove unused static var.
  
 -2007-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-07-09  Juanma Barranquero  <lekktu@gmail.com>
  
 -      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.
 +      * chartab.c (uniprop_table_uncompress): Remove unused local variable.
  
 -2007-10-26  Martin Rudalics  <rudalics@gmx.at>
 +2011-07-09  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * window.c (window_min_size_2): Don't count header-line.
 +      * gtkutil.c (qttip_cb): Remove code without function.
  
 -2007-10-26  Dan Nicolaescu  <dann@ics.uci.edu>
 +2011-07-09  Eli Zaretskii  <eliz@gnu.org>
  
 -      * 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.
 +      * w32.c (pthread_sigmask): New stub.
  
 -2007-10-26  Juanma Barranquero  <lekktu@gmail.com>
 +2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * minibuf.c (Fread_minibuffer, Feval_minibuffer): Reflow docstrings.
 +      Use pthread_sigmask, not sigprocmask (Bug#9010).
 +      sigprocmask is portable only for single-threaded applications, and
 +      Emacs can be multi-threaded when it uses GTK.
 +      * Makefile.in (LIB_PTHREAD_SIGMASK): New macro.
 +      (LIBES): Use it.
 +      * callproc.c (Fcall_process):
 +      * process.c (create_process):
 +      * sysdep.c (sys_sigblock, sys_sigunblock, sys_sigsetmask):
 +      Use pthread_sigmask, not sigprocmask.
  
 -      * 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.
 +2011-07-08  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * frame.c (syms_of_frame) <delete-frame-functions>:
 -      Fix typo in docstring.
 +      * gtkutil.c (qttip_cb): Set line wrap to FALSE for tooltip widget.
 +      (xg_prepare_tooltip): Revert text in x->ttip_lbl, margins was
 +      wrong (Bug#8591).
  
 -2007-10-25  Juanma Barranquero  <lekktu@gmail.com>
 +2011-07-08  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * w32.c (init_environment): Fix tiny memory leak.
 -      (w32_get_resource): Remove unused variable `ok'.
 +      * gtkutil.c (xg_prepare_tooltip): Fix indentation and comment.
 +      Put text in x->ttip_lbl instead of gtk_tooltip_set_text (Bug#8591).
 +      (xg_hide_tooltip): Fix comment.
  
 -2007-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * nsterm.m (initFrameFromEmacs): Don't use ns_return_types
 +      in registerServicesMenuSendTypes.
 +      (validRequestorForSendType): Don't check ns_return_types.
  
 -      Make `window-system' into a keyboard-local variable (rather than
 -      frame-local as done originally by multi-tty).
 +      * nsfns.m (Fx_open_connection): Put NSStringPboardType into
 +      ns_return_type.
  
 -      * keyboard.h (struct kboard): Add Vwindow_system.
 -      * keyboard.c (init_kboard): Set a default for Vwindow_system.
 -      (mark_kboards): Mark Vwindow_system.
 +2011-07-08  Jason Rumney  <jasonr@gnu.org>
  
 -      * dispnew.c (syms_of_display) <window-system>: Declare terminal-local.
 -      (init_display): Don't set the obsolete `window-system' frame-param.
 +      * w32term.c (x_make_frame_visible): Use SH_SHOWNORMAL rather than
 +      SH_SHOW for hidden windows (Bug#5482).
  
 -      * 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.
 +      * w32fns.c (w32_wnd_proc) [WM_TIMER, WM_SET_CURSOR]: Avoid using
 +      frame struct members of non-existent frames (Bug#6284).
  
 -      * 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.
 +2011-07-08  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * 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.
 +      * nsterm.m (keyDown): Call to wantsToDelayTextChangeNotifications and
 +      variable firstTime not needed on OSX >= 10.6.
 +      (setPosition): setFloatValue:knobProportion: is deprecated on OSX
 +      >= 10.5.  Use setKnobProportion, setDoubleValue.
  
 -2007-10-24  Richard Stallman  <rms@gnu.org>
 +      * nsterm.h (MAC_OS_X_VERSION_10_3, MAC_OS_X_VERSION_10_4)
 +      (MAC_OS_X_VERSION_10_5): Define if not defined.
 +      (EmacsView, EmacsTooltip): Implements NSWindowDelegate on OSX >= 10.6.
 +      (EmacsMenu): Implements NSMenuDelegate on OSX >= 10.6.
 +      (EmacsToolbar): Implements NSToolbarDelegate on OSX >= 10.6.
  
 -      * frame.c (x_figure_window_size): For fullscreen case,
 -      set USPosition | PPosition without clobbering rest of window_prompting.
 +      * nsselect.m (ns_string_from_pasteboard): Don't use deprecated methods
 +      cString and lossyCString on OSX >= 10.4
  
 -      * keyboard.c (Fcurrent_idle_time): Doc fix.
 +      * nsmenu.m (fillWithWidgetValue): Don't use depercated method
 +      sizeToFit on OSX >= 10.2.
  
 -      * print.c (Fwith_output_to_temp_buffer): Doc fix.
 +      * nsimage.m (allocInitFromFile): Don't use deprecated method
 +      bestRepresentationForDevice on OSX >= 10.6.
  
 -2007-10-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * nsfns.m (check_ns_display_info): Cast to long and use %ld in error
 +      to avoid warning.
  
 -      * process.c (unwind_request_sigio): Only define if __ultrix__.
 +      * emacs.c: Declare unexec_init_emacs_zone.
  
 -      * callproc.c (child_setup): Remove spurious *.
 +      * nsgui.h: Fix compiler warning about gnulib redefining verify.
  
 -      * 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.
 +      * nsselect.m (ns_get_local_selection): Change to extern (Bug#8842).
  
 -      * 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.
 +      * nsmenu.m (ns_update_menubar): Remove useless setDelegate call
 +      on svcsMenu (Bug#8842).
  
 -2007-10-22  Jason Rumney  <jasonr@gnu.org>
 +      * nsfns.m (Fx_open_connection): Remove NSStringPboardType from
 +      ns_return_types.
 +      (Fns_list_services): Just return Qnil on 10.6, code not working there.
  
 -      * w32fns.c: Include math.h.
 -      (w32_abort): Declaration moved to nt/config.nt.
 +      * nsterm.m (QUTF8_STRING): Declare.
 +      (initFrameFromEmacs): Call registerServicesMenuSendTypes.
 +      (validRequestorForSendType): Return type is (id).
 +      Change indexOfObjectIdenticalTo to indexOfObject.
 +      Check if we have local selection before returning self (Bug#8842).
 +      (writeSelectionToPasteboard): Put local selection into paste board
 +      if we have a local selection (Bug#8842).
 +      (syms_of_nsterm): DEFSYM QUTF8_STRING.
  
 -      * s/ms-w32.h (HAVE_STDLIB_H): Define.
 -      (abort): Redefinition moved to nt/config.nt.
 +      * nsterm.h (MAC_OS_X_VERSION_10_6): Define here instead of nsterm.m.
 +      (ns_get_local_selection): Declare.
  
 -      * m/windowsnt.h: Remove.
 +2011-07-07  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -2007-10-22  Juanma Barranquero  <lekktu@gmail.com>
 +      * keymap.c (describe_map_tree): Don't insert a double newline at
 +      the end of the buffer (bug#1169) and return whether we inserted
 +      something.
  
 -      * emacs.c (Fdump_emacs): Fix typo in message.
 -      (syms_of_emacs) <kill-emacs-hook>: Fix typo in docstring.
 -      <installation-directory>: Reflow docstring.
 +      * callint.c (Fcall_interactively): Change "reading args" to
 +      "providing args" to try to clarify what it does (bug#1010).
  
 -2007-10-22  Juri Linkov  <juri@jurta.org>
 +2011-07-07  Kenichi Handa  <handa@m17n.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.
 +      * composite.c (composition_compute_stop_pos): Ignore a static
 +      composition starting before CHARPOS (Bug#8915).
  
 -2007-10-21  Michael Albinus  <michael.albinus@gmx.de>
 +      * xdisp.c (handle_composition_prop): Likewise.
  
 -      * fileio.c (Fcopy_file): Call file name handler with preserve_uid_gid.
 +2011-07-07  Eli Zaretskii  <eliz@gnu.org>
  
 -2007-10-20  Juanma Barranquero  <lekktu@gmail.com>
 +      * term.c (produce_glyphs) <xassert>: Allow IT_GLYPHLESS in it->what.
 +      (Bug#9015)
  
 -      * doc.c (Fdocumentation): Check for advice in all cases.
 +2011-07-07  Kenichi Handa  <handa@m17n.org>
  
 -2007-10-19  Chong Yidong  <cyd@stupidchicken.com>
 +      * character.h (unicode_category_t): New enum type.
 +
 +      * chartab.c (uniprop_decoder_t, uniprop_encoder_t): New types.
 +      (Qchar_code_property_table): New variable.
 +      (UNIPROP_TABLE_P, UNIPROP_GET_DECODER)
 +      (UNIPROP_COMPRESSED_FORM_P): New macros.
 +      (char_table_ascii): Uncompress the compressed values.
 +      (sub_char_table_ref): New arg is_uniprop.  Callers changed.
 +      Uncompress the compressed values.
 +      (sub_char_table_ref_and_range): Likewise.
 +      (char_table_ref_and_range): Uncompress the compressed values.
 +      (sub_char_table_set): New arg is_uniprop.  Callers changed.
 +      Uncompress the compressed values.
 +      (sub_char_table_set_range): Args changed.  Callers changed.
 +      (char_table_set_range): Adjuted for the above change.
 +      (map_sub_char_table): Delete args default_val and parent.  Add arg
 +      top.  Give decoded values to a Lisp function.
 +      (map_char_table): Adjust for the above change.  Give decoded
 +      values to a Lisp function.  Gcpro more variables.
 +      (uniprop_table_uncompress)
 +      (uniprop_decode_value_run_length): New functions.
 +      (uniprop_decoder, uniprop_decoder_count): New variables.
 +      (uniprop_get_decoder, uniprop_encode_value_character)
 +      (uniprop_encode_value_run_length, uniprop_encode_value_numeric):
 +      New functions.
 +      (uniprop_encoder, uniprop_encoder_count): New variables.
 +      (uniprop_get_encoder, uniprop_table)
 +      (Funicode_property_table_internal, Fget_unicode_property_internal)
 +      (Fput_unicode_property_internal): New functions.
 +      (syms_of_chartab): DEFSYM Qchar_code_property_table, defsubr
 +      Sunicode_property_table_internal, Sget_unicode_property_internal,
 +      and Sput_unicode_property_internal.  Defvar_lisp
 +      char-code-property-alist.
 +
 +      * composite.c (CHAR_COMPOSABLE_P): Adjust for the change of
 +      Vunicode_category_table.
 +
 +      * font.c (font_range): Adjust for the change of
 +      Vunicode_category_table.
 +
 +2011-07-07  Dan Nicolaescu  <dann@ics.uci.edu>
 +
 +      * m/iris4d.h: Remove file, move contents ...
 +      * s/irix6-5.h: ... here.
 +
 +2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Remove unportable assumption about struct layout (Bug#8884).
 +      * alloc.c (mark_buffer):
 +      * buffer.c (reset_buffer_local_variables, Fbuffer_local_variables)
 +      (clone_per_buffer_values): Don't assume that
 +      sizeof (struct buffer) is a multiple of sizeof (Lisp_Object).
 +      This isn't true in general, and it's particularly not true
 +      if Emacs is configured with --with-wide-int.
 +      * buffer.h (FIRST_FIELD_PER_BUFFER, LAST_FIELD_PER_BUFFER):
 +      New macros, used in the buffer.c change.
 +
 +2011-07-05  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * xsettings.c: Use both GConf and GSettings if both are available.
 +      (store_config_changed_event): Add comment.
 +      (dpyinfo_valid, store_font_name_changed, map_tool_bar_style)
 +      (store_tool_bar_style_changed): New functions.
 +      (store_monospaced_changed): Add comment.  Call dpyinfo_valid.
 +      (struct xsettings): Move font inside HAVE_XFT.
 +      (GSETTINGS_TOOL_BAR_STYLE, GSETTINGS_FONT_NAME): New defines.
 +      (GSETTINGS_MONO_FONT): Rename from SYSTEM_MONO_FONT.
 +      Move inside HAVE_XFT.
 +      (something_changed_gsettingsCB): Rename from something_changedCB.
 +      Check for changes in GSETTINGS_TOOL_BAR_STYLE and GSETTINGS_FONT_NAME
 +      also.
 +      (GCONF_TOOL_BAR_STYLE, GCONF_FONT_NAME): New defines.
 +      (GCONF_MONO_FONT): Rename from SYSTEM_MONO_FONT.  Move inside HAVE_XFT.
 +      (something_changed_gconfCB): Rename from something_changedCB.
 +      Check for changes in GCONF_TOOL_BAR_STYLE and GCONF_FONT_NAME also.
 +      (parse_settings): Move check for font inside HAVE_XFT.
 +      (read_settings, apply_xft_settings): Add comment.
 +      (read_and_apply_settings): Add comment.  Call map_tool_bar_style and
 +      store_tool_bar_style_changed.  Move check for font inside HAVE_XFT and
 +      call store_font_name_changed.
 +      (xft_settings_event): Add comment.
 +      (init_gsettings): Add comment.  Get values for GSETTINGS_TOOL_BAR_STYLE
 +      and GSETTINGS_FONT_NAME.  Move check for fonts within HAVE_XFT.
 +      (init_gconf): Add comment.  Get values for GCONF_TOOL_BAR_STYLE
 +      and GCONF_FONT_NAME.  Move check for fonts within HAVE_XFT.
 +      (xsettings_initialize): Call init_gsettings last.
 +      (xsettings_get_system_font, xsettings_get_system_normal_font):
 +      Add comment.
 +
 +2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Random fixes.  E.g., (random) never returned negative values.
 +      * fns.c (Frandom): Use GET_EMACS_TIME for random seed, and add the
 +      subseconds part to the entropy, as that's a bit more random.
 +      Prefer signed to unsigned, since the signedness doesn't matter and
 +      in general we prefer signed.  When given a limit, use a
 +      denominator equal to INTMASK + 1, not to VALMASK + 1, because the
 +      latter isn't right if USE_2_TAGS_FOR_INTS.
 +      * sysdep.c (get_random): Return a value in the range 0..INTMASK,
 +      not 0..VALMASK.  Don't discard "excess" bits that random () returns.
 +
 +2011-07-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * textprop.c (text_property_stickiness):
 +      Obey Vtext_property_default_nonsticky.
 +      (syms_of_textprop): Add `display' to Vtext_property_default_nonsticky.
 +      * w32fns.c (syms_of_w32fns):
 +      * xfns.c (syms_of_xfns): Don't Add `display' since it's there by default.
  
 -      * Makefile.in [HAVE_LIBRESOLV]: Add -lresolv to linker flags.
 +2011-07-04  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2007-10-19  Richard Stallman  <rms@gnu.org>
 +      * fileio.c (barf_or_query_if_file_exists): Use S_ISDIR.
 +      This is more efficient than Ffile_directory_p and avoids a minor race.
  
 -      * doc.c (Fdocumentation): Check for and handle an advised function.
 +2011-07-04  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -2007-10-19  Juanma Barranquero  <lekktu@gmail.com>
 +      * buffer.c (Foverlay_put): Say what the return value is
 +      (bug#7835).
  
 -      * process.c (Fset_process_filter): Doc fix.
 +      * fileio.c (barf_or_query_if_file_exists): Check first if the file
 +      is a directory before asking whether to use the file name
 +      (bug#7564).
 +      (barf_or_query_if_file_exists): Make the "File is a directory"
 +      error be more correct.
  
 -2007-10-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * fns.c (Frequire): Remove the mention of the .gz files, since
 +      that's installation-specific, but keep the mention of
 +      `get-load-suffixes'.
  
 -      * keyboard.c (read_key_sequence): Undo a change introduced by multi-tty
 -      which caused key-translation-map to applied repeatedly (thus breaking
 -      double-mode).
 +2011-07-04  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2007-10-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * editfns.c (Fformat_time_string): Don't assume strlen fits in int.
 +      Report string overflow if the output is too long.
  
 -      * 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.
 +2011-07-04  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-10-17  Chong Yidong  <cyd@stupidchicken.com>
 +      * gnutls.c (Fgnutls_boot): Don't mention :verify-error.
 +      (syms_of_gnutls): Remove duplicate DEFSYM for
 +      Qgnutls_bootprop_verify_hostname_error, an error for
 +      Qgnutls_bootprop_verify_error (which is no longer used).
  
 -      * process.c: Link to libs for calling res_init() if available.
 -      (Fmake_network_process): Call res_init() before getaddrinfo or
 -      gethostbyname, if possible.
 +      * eval.c (find_handler_clause): Remove parameters `sig' and `data',
 +      unused since 2011-01-26T20:02:07Z!monnier@iro.umontreal.ca.  All callers changed.
 +      Also (re)move comments that are misplaced or no longer relevant.
  
 -2007-10-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-07-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * lread.c (read1): Set pvectype for char_tables.
 +      * callint.c (Finteractive): Clarify the meaning of "@" (bug#8813).
  
 -      * 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.
 +2011-07-03  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * alloc.c (free_misc): Use XMISCTYPE.
 -      (live_misc_p, gc_sweep): Use Lisp_Misc_Any.
 +      * xfaces.c (Finternal_merge_in_global_face): Modify the foreground
 +      and background color parameters if they have been changed.
  
 -2007-10-17  Glenn Morris  <rgm@gnu.org>
 +2011-07-03  Lars Magne Ingebrigtsen  <larsi@gnus.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.
 +      * editfns.c (Fformat): Clarify the - and 0 flags (bug#6659).
  
 -      * coding.c (Qcompletion_ignore_case): New external Lisp_Object.
 -      (Fread_coding_system): Ignore case of user input.
 +2011-07-03  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2007-10-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * xsettings.c (SYSTEM_FONT): Define only when used.
 +      No need to define when HAVE_GSETTINGS || !HAVE_XFT.
  
 -      * 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.
 +      * keymap.c (access_keymap_1): Now static.
  
 -2007-10-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-07-02  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * 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.
 +      * keyboard.c (command_loop_1): If a down-mouse event is unbound,
 +      leave any prefix arg for the up event (Bug#1586).
  
 -      * alloc.c (Fpurecopy): Set the pvec tag on pseudo vectors.
 +2011-07-02  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -      * 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.
 +      * lread.c (syms_of_lread): Mention single symbols defined by
 +      `defvar' or `defconst' (bug#7154).
  
 -      * doc.c (Fsnarf_documentation): Simplify.
 +      * fns.c (Frequire): Mention .el.gz files (bug#7314).
 +      (Frequire): Mention get-load-suffixes.
  
 -2007-10-14  Juanma Barranquero  <lekktu@gmail.com>
 +2011-07-02  Martin Rudalics  <rudalics@gmx.at>
  
 -      * w32term.c (w32_font_is_double_byte, my_create_scrollbar): Make static.
 -      (syms_of_w32term) <w32-enable-unicode-output>: Fix typo in docstring.
 +      * window.h (window): Remove clone_number slot.
 +      * window.c (Fwindow_clone_number, Fset_window_clone_number):
 +      Remove.
 +      (make_parent_window, make_window, saved_window)
 +      (Fset_window_configuration, save_window_save): Don't deal with
 +      clone numbers.
 +      * buffer.c (Qclone_number): Remove declaration.
 +      (sort_overlays, overlay_strings): Don't deal with clone numbers.
  
 -2007-10-14  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * buffer.c (Fmake_indirect_buffer): Set the buffer's tag.
 +      Add multiple inheritance to keymaps.
 +      * keymap.c (Fmake_composed_keymap): New function.
 +      (Fset_keymap_parent): Simplify.
 +      (fix_submap_inheritance): Remove.
 +      (access_keymap_1): New function extracted from access_keymap to handle
 +      embedded parents and handle lists of maps.
 +      (access_keymap): Use it.
 +      (Fkeymap_prompt, map_keymap_internal, map_keymap, store_in_keymap)
 +      (Fcopy_keymap): Handle embedded parents.
 +      (Fcommand_remapping, define_as_prefix): Simplify.
 +      (Fkey_binding): Simplify.
 +      (syms_of_keymap): Move minibuffer-local-completion-map,
 +      minibuffer-local-filename-completion-map,
 +      minibuffer-local-must-match-map, and
 +      minibuffer-local-filename-must-match-map to Elisp.
 +      (syms_of_keymap): Defsubr make-composed-keymap.
 +      * keyboard.c (menu_bar_items): Use map_keymap_canonical.
 +      (parse_menu_item): Trivial simplification.
  
 -2007-10-14  Juanma Barranquero  <lekktu@gmail.com>
 +2011-07-01  Glenn Morris  <rgm@gnu.org>
  
 -      * eval.c (do_autoload): Don't save autoloads.
 +      * Makefile.in (SETTINGS_LIBS): Fix typo.
  
 -      * data.c (Ffset): Save autoload of the function being set.
 +2011-07-01  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>  (tiny patch)
  
 -2007-10-07  John Paul Wallington  <jpw@pobox.com>
 +      * coding.c (Fencode_coding_string): Record the last coding system
 +      used, as the function doc string says (bug#8738).
  
 -      * xfns.c (x_create_tip_frame): Set the `display-type' frame
 -      parameter before setting up faces.
 +2011-07-01  Jan Djärv  <jan.h.d@swipnet.se>
  
 -2007-10-13  Eli Zaretskii  <eliz@gnu.org>
 +      * xsettings.c (store_monospaced_changed): Take new font as arg and
 +      check for change against current_mono_font.
 +      (EMACS_TYPE_SETTINGS): Remove this and related defines.
 +      (emacs_settings_constructor, emacs_settings_get_property)
 +      (emacs_settings_set_property, emacs_settings_class_init)
 +      (emacs_settings_init, gsettings_obj): Remove.
 +      (something_changedCB): New function for HAVE_GSETTINGS.
 +      (something_changedCB): HAVE_GCONF: Call store_monospaced_changed
 +      with value as argument.
 +      (init_gsettings): Check that GSETTINGS_SCHEMA exists before calling
 +      g_settings_new (Bug#8967).  Do not create gsettings_obj.
 +      Remove calls to g_settings_bind.  Connect something_changedCB to
 +      "changed".
  
 -      * ccl.c (Fregister_code_conversion_map):
 -      * keyboard.c (append_tool_bar_item): Reformat last change.
 +      * xgselect.c: Add defined (HAVE_GSETTINGS).
 +      (xgselect_initialize): Ditto.
  
 -      * lisp.h (eabs): Rename from `abs'.  All callers changed.
 +      * process.c: Add defined (HAVE_GSETTINGS) for xgselect.h
 +      (wait_reading_process_output): Add defined (HAVE_GSETTINGS) for
 +      xg_select.
  
 -2007-10-05  Dmitry Antipov  <dmantipov@yandex.ru>
 +2011-07-01  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * 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.
 +      * eval.c (struct backtrace): Simplify and port the data structure.
 +      Do not assume that "int nargs : BITS_PER_INT - 2;" produces a
 +      signed bit field, as this assumption is not portable and it makes
 +      Emacs crash when compiled with Sun C 5.8 on sparc.  Do not use
 +      "char debug_on_exit : 1" as this is not portable either; instead,
 +      use the portable "unsigned int debug_on_exit : 1".  Remove unused
 +      member evalargs.  Remove obsolete comments about cc bombing out.
 +
 +2011-06-30  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * xsettings.c: Include glib-object.h, gio/gio.h if HAVE_GSETTINGS.
 +      Let HAVE_GSETTINGS override HAVE_GCONF.
 +      (store_monospaced_changed): New function.
 +      (EMACS_SETTINGS): A new type derived from GObject to handle
 +      GSettings notifications.
 +      (emacs_settings_constructor, emacs_settings_get_property)
 +      (emacs_settings_set_property, emacs_settings_class_init):
 +      New functions.
 +      (gsettings_client, gsettings_obj): New variables.
 +      (GSETTINGS_SCHEMA): New define.
 +      (something_changedCB): Call store_monospaced_changed.
 +      (init_gsettings): New function.
 +      (xsettings_initialize): Call init_gsettings.
 +      (syms_of_xsettings): Initialize gsettings_client, gsettings_obj
 +      to NULL.
  
 -2007-10-13  Eli Zaretskii  <eliz@gnu.org>
 +      * Makefile.in (SETTINGS_CFLAGS, SETTINGS_LIBS): Rename from
 +      GCONF_CFLAGS/LIBS.
  
 -      * msdos.c (dos_rawgetc): Undo last change (there's no ``leaving
 -      selected frame'' on MSDOS).
 +2011-06-29  Martin Rudalics  <rudalics@gmx.at>
  
 -2007-10-12  Martin Rudalics  <rudalics@gmx.at>
 +      * window.c (resize_root_window, grow_mini_window)
 +      (shrink_mini_window): Rename Qresize_root_window to
 +      Qwindow_resize_root_window and Qresize_root_window_vertically to
 +      Qwindow_resize_root_window_vertically.
  
 -      * frame.c (Qexplicit_name): New variable.
 -      (x_report_frame_params): Report it in parameter alist.
 -      (syms_of_frame): Intern and staticpro it.
 +2011-06-28  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2007-10-10  Patrick Mahan  <mahan@mahan.org>  (tiny change)
 +      * gnutls.c (Qgnutls_bootprop_verify_error): Remove unused var.
  
 -      * macfns.c (x_create_tip_frame): Set terminal for frame.
 +2011-06-27  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-10-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * makefile.w32-in: Redesign dependencies so they reflect more
 +      clearly which files are directly included by each source file,
 +      and not through other includes.
  
 -      * 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.
 +2011-06-27  Martin Rudalics  <rudalics@gmx.at>
  
 -      * frame.c (Fframe_with_environment): Remove.
 -      (syms_of_frame) <Sframe_with_environment>: Don't declare.
 +      * buffer.c (Qclone_number): Declare static and DEFSYM it.
 +      (sort_overlays, overlay_strings): When an overlay's clone number
 +      matches the window's clone number process the overlay even if
 +      the overlay's window property doesn't match the current window.
  
 -      * lisp.h (Fframe_with_environment): Don't declare.
 +      * window.c (Fwindow_vchild): Rename to Fwindow_top_child.
 +      (Fwindow_hchild): Rename to Fwindow_left_child.
 +      (Fwindow_next): Rename to Fwindow_next_sibling.
 +      (Fwindow_prev): Rename to Fwindow_prev_sibling.
 +      (resize_window_check): Rename to window_resize_check.
 +      (resize_window_apply): Rename to window_resize_apply.
 +      (Fresize_window_apply): Rename to Fwindow_resize_apply.
 +      (Fdelete_other_windows_internal, resize_frame_windows)
 +      (Fsplit_window_internal, Fdelete_window_internal)
 +      (grow_mini_window, shrink_mini_window)
 +      (Fresize_mini_window_internal): Fix callers accordingly.
  
 -2007-10-10  Juanma Barranquero  <lekktu@gmail.com>
 +2011-06-26  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * 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.
 +      * emacsgtkfixed.h: State that this is only used with Gtk+3.
 +      (emacs_fixed_set_min_size): Remove.
 +      (emacs_fixed_new): Take frame as argument.
  
 -2007-10-10  Katsumi Yamaoka  <yamaoka@jpl.org>
 +      * emacsgtkfixed.c: State that this is only used with Gtk+3.
 +      (_EmacsFixedPrivate): Remove minwidth/height.
 +      Add struct frame *f.
 +      (emacs_fixed_init): Initialize priv->f.
 +      (get_parent_class, emacs_fixed_set_min_size): Remove.
 +      (emacs_fixed_new): Set priv->f to argument.
 +      (emacs_fixed_get_preferred_width)
 +      (emacs_fixed_get_preferred_height): Use min_width/height from
 +      frames size_hint to set minimum and natural (Bug#8919).
 +      (XSetWMSizeHints, XSetWMNormalHints): Override these functions
 +      and use min_width/height from frames size_hint to set
 +      min_width/height (Bug#8919).
  
 -      * puresize.h (BASE_PURESIZE): Increase to 1170000.
 +      * gtkutil.c (xg_create_frame_widgets): Pass f to emacs_fixed_new.
 +      (x_wm_set_size_hint): Remove call to emacs_fixed_set_min_size.
 +      Fix indentation.
  
 -2007-10-09  Jason Rumney  <jasonr@gnu.org>
 +2011-06-26  Eli Zaretskii  <eliz@gnu.org>
  
 -      * w32term.c (x_set_window_size): Disable code that attempts to tell
 -      Lisp code about a size change before it actually happens.
 +      * bidi.c (bidi_paragraph_init): Test for ZV_BYTE before calling
 +      bidi_at_paragraph_end, since fast_looking_at doesn't like to be
 +      called at ZV.
  
 -2007-10-09  Richard Stallman  <rms@gnu.org>
 +2011-06-26  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * xdisp.c (handle_invisible_prop): After setting up an ellipsis,
 -      return HANDLED_RETURN.
 +      * process.c (wait_reading_process_output): Bypass select if
 +      waiting for a cell while ignoring keyboard input, and input is
 +      pending.  Suggested by Jan Djärv (Bug#8869).
  
 -2007-10-08  Martin Rudalics  <rudalics@gmx.at>
 +2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * keyboard.c (kbd_buffer_get_event): Break loop waiting for input
 -      when there's an unread command event.
 +      Use gnulib's dup2 module instead of rolling our own.
 +      * sysdep.c (dup2) [!HAVE_DUP2]: Remove; gnulib now does this.
  
 -      * 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.
 +2011-06-25  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -2007-10-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * dispnew.c (scrolling_window): Before scrolling, turn off a
 +      mouse-highlight in the window being scrolled.
  
 -      * macterm.c (mac_load_query_font): Fix missing return value.
 -      [USE_CG_DRAWING] (mac_define_fringe_bitmap, mac_destroy_fringe_bitmap):
 -      Add BLOCK_INPUT.
 +2011-06-24  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-10-08  Richard Stallman  <rms@gnu.org>
 +      Move DEFSYM to lisp.h and use everywhere.
  
 -      * xdisp.c (get_window_cursor_type): Implement documented behavior
 -      for cursor-in-non-selected-windows = t.
 +      * character.h (DEFSYM): Move declaration...
 +      * lisp.h (DEFSYM): ...here.
  
 -2007-10-08  Jason Rumney  <jasonr@gnu.org>
 +      * gnutls.c:
 +      * minibuf.c:
 +      * w32menu.c:
 +      * w32proc.c:
 +      * w32select.c: Don't include character.h.
  
 -      * w32.c (w32_get_resource): Always close registry keys.
 +      * alloc.c (syms_of_alloc):
 +      * buffer.c (syms_of_buffer):
 +      * bytecode.c (syms_of_bytecode):
 +      * callint.c (syms_of_callint):
 +      * casefiddle.c (syms_of_casefiddle):
 +      * casetab.c (init_casetab_once):
 +      * category.c (init_category_once, syms_of_category):
 +      * ccl.c (syms_of_ccl):
 +      * cmds.c (syms_of_cmds):
 +      * composite.c (syms_of_composite):
 +      * dbusbind.c (syms_of_dbusbind):
 +      * dired.c (syms_of_dired):
 +      * dispnew.c (syms_of_display):
 +      * doc.c (syms_of_doc):
 +      * editfns.c (syms_of_editfns):
 +      * emacs.c (syms_of_emacs):
 +      * eval.c (syms_of_eval):
 +      * fileio.c (syms_of_fileio):
 +      * fns.c (syms_of_fns):
 +      * frame.c (syms_of_frame):
 +      * fringe.c (syms_of_fringe):
 +      * insdel.c (syms_of_insdel):
 +      * keymap.c (syms_of_keymap):
 +      * lread.c (init_obarray, syms_of_lread):
 +      * macros.c (syms_of_macros):
 +      * msdos.c (syms_of_msdos):
 +      * print.c (syms_of_print):
 +      * process.c (syms_of_process):
 +      * search.c (syms_of_search):
 +      * sound.c (syms_of_sound):
 +      * syntax.c (init_syntax_once, syms_of_syntax):
 +      * terminal.c (syms_of_terminal):
 +      * textprop.c (syms_of_textprop):
 +      * undo.c (syms_of_undo):
 +      * w32.c (globals_of_w32):
 +      * window.c (syms_of_window):
 +      * xdisp.c (syms_of_xdisp):
 +      * xfaces.c (syms_of_xfaces):
 +      * xfns.c (syms_of_xfns):
 +      * xmenu.c (syms_of_xmenu):
 +      * xsettings.c (syms_of_xsettings):
 +      * xterm.c (syms_of_xterm): Use DEFSYM.
 +
 +2011-06-24  Teodor Zlatanov  <tzz@lifelogs.com>
 +
 +      * gnutls.c (syms_of_gnutls): Use the DEFSYM macro from character.h.
 +
 +2011-06-23  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Integer and buffer overflow fixes (Bug#8873).
 +
 +      * print.c (printchar, strout): Check for string overflow.
 +      (PRINTPREPARE, printchar, strout):
 +      Don't set size unless allocation succeeds.
 +
 +      * minibuf.c (read_minibuf_noninteractive): Use ptrdiff_t, not int,
 +      for sizes.  Check for string overflow more accurately.
 +      Simplify newline removal at end; this suppresses a GCC 4.6.0 warning.
 +
 +      * macros.c: Integer and buffer overflow fixes.
 +      * keyboard.h (struct keyboard.kbd_macro_bufsize):
 +      * macros.c (Fstart_kbd_macro, store_kbd_macro_char):
 +      Use ptrdiff_t, not int, for sizes.
 +      Don't increment bufsize until after realloc succeeds.
 +      Check for size-calculation overflow.
 +      (Fstart_kbd_macro): Use EMACS_INT, not int, for XINT result.
 +
 +      * lisp.h (DEFVAR_KBOARD): Use offsetof instead of char * finagling.
 +
 +      * lread.c: Integer overflow fixes.
 +      (read_integer): Radix is now EMACS_INT, not int,
 +      to improve quality of diagnostics for out-of-range radices.
 +      Calculate buffer size correctly for out-of-range radices.
 +      (read1): Check for integer overflow in radices, and in
 +      read-circle numbers.
 +      (read_escape): Avoid int overflow.
 +      (Fload, openp, read_buffer_size, read1)
 +      (substitute_object_recurse, read_vector, read_list, map_obarray):
 +      Use ptrdiff_t, not int, for sizes.
 +      (read1): Use EMACS_INT, not int, for sizes.
 +      Check for size overflow.
 +
 +      * image.c (cache_image): Check for size arithmetic overflow.
 +
 +      * lread.c: Integer overflow issues.
 +      (saved_doc_string_size, saved_doc_string_length)
 +      (prev_saved_doc_string_size, prev_saved_doc_string_length):
 +      Now ptrdiff_t, not int.
 +      (read1): Don't assume doc string length fits in int.  Check for
 +      out-of-range doc string lengths.
 +      (read_list): Don't assume file position fits in int.
 +      (read_escape): Check for hex character overflow.
 +
 +2011-06-22  Leo Liu  <sdl.web@gmail.com>
 +
 +      * minibuf.c (Fcompleting_read_default, Vcompleting_read_function):
 +      Move to minibuffer.el.
 +
 +2011-06-22  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fixes for GLYPH_DEBUG found by GCC 4.6.0 static checking.
 +      The following patches are for when GLYPH_DEBUG && !XASSERT.
 +      * dispextern.h (trace_redisplay_p, dump_glyph_string):
 +      * dispnew.c (flush_stdout):
 +      * xdisp.c (dump_glyph_row, dump_glyph_matrix, dump_glyph):
 +      Mark as externally visible.
 +      * dispnew.c (check_window_matrix_pointers): Now static.
 +      * dispnew.c (window_to_frame_vpos):
 +      * xfns.c (unwind_create_frame):
 +      * xterm.c (x_check_font): Remove unused local.
 +      * scroll.c (CHECK_BOUNDS):
 +      * xfaces.c (cache_fache): Rename local to avoid shadowing.
 +      * xfns.c, w32fns.c (image_cache_refcount, dpyinfo_refcount): Now static.
 +      * xdisp.c (check_window_end): Now a no-op if !XASSERTS.
 +      (debug_first_unchanged_at_end_vpos, debug_last_unchanged_at_beg_vpos)
 +      (debug_dvpos, debug_dy, debug_delta, debug_delta_bytes, debug_end_vpos):
 +      Now static.
 +      (debug_method_add): Use va_list and vsprintf rather than relying
 +      on undefined behavior with wrong number of arguments.
 +      (dump_glyph, dump_glyph_row, Fdump_glyph_matrix):
 +      Don't assume ptrdiff_t and EMACS_INT are the same width as int.
 +      In this code, it's OK to assume C99 behavior for ptrdiff_t formats
 +      since we're not interested in debugging glyphs with old libraries.
 +      * xfaces.c (cache_face): Move debugging code earlier; this pacifies
 +      GCC 4.6.0's static checking.
 +
 +2011-06-22  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Integer overflow and signedness fixes (Bug#8873).
 +      A few related buffer overrun fixes, too.
 +
 +      * font.c (font_score): Use EMACS_INT, not int, to store XINT value.
 +
 +      * dispextern.h (struct face.stipple):
 +      * image.c (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
 +      (x_bitmap_mask, x_allocate_bitmap_record)
 +      (x_create_bitmap_from_data, x_create_bitmap_from_file)
 +      (x_destroy_bitmap, x_destroy_all_bitmaps, x_create_bitmap_mask)
 +      (x_create_bitmap_from_xpm_data):
 +      * nsterm.h (struct ns_display_info.bitmaps_size, .bitmaps_last):
 +      * w32term.h (struct w32_display_info.icon_bitmap_id, .bitmaps_size)
 +      (.bitmaps_last):
 +      * xfaces.c (load_pixmap):
 +      * xterm.c (x_bitmap_icon, x_wm_set_icon_pixmap):
 +      * xterm.h (struct x_display_info.icon_bitmap_id, .bitmaps_size)
 +      (.bitmaps_last, struct x_output.icon_bitmap):
 +      Use ptrdiff_t, not int, for bitmap indexes.
 +      (x_allocate_bitmap_record): Check for size overflow.
 +      * dispextern.h, lisp.h: Adjust to API changes elsewhere.
 +
 +      Use ptrdiff_t, not int, for overlay counts.
 +      * buffer.h (overlays_at, sort_overlays, GET_OVERLAYS_AT):
 +      * editfns.c (overlays_around, get_pos_property):
 +      * textprop.c (get_char_property_and_overlay):
 +      * xdisp.c (next_overlay_change, note_mouse_highlight):
 +      * xfaces.c (face_at_buffer_position):
 +      * buffer.c (OVERLAY_COUNT_MAX): New macro.
 +      (overlays_at, overlays_in, sort_overlays, Foverlays_at)
 +      (Fnext_overlay_change, Fprevious_overlay_change)
 +      (mouse_face_overlay_overlaps, Foverlays_in):
 +      Use ptrdiff_t, not int, for sizes.
 +      (overlays_at, overlays_in): Check for size-calculation overflow.
 +
 +      * xterm.c (xim_initialize, same_x_server): Strlen may not fit in int.
 +
 +      * xsmfns.c (smc_save_yourself_CB, x_session_initialize): Avoid strlen.
 +      (x_session_initialize): Do not assume string length fits in int.
 +
 +      * xsettings.c (apply_xft_settings): Fix potential buffer overrun.
 +      This is unlikely, but can occur if DPI is outlandish.
 +
 +      * xsettings.c (Ffont_get_system_normal_font, Ffont_get_system_font):
 +      * xselect.c (Fx_get_atom_name): Avoid need for strlen.
 +
 +      * xrdb.c: Don't assume strlen fits in int; avoid some strlens.
 +      * xrdb.c (magic_file_p, search_magic_path):
 +      Omit last arg SUFFIX; it was always 0.  All callers changed.
 +      (magic_file_p): Use ptrdiff_t, not int.  Check for size overflow.
 +
 +      * xfont.c (xfont_match): Avoid need for strlen.
 +
 +      * xfns.c: Don't assume strlen fits in int.
 +      (xic_create_fontsetname, x_window): Use ptrdiff_t, not int.
 +
 +      * xdisp.c (message_log_check_duplicate): Return intmax_t,
 +      not unsigned long, as we prefer signed integers.  All callers changed.
 +      Detect integer overflow in repeat count.
 +      (message_dolog): Don't assume print length fits in 39 bytes.
 +      (display_mode_element): Don't assume strlen fits in int.
 +
 +      * termcap.c: Don't assume sizes fit in int and never overflow.
 +      (struct termcap_buffer, tgetent): Use ptrdiff_t, not int, for sizes.
 +      (gobble_line): Check for size-calculation overflow.
 +
 +      * minibuf.c (Fread_buffer):
 +      * lread.c (intern, intern_c_string):
 +      * image.c (xpm_scan) [HAVE_NS && !HAVE_XPM]:
 +      Don't assume string length fits in int.
 +
 +      * keyboard.c (parse_tool_bar_item):
 +      * gtkutil.c (style_changed_cb): Avoid need for strlen.
 +
 +      * font.c: Don't assume string length fits in int.
 +      (font_parse_xlfd, font_parse_fcname, font_unparse_fcname):
 +      Use ptrdiff_t, not int.
 +      (font_intern_prop): Don't assume string length fits in int.
 +      Don't assume integer property fits in fixnum.
 +      * font.h (font_intern_prop): 2nd arg is now ptrdiff_t, not int.
 +
 +      * filelock.c: Fix some buffer overrun and integer overflow issues.
 +      (get_boot_time): Don't assume gzip command string fits in 100 bytes.
 +      Reformulate so as not to need the command string.
 +      Invoke gzip -cd rather than gunzip, as it's more portable.
 +      (lock_info_type, lock_file_1, lock_file):
 +      Don't assume pid_t and time_t fit in unsigned long.
 +      (LOCK_PID_MAX): Remove; we now use more-reliable bounds.
 +      (current_lock_owner): Prefer signed type for sizes.
 +      Use memcpy, not strncpy, where memcpy is what is really wanted.
 +      Don't assume (via atoi) that time_t and pid_t fit in int.
 +      Check for time_t and/or pid_t out of range, e.g., via a network share.
 +      Don't alloca where an auto var works fine.
 +
 +      * fileio.c: Fix some integer overflow issues.
 +      (file_name_as_directory, Fexpand_file_name, Fsubstitute_in_file_name):
 +      Don't assume string length fits in int.
 +      (directory_file_name): Don't assume string length fits in long.
 +      (make_temp_name): Don't assume pid fits in int, or that its print
 +      length is less than 20.
 +
 +      * data.c (Fsubr_name): Rewrite to avoid a strlen call.
 +
 +      * coding.c (make_subsidiaries): Don't assume string length fits in int.
 +
 +      * callproc.c (child_setup): Rewrite to avoid two strlen calls.
 +
 +      * process.c (Fformat_network_address): Use EMACS_INT, not EMACS_UINT.
 +      We prefer signed integers, even for size calculations.
 +
 +      * emacs.c: Don't assume string length fits in 'int'.
 +      (DEFINE_DUMMY_FUNCTION, sort_args): Use ptrdiff_t, not int.
 +      (main): Don't invoke strlen when not needed.
 +
 +      * dbusbind.c (XD_ERROR): Don't arbitrarily truncate string.
 +      (XD_DEBUG_MESSAGE): Don't waste a byte.
 +
 +      * callproc.c (getenv_internal_1, getenv_internal)
 +      (Fgetenv_internal):
 +      * buffer.c (init_buffer): Don't assume string length fits in 'int'.
 +
 +      * lread.c (invalid_syntax): Omit length argument.
 +      All uses changed.  This doesn't fix a bug, but it simplifies the
 +      code away from its former Hollerith-constant appearance, and it's
 +      one less 'int' to worry about when looking at integer-overflow issues.
 +      (string_to_number): Simplify 2011-04-26 change by invoking xsignal1.
 +
 +      * lisp.h (DEFUN): Remove bogus use of sizeof (struct Lisp_Subr).
 +      This didn't break anything, but it didn't help either.
 +      It's confusing to put a bogus integer in a place where the actual
 +      value does not matter.
 +      (LIST_END_P): Remove unused macro and its bogus comment.
 +      (make_fixnum_or_float): Remove unnecessary cast to EMACS_INT.
  
 -2007-10-08  Jason Rumney  <jasonr@gnu.org>
 +      * lisp.h (union Lisp_Object.i): EMACS_INT, not EMACS_UINT.
 +      This is for consistency with the ordinary, non-USE_LISP_UNION_TYPE,
 +      implementation.
 +      (struct Lisp_Bool_Vector.size): EMACS_INT, not EMACS_UINT.
 +      We prefer signed types, and the value cannot exceed the EMACS_INT
 +      range anyway (because otherwise the length would not be representable).
 +      (XSET) [USE_LISP_UNION_TYPE]: Use uintptr_t and intptr_t,
 +      not EMACS_UINT and EMACS_INT, when converting pointer to integer.
 +      This avoids a GCC warning when WIDE_EMACS_INT.
 +
 +      * indent.c (sane_tab_width): New function.
 +      (current_column, scan_for_column, Findent_to, position_indentation)
 +      (compute_motion): Use it.  This is just for clarity.
 +      (Fcompute_motion): Don't assume hscroll and tab offset fit in int.
 +
 +      * image.c (xbm_image_p): Don't assume stated width, height fit in int.
 +
 +      * lisp.h (lint_assume): New macro.
 +      * composite.c (composition_gstring_put_cache):
 +      * ftfont.c (ftfont_shape_by_flt): Use it to pacify GCC 4.6.0.
 +
 +      * editfns.c, insdel.c:
 +      Omit unnecessary forward decls, to simplify future changes.
 +
 +      * ftfont.c (ftfont_shape_by_flt): Use signed integers for lengths.
 +
 +      * font.c (Ffont_shape_gstring): Don't assume glyph len fits in 'int'.
 +
 +      * fns.c (Ffillarray): Don't assume bool vector size fits in 'int'.
 +      Use much-faster test for byte-length change.
 +      Don't assume string byte-length fits in 'int'.
 +      Check that character arg fits in 'int'.
 +      (mapcar1): Declare byte as byte, for clarity.
 +
 +      * alloc.c (Fmake_bool_vector): Avoid unnecessary multiplication.
 +
 +      * fns.c (concat): Catch string overflow earlier.
 +      Do not rely on integer wraparound.
 +
 +      * dispextern.h (struct it.overlay_strings_charpos)
 +      (struct it.selective): Now EMACS_INT, not int.
 +      * xdisp.c (forward_to_next_line_start)
 +      (back_to_previous_visible_line_start)
 +      (reseat_at_next_visible_line_start, next_element_from_buffer):
 +      Don't arbitrarily truncate the value of 'selective' to int.
 +
 +      * xdisp.c (init_iterator): Use XINT, not XFASTINT; it might be < 0.
 +
 +      * composite.c: Don't truncate sizes to 'int'.
 +      (composition_gstring_p, composition_reseat_it)
 +      (composition_adjust_point): Use EMACS_INT, not int.
 +      (get_composition_id, composition_gstring_put_cache): Use EMACS_INT,
 +      not EMACS_UINT, for indexes.
  
 -      * makefile.w32-in (LIBS): Add COMCTL32.
 +      * category.h (CATEGORY_SET_P): Remove unnecessary cast to EMACS_INT.
  
 -      * w32fns.c (globals_of_w32fns): Init common controls.
 +      * buffer.c: Include <verify.h>.
 +      (struct sortvec.priority, struct sortstr.priority):
 +      Now EMACS_INT, not int.
 +      (compare_overlays, cmp_for_strings): Avoid subtraction overflow.
 +      (struct sortstr.size, record_overlay_string)
 +      (struct sortstrlist.size, struct sortlist.used):
 +      Don't truncate size to int.
 +      (record_overlay_string): Check for size-calculation overflow.
 +      (init_buffer_once): Check at compile-time, not run-time.
  
 -2007-10-08  Richard Stallman  <rms@gnu.org>
 +2011-06-22  Jim Meyering  <meyering@redhat.com>
  
 -      * image.c (our_memory_buffer): Rename from omfib_buffer.
 +      Don't leak an XBM-image-sized buffer
 +      * image.c (xbm_load): Free the image buffer after using it.
  
 -2007-10-08  Richard Stallman  <rms@gnu.org>
 +2011-06-21  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * buffer.c (Foverlays_at): Doc fix.
 +      Port to Sun C.
 +      * composite.c (find_automatic_composition): Omit needless 'return 0;'
 +      that Sun C diagnosed.
 +      * fns.c (secure_hash): Fix pointer signedness issue.
 +      * intervals.c (static_offset_intervals): New function.
 +      (offset_intervals): Use it.
  
 -2007-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-06-21  Leo Liu  <sdl.web@gmail.com>
  
 -      * fns.c (Fplist_put): Preserve uneven tail data.
 +      * deps.mk (fns.o):
 +      * makefile.w32-in ($(BLD)/fns.$(O)): Include sha256.h and
 +      sha512.h.
  
 -2007-10-08  Peter O'Gorman  <bug-gnu-emacs@mlists.thewrittenword.com>  (tiny change)
 +      * fns.c (secure_hash): Rename from crypto_hash_function and change
 +      the first arg to accept symbols.
 +      (Fsecure_hash): New primitive.
 +      (syms_of_fns): New symbols.
  
 -      * termhooks.h (enum event_kind): Remove trailing comma.
 +2011-06-20  Deniz Dogan  <deniz@dogan.se>
  
 -      * frame.h (enum): Remove trailing comma.
 +      * process.c (Fset_process_buffer): Clarify return value in
 +      docstring.
  
 -2007-10-08  Dhruva Krishnamurthy  <dhruvakm@gmail.com>  (tiny change)
 +2011-06-18  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * w32proc.c (delete_child): Don't terminate threads of zombies.
 +      * dispnew.c (add_window_display_history): Use BVAR.
  
 -2007-10-08  Martin Rudalics  <rudalics@gmx.at>
 +      * xdisp.c (debug_method_add): Use BVAR.
 +      (check_window_end, dump_glyph_matrix, dump_glyph)
 +      (dump_glyph_row, dump_glyph_string): Convert arglist to ANSI C.
  
 -      * keyboard.h (struct kboard): New elt Vlast_repeatable_command.
 +      * xfaces.c (check_lface_attrs, check_lface, dump_realized_face):
 +      Likewise.
  
 -      * 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.
 +      * xfns.c (Fx_create_frame, x_create_tip_frame): Delay image cache
 +      check till after the cache is created in init_frame_faces.
  
 -2007-10-08  Richard Stallman  <rms@gnu.org>
 +2011-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * eval.c (condition-case): Doc fix.
 +      * fns.c (Fsafe_length): Yet another int/Lisp_Object mixup.
  
 -2007-10-08  Masatake YAMATO  <jet@gyve.org>
 +2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * xfaces.c (tty_supports_face_attributes_p): Fix code
 -      for LFACE_INVERSE_INDEX and LFACE_BACKGROUND_INDEX; code
 -      was copied and not edited.
 +      * lisp.h: Include <limits.h>, for INT_MAX, LONG_MAX, LLONG_MAX.
 +      Without this, prin1 mishandles Lisp_Misc_Save_Value printing on
 +      hosts with pre-C99 libraries, because pD is wrongly defined to "t".
  
 -2007-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      Improve buffer-overflow checking (Bug#8873).
 +      * fileio.c (Finsert_file_contents):
 +      * insdel.c (insert_from_buffer_1, replace_range, replace_range_2):
 +      Remove the old (too-loose) buffer overflow checks.
 +      They weren't needed, since make_gap checks for buffer overflow.
 +      * insdel.c (make_gap_larger): Catch buffer overflows that were missed.
 +      The old code merely checked for Emacs fixnum overflow, and relied
 +      on undefined (wraparound) behavior.  The new code avoids undefined
 +      behavior, and also checks for ptrdiff_t and/or size_t overflow.
 +
 +      * editfns.c (Finsert_char): Don't dump core with very negative counts.
 +      Tune.  Don't use wider integers than needed.  Don't use alloca.
 +      Use a bigger 'string' buffer.  Rewrite to avoid 'n > 0' test.
 +
 +      * insdel.c (replace_range): Fix buf overflow when insbytes < outgoing.
 +
 +      * insdel.c, lisp.h (buffer_overflow): New function.
 +      (insert_from_buffer_1, replace_range, replace_range_2):
 +      * insdel.c (make_gap_larger):
 +      * editfns.c (Finsert_char):
 +      * fileio.c (Finsert_file_contents): Use it, to normalize wording.
 +
 +      * buffer.h (BUF_BYTES_MAX): Cast to ptrdiff_t so that it's signed.
 +
 +2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Integer overflow and signedness fixes (Bug#8873).
 +
 +      * ccl.c (ASCENDING_ORDER): New macro, to work around GCC bug 43772.
 +      (GET_CCL_RANGE, IN_INT_RANGE): Use it.
 +
 +      * fileio.c: Don't assume EMACS_INT fits in off_t.
 +      (emacs_lseek): New static function.
 +      (Finsert_file_contents, Fwrite_region): Use it.
 +      Use SEEK_SET, SEEK_CUR, SEEK_END as appropriate.
 +
 +      * fns.c (Fload_average): Don't assume 100 * load average fits in int.
 +
 +      * fns.c: Don't overflow int when computing a list length.
 +      * fns.c (QUIT_COUNT_HEURISTIC): New constant.
 +      (Flength, Fsafe_length): Use EMACS_INT, not int, to avoid unwanted
 +      truncation on 64-bit hosts.  Check for QUIT every
 +      QUIT_COUNT_HEURISTIC entries rather than every other entry; that's
 +      faster and is responsive enough.
 +      (Flength): Report an error instead of overflowing an integer.
 +      (Fsafe_length): Return a float if the value is not representable
 +      as a fixnum.  This shouldn't happen except in contrived situations.
 +      (Fnthcdr, Fsort): Don't assume list length fits in int.
 +      (Fcopy_sequence): Don't assume vector length fits in int.
 +
 +      * alloc.c: Check that resized vectors' lengths fit in fixnums.
 +      (header_size, word_size): New constants.
 +      (allocate_vectorlike): Don't check size overflow here.
 +      (allocate_vector): Check it here instead, since this is the only
 +      caller of allocate_vectorlike that could cause overflow.
 +      Check that the new vector's length is representable as a fixnum.
 +
 +      * fns.c (next_almost_prime): Don't return a multiple of 3 or 5.
 +      The previous code was bogus.  For example, next_almost_prime (32)
 +      returned 39, which is undesirable as it is a multiple of 3; and
 +      next_almost_prime (24) returned 25, which is a multiple of 5 so
 +      why was the code bothering to check for multiples of 7?
 +
 +      * bytecode.c (exec_byte_code): Use ptrdiff_t, not int, for vector length.
 +
 +      * eval.c, doprnt.c (SIZE_MAX): Remove; inttypes.h defines this now.
 +
 +      Variadic C functions now count arguments with ptrdiff_t.
 +      This partly undoes my 2011-03-30 change, which replaced int with size_t.
 +      Back then I didn't know that the Emacs coding style prefers signed int.
 +      Also, in the meantime I found a few more instances where arguments
 +      were being counted with int, which may truncate counts on 64-bit
 +      machines, or EMACS_INT, which may be unnecessarily wide.
 +      * lisp.h (struct Lisp_Subr.function.aMANY)
 +      (DEFUN_ARGS_MANY, internal_condition_case_n, safe_call):
 +      Arg counts are now ptrdiff_t, not size_t.
 +      All variadic functions and their callers changed accordingly.
 +      (struct gcpro.nvars): Now size_t, not size_t.  All uses changed.
 +      * bytecode.c (exec_byte_code): Check maxdepth for overflow,
 +      to avoid potential buffer overrun.  Don't assume arg counts fit in 'int'.
 +      * callint.c (Fcall_interactively): Check arg count for overflow,
 +      to avoid potential buffer overrun.  Use signed char, not 'int',
 +      for 'varies' array, so that we needn't bother to check its size
 +      calculation for overflow.
 +      * editfns.c (Fformat): Use ptrdiff_t, not EMACS_INT, to count args.
 +      * eval.c (apply_lambda):
 +      * fns.c (Fmapconcat): Use XFASTINT, not XINT, to get args length.
 +      (struct textprop_rec.argnum): Now ptrdiff_t, not int.  All uses changed.
 +      (mapconcat): Use ptrdiff_t, not int and EMACS_INT, to count args.
 +
 +      * callint.c (Fcall_interactively): Don't use index var as event count.
 +
 +      * vm-limit.c (check_memory_limits): Fix incorrect extern function decls.
 +      * mem-limits.h (SIZE): Remove; no longer used.
 +
 +      * xterm.c (x_alloc_nearest_color_1): Prefer int to long when int works.
 +
 +      Remove unnecessary casts.
 +      * xterm.c (x_term_init):
 +      * xfns.c (x_set_border_pixel):
 +      * widget.c (create_frame_gcs): Remove casts to unsigned long etc.
 +      These aren't needed now that we assume ANSI C.
  
 -      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.
 +      * sound.c (Fplay_sound_internal): Remove cast to unsigned long.
 +      It's more likely to cause problems (due to unsigned overflow)
 +      than to cure them.
  
 -      * lisp.h (XSETPSEUDOVECTOR): Don't set the tag anymore.
 -      This was made redundant by the previous introduction of XSETPVECTYPE.
 +      * dired.c (Ffile_attributes): Don't use 32-bit hack on 64-bit hosts.
  
 -2007-10-09  Richard Stallman  <rms@gnu.org>
 +      * unexelf.c (unexec): Don't assume BSS addr fits in unsigned.
  
 -      * image.c (free_bitmap_record): Rename from Free_Bitmap_Record.
 +      * xterm.c (handle_one_xevent): Omit unnecessary casts to unsigned.
  
 -2007-09-29  Richard Stallman  <rms@gnu.org>
 +      * keyboard.c (modify_event_symbol): Don't limit alist len to UINT_MAX.
  
 -      * 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.
 +      * lisp.h (CHAR_TABLE_SET): Omit now-redundant test.
  
 -2007-10-06  Andreas Schwab  <schwab@suse.de>
 +      * lread.c (Fload): Don't compare a possibly-garbage time_t value.
  
 -      * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
 +      GLYPH_CODE_FACE returns EMACS_INT, not int.
 +      * dispextern.h (merge_faces):
 +      * xfaces.c (merge_faces):
 +      * xdisp.c (get_next_display_element, next_element_from_display_vector):
 +      Don't assume EMACS_INT fits in int.
 +
 +      * character.h (CHAR_VALID_P): Remove unused parameter.
 +      * fontset.c, lisp.h, xdisp.c: All uses changed.
 +
 +      * editfns.c (Ftranslate_region_internal): Omit redundant test.
 +
 +      * fns.c (concat): Minor tuning based on overflow analysis.
 +      This doesn't fix any bugs.  Use int to hold character, instead
 +      of constantly refetching from Emacs object.  Use XFASTINT, not
 +      XINT, for value known to be a character.  Don't bother comparing
 +      a single byte to 0400, as it's always less.
 +
 +      * floatfns.c (Fexpt):
 +      * fileio.c (make_temp_name): Omit unnecessary cast to unsigned.
 +
 +      * editfns.c (Ftranslate_region_internal): Use int, not EMACS_INT
 +      for characters.
 +
 +      * doc.c (get_doc_string): Omit (unsigned)c that mishandled negatives.
 +
 +      * data.c (Faset): If ARRAY is a string, check that NEWELT is a char.
 +      Without this fix, on a 64-bit host (aset S 0 4294967386) would
 +      incorrectly succeed when S was a string, because 4294967386 was
 +      truncated before it was used.
 +
 +      * chartab.c (Fchar_table_range): Use CHARACTERP to check range.
 +      Otherwise, an out-of-range integer could cause undefined behavior
 +      on a 64-bit host.
 +
 +      * composite.c: Use int, not EMACS_INT, for characters.
 +      (fill_gstring_body, composition_compute_stop_pos): Use int, not
 +      EMACS_INT, for values that are known to be in character range.
 +      This doesn't fix any bugs but is the usual style inside Emacs and
 +      may generate better code on 32-bit machines.
 +
 +      Make sure a 64-bit char is never passed to ENCODE_CHAR.
 +      This is for reasons similar to the recent CHAR_STRING fix.
 +      * charset.c (Fencode_char): Check that character arg is actually
 +      a character.  Pass an int to ENCODE_CHAR.
 +      * charset.h (ENCODE_CHAR): Verify that the character argument is no
 +      wider than 'int', as a compile-time check to prevent future regressions
 +      in this area.
 +
 +      * character.c (char_string): Remove unnecessary casts.
 +
 +      Make sure a 64-bit char is never passed to CHAR_STRING.
 +      Otherwise, CHAR_STRING would do the wrong thing on a 64-bit platform,
 +      by silently ignoring the top 32 bits, allowing some values
 +      that were far too large to be valid characters.
 +      * character.h: Include <verify.h>.
 +      (CHAR_STRING, CHAR_STRING_ADVANCE): Verify that the character
 +      arguments are no wider than unsigned, as a compile-time check
 +      to prevent future regressions in this area.
 +      * data.c (Faset):
 +      * editfns.c (Fchar_to_string, general_insert_function, Finsert_char)
 +      (Fsubst_char_in_region):
 +      * fns.c (concat):
 +      * xdisp.c (decode_mode_spec_coding):
 +      Adjust to CHAR_STRING's new requirement.
 +      * editfns.c (Finsert_char, Fsubst_char_in_region):
 +      * fns.c (concat): Check that character args are actually
 +      characters.  Without this test, these functions did the wrong
 +      thing with wildly out-of-range values on 64-bit hosts.
 +
 +      Remove incorrect casts to 'unsigned' that lose info on 64-bit hosts.
 +      These casts should not be needed on 32-bit hosts, either.
 +      * keyboard.c (read_char):
 +      * lread.c (Fload): Remove casts to unsigned.
 +
 +      * lisp.h (UNSIGNED_CMP): New macro.
 +      This fixes comparison bugs on 64-bit hosts.
 +      (ASCII_CHAR_P): Use it.
 +      * casefiddle.c (casify_object):
 +      * character.h (ASCII_BYTE_P, CHAR_VALID_P)
 +      (SINGLE_BYTE_CHAR_P, CHAR_STRING):
 +      * composite.h (COMPOSITION_ENCODE_RULE_VALID):
 +      * dispextern.h (FACE_FROM_ID):
 +      * keyboard.c (read_char): Use UNSIGNED_CMP.
 +
 +      * xmenu.c (dialog_selection_callback) [!USE_GTK]: Cast to intptr_t,
 +      not to EMACS_INT, to avoid GCC warning.
 +
 +      * xfns.c (x_set_scroll_bar_default_width): Remove unused 'int' locals.
 +
 +      * buffer.h (PTR_BYTE_POS, BUF_PTR_BYTE_POS): Remove harmful cast.
 +      The cast incorrectly truncated 64-bit byte offsets to 32 bits, and
 +      isn't needed on 32-bit machines.
 +
 +      * buffer.c (Fgenerate_new_buffer_name):
 +      Use EMACS_INT for count, not int.
 +      (advance_to_char_boundary): Return EMACS_INT, not int.
 +
 +      * data.c (Qcompiled_function): Now static.
 +
 +      * window.c (window_body_lines): Now static.
 +
 +      * image.c (gif_load): Rename local to avoid shadowing.
 +
 +      * lisp.h (SAFE_ALLOCA_LISP): Check for integer overflow.
 +      (struct Lisp_Save_Value): Use ptrdiff_t, not int, for 'integer' member.
 +      * alloc.c (make_save_value): Integer argument is now of type
 +      ptrdiff_t, not int.
 +      (mark_object): Use ptrdiff_t, not int.
 +      * lisp.h (pD): New macro.
 +      * print.c (print_object): Use it.
 +
 +      * alloc.c: Use EMACS_INT, not int, to count objects.
 +      (total_conses, total_markers, total_symbols, total_vector_size)
 +      (total_free_conses, total_free_markers, total_free_symbols)
 +      (total_free_floats, total_floats, total_free_intervals)
 +      (total_intervals, total_strings, total_free_strings):
 +      Now EMACS_INT, not int.  All uses changed.
 +      (Fgarbage_collect): Compute overall total using a double, so that
 +      integer overflow is less likely to be a problem.  Check for overflow
 +      when converting back to an integer.
 +      (n_interval_blocks, n_string_blocks, n_float_blocks, n_cons_blocks)
 +      (n_vectors, n_symbol_blocks, n_marker_blocks): Remove.
 +      These were 'int' variables that could overflow on 64-bit hosts;
 +      they were never used, so remove them instead of repairing them.
 +      (nzombies, ngcs, max_live, max_zombies): Now EMACS_INT, not 'int'.
 +      (inhibit_garbage_collection): Set gc_cons_threshold to max value.
 +      Previously, this ceilinged at INT_MAX, but that doesn't work on
 +      64-bit machines.
 +      (allocate_pseudovector): Don't use EMACS_INT when int would do.
 +
 +      * alloc.c (Fmake_bool_vector): Don't assume vector size fits in int.
 +      (allocate_vectorlike): Check for ptrdiff_t overflow.
 +      (mark_vectorlike, mark_char_table, mark_object): Avoid EMACS_UINT
 +      when a (possibly-narrower) signed value would do just as well.
 +      We prefer using signed arithmetic, to avoid comparison confusion.
 +
 +      * alloc.c: Catch some string size overflows that we were missing.
 +      (XMALLOC_OVERRUN_CHECK_SIZE) [!XMALLOC_OVERRUN_CHECK]: Define to 0,
 +      for convenience in STRING_BYTES_MAX.
 +      (STRING_BYTES_MAX): New macro, superseding the old one in lisp.h.
 +      The definition here is exact; the one in lisp.h was approximate.
 +      (allocate_string_data): Check for string overflow.  This catches
 +      some instances we weren't catching before.  Also, it catches
 +      size_t overflow on (unusual) hosts where SIZE_MAX <= min
 +      (PTRDIFF_MAX, MOST_POSITIVE_FIXNUM), e.g., when size_t is 32 bits
 +      and ptrdiff_t and EMACS_INT are both 64 bits.
 +
 +      * character.c, coding.c, doprnt.c, editfns.c, eval.c:
 +      All uses of STRING_BYTES_MAX replaced by STRING_BYTES_BOUND.
 +      * lisp.h (STRING_BYTES_BOUND): Rename from STRING_BYTES_MAX.
 +
 +      * character.c (string_escape_byte8): Fix nbytes/nchars typo.
 +
 +      * alloc.c (Fmake_string): Check for out-of-range init.
 +
 +2011-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * eval.c (Fdefvaralias): Also mark the target as variable-special-p.
 +
 +2011-06-14  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * xfns.c (x_set_scroll_bar_default_width): Remove argument to
 +      xg_get_default_scrollbar_width.
 +
 +      * gtkutil.c: Include emacsgtkfixed.h if HAVE_GTK3.
 +      (int_gtk_range_get_value): Move to the scroll bar part of the file.
 +      (style_changed_cb): Call update_theme_scrollbar_width and call
 +      x_set_scroll_bar_default_width and xg_frame_set_char_size for
 +      all frames (Bug#8505).
 +      (xg_create_frame_widgets): Call emacs_fixed_new if HAVE_GTK3 (Bug#8505).
 +      Call gtk_window_set_resizable if HAVE_GTK3.
 +      (x_wm_set_size_hint): Call emacs_fixed_set_min_size with min width
 +      and height if HAVE_GTK3 (Bug#8505).
 +      (scroll_bar_width_for_theme): New variable.
 +      (update_theme_scrollbar_width): New function.
 +      (xg_get_default_scrollbar_width): Move code to
 +      update_theme_scrollbar_width, just return scroll_bar_width_for_theme.
 +      (xg_initialize): Call update_theme_scrollbar_width.
 +
 +      * gtkutil.h (xg_get_default_scrollbar_width): Remove argument.
 +
 +      * emacsgtkfixed.c, emacsgtkfixed.h: New files.
 +
 +2011-06-12  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * frame.c (make_frame): Call other_buffer_safely instead of
 +      other_buffer.
 +
 +      * window.c (temp_output_buffer_show): Call display_buffer with
 +      second argument Vtemp_buffer_show_specifiers and reset latter
 +      immediately after the call.
 +      (Vtemp_buffer_show_specifiers): New variable.
 +      (auto_window_vscroll_p, next_screen_context_lines)
 +      (Vscroll_preserve_screen_position): Remove leading asterisks from
 +      doc-strings.
 +
 +2011-06-12  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix minor problems found by GCC 4.6.0 static checking.
 +      * buffer.c (Qclone_number): Remove for now, as it's unused.
 +      (record_buffer, Funrecord_buffer): Rename local to avoid shadowing.
 +      (record_buffer): Remove unused local.
 +      * frame.c (other_visible_frames, frame_buffer_list): Now static.
 +      (set_frame_buffer_list): Remove; unused.
 +      * frame.h (other_visible_frames): Remove decl.
 +      * keyboard.h (menu_items_inuse): Declare only if USE_GTK || USE_MOTIF.
 +      * lisp.h (frame_buffer_list, set_frame_buffer_list): Remove decls.
 +      (add_gpm_wait_descriptor, delete_gpm_wait_descriptor): Declare only
 +      if HAVE_GPM.
 +      * menu.c (menu_items_inuse): Now static unless USE_GTK || USE_MOTIF.
 +      * process.c (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
 +      Define only if HAVE_GPM.
 +      * widget.c (EmacsFrameResize, emacsFrameClassRec): Now static.
 +      (update_hints_inhibit): Remove; never set.  All uses removed.
 +      * widgetprv.h (emacsFrameClassRec): Remove decl.
 +      * window.c (delete_deletable_window): Now returns void, since it
 +      wasn't returning anything.
 +      (compare_window_configurations): Remove unused locals.
 +      * xfns.c (x_set_scroll_bar_default_width): Remove unused locals.
 +      * xmenu.c (x_menu_set_in_use): Define only if USE_GTK || USE_MOTIF.
 +      (dialog_selection_callback) [!USE_GTK]: Prefer intptr_t for integers
 +      the same widths as pointers.  This follows up on the 2011-05-06 patch.
 +      * xterm.c (x_alloc_lighter_color_for_widget): Define only if USE_LUCID.
 +      * xterm.h: Likewise.
 +      (x_menu_set_in_use): Declare only if USE_GTK || USE_MOTIF.
 +
 +2011-06-12  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-10-04  Juanma Barranquero  <lekktu@gmail.com>
 +      * makefile.w32-in: Update dependencies.
 +      (LISP_H): Add lib/intprops.h.
 +
 +2011-06-11  Chong Yidong  <cyd@stupidchicken.com>
 +
 +      * image.c (gif_load): Add animation frame delay to the metadata.
 +      (syms_of_image): Use DEFSYM.  New symbol `delay'.
 +
 +2011-06-11  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * window.c (delete_deletable_window): Re-add.
 +      (Fset_window_configuration): Rewrite to handle dead buffers and
 +      consequently deletable windows.
 +      (window_tree, Fwindow_tree): Remove.  Supply functionality in
 +      window.el.
 +      (compare_window_configurations): Simplify code.
 +
 +2011-06-11  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * image.c (imagemagick_load_image): Fix type mismatch.
 +      (Fimagemagick_types): Likewise.
 +
 +      * window.h (replace_buffer_in_windows): Declare.
 +
 +2011-06-11  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * buffer.c: New Lisp objects Qbuffer_list_update_hook and
 +      Qclone_number.  Remove external declaration of Qdelete_window.
 +      (Fbuffer_list): Rewrite doc-string.  Minor restructuring of
 +      code.
 +      (Fget_buffer_create, Fmake_indirect_buffer, Frename_buffer):
 +      Run Qbuffer_list_update_hook if allowed.
 +      (Fother_buffer): Rewrite doc-string.  Major rewrite for new
 +      buffer list implementation.
 +      (other_buffer_safely): New function.
 +      (Fkill_buffer): Replace call to replace_buffer_in_all_windows by
 +      calls to replace_buffer_in_windows and
 +      replace_buffer_in_windows_safely.  Run Qbuffer_list_update_hook
 +      if allowed.
 +      (record_buffer): Inhibit quitting and rewrite using quittable
 +      functions.  Run Qbuffer_list_update_hook if allowed.
 +      (Frecord_buffer, Funrecord_buffer): New functions.
 +      (switch_to_buffer_1, Fswitch_to_buffer): Remove.
 +      Move switch-to-buffer to window.el.
 +      (bury-buffer): Move to window.el.
 +      (Vbuffer_list_update_hook): New variable.
 +
 +      * lisp.h (other_buffer_safely): Add prototype in buffer.c
 +      section.
 +
 +      * window.h (resize_frame_windows): Move up in code.
 +      (Fwindow_frame): Remove EXFUN.
 +      (replace_buffer_in_all_windows): Remove prototype.
 +      (replace_buffer_in_windows_safely): Add prototype.
 +
 +      * window.c: Declare Qdelete_window static again.  Move down
 +      declaration of select_count.
 +      (Fnext_window, Fprevious_window): Rewrite doc-strings.
 +      (Fother_window): Move to window.el.
 +      (window_loop): Remove DELETE_BUFFER_WINDOWS and UNSHOW_BUFFER
 +      cases.  Add REPLACE_BUFFER_IN_WINDOWS_SAFELY case.
 +      (Fdelete_windows_on, Freplace_buffer_in_windows): Move to
 +      window.el.
 +      (replace_buffer_in_windows): Implement by calling
 +      Qreplace_buffer_in_windows.
 +      (replace_buffer_in_all_windows): Remove with some functionality
 +      moved into replace_buffer_in_windows_safely.
 +      (replace_buffer_in_windows_safely): New function.
 +      (select_window_norecord, select_frame_norecord): Move in front
 +      of run_window_configuration_change_hook.  Remove now obsolete
 +      declarations.
 +      (Fset_window_buffer): Rewrite doc-string.
 +      Call Qrecord_window_buffer.
 +      (keys_of_window): Move binding for other-window to window.el.
 +
 +2011-06-11  Chong Yidong  <cyd@stupidchicken.com>
 +
 +      * dispextern.h (struct image): Replace data member, whose int_val
 +      and ptr_val fields were not used by anything, with a single
 +      lisp_val object.
 +
 +      * image.c (Fimage_metadata, make_image, mark_image, tiff_load)
 +      (gif_clear_image, gif_load, imagemagick_load_image)
 +      (gs_clear_image, gs_load): Callers changed.
 +
 +2011-06-10  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * buffer.h: Include <time.h>, for time_t.
 +      Needed to build on FreeBSD 8.2.  Problem reported by Herbert J. Skuhra.
 +
 +      Fix minor problems found by static checking.
 +
 +      * image.c (PixelGetMagickColor): Declare if ImageMagick headers don't.
 +
 +      Make identifiers static if they are not used in other modules.
 +      * data.c (Qcompiled_function, Qframe, Qvector):
 +      * image.c (QimageMagick, Qsvg):
 +      * minibuf.c (Qmetadata):
 +      * window.c (resize_window_check, resize_root_window): Now static.
 +      * window.h (resize_window_check, resize_root_window): Remove decls.
 +
 +      * window.c (window_deletion_count, delete_deletable_window):
 +      Remove; unused.
 +      (window_body_lines): Now static.
 +      (Fdelete_other_windows_internal): Mark vars as initialized.
 +      Make sure 'resize_failed' is initialized.
 +      (run_window_configuration_change_hook): Rename local to avoid shadowing.
 +      (resize_window_apply): Remove unused local.
 +      * window.h (delete_deletable_window): Remove decl.
 +
 +      * image.c (gif_load, svg_load_image): Rename locals to avoid shadowing.
 +      (imagemagick_load_image): Fix pointer signedness problem by changing
 +      last arg from unsigned char * to char *.  All uses changed.
 +      Also, fix a local for similar reasons.
 +      Remove unused locals.  Remove locals to avoid shadowing.
 +      (fn_rsvg_handle_free): Remove; unused.
 +      (svg_load, svg_load_image): Fix pointer signedness problem.
 +      (imagemagick_load_image): Don't use garbage pointer image_wand.
 +
 +      * ftfont.c (ftfont_get_metrics, ftfont_drive_otf): Remove unused locals.
 +
 +2011-06-10  Chong Yidong  <cyd@stupidchicken.com>
 +
 +      * image.c (gif_load): Fix omitted cast error introduced by
 +      2011-06-06 change.
 +
 +2011-06-10  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * window.h (resize_proportionally, orig_total_lines)
 +      (orig_top_line): Remove from window structure.
 +      (set_window_height, set_window_width, change_window_heights)
 +      (Fdelete_window): Remove prototypes.
 +      (resize_frame_windows): Remove duplicate declaration.
 +
 +2011-06-10  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * window.h (resize_frame_windows, resize_window_check)
 +      (delete_deletable_window, resize_root_window)
 +      (resize_frame_windows): Declare prototypes.
 +
 +      * window.c (resize_window_apply): Make definition be "static" to
 +      match the prototype.
 +
 +2011-06-10  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * window.c: Remove declarations of Qwindow_size_fixed,
 +      window_min_size_1, window_min_size_2, window_min_size,
 +      size_window, window_fixed_size_p, enlarge_window, delete_window.
 +      Remove static from declaration of Qdelete_window, it's
 +      temporarily needed by Fbury_buffer.
 +      (replace_window): Don't assign orig_top_line and
 +      orig_total_lines.
 +      (Fdelete_window, delete_window): Remove.  Window deletion is
 +      handled by window.el.
 +      (window_loop): Remove DELETE_OTHER_WINDOWS case.
 +      Replace Fdelete_window calls with calls to Qdelete_window.
 +      (Fdelete_other_windows): Remove.  Deleting other windows is
 +      handled by window.el.
 +      (window_fixed_size_p): Remove.  Fixed-sizeness of windows is
 +      handled in window.el.
 +      (window_min_size_2, window_min_size_1, window_min_size): Remove.
 +      Window minimum sizes are handled in window.el.
 +      (shrink_windows, size_window, set_window_height)
 +      (set_window_width, change_window_heights, window_height)
 +      (window_width, CURBEG, CURSIZE, enlarge_window)
 +      (adjust_window_trailing_edge, Fadjust_window_trailing_edge)
 +      (Fenlarge_window, Fshrink_window): Remove.  Window resizing is
 +      handled in window.el.
 +      (make_dummy_parent): Rename to make_parent_window and give it a
 +      second argument horflag.
 +      (make_window): Don't set resize_proportionally any more.
 +      (Fsplit_window): Remove.  Windows are split in window.el.
 +      (save_restore_action, save_restore_orig_size)
 +      (shrink_window_lowest_first, save_restore_orig_size): Remove.
 +      Resize mini windows in window.el.
 +      (grow_mini_window, shrink_mini_window): Implement by calling
 +      Qresize_root_window_vertically, resize_window_check and
 +      resize_window_apply.
 +      (saved_window, Fset_window_configuration, save_window_save):
 +      Do not handle orig_top_line, orig_total_lines, and
 +      resize_proportionally.
 +      (window_min_height, window_min_width): Move to window.el.
 +      (keys_of_window): Move bindings for delete-other-windows,
 +      split-window, delete-window and enlarge-window to window.el.
 +
 +      * buffer.c: Temporarily extern Qdelete_window.
 +      (Fbury_buffer): Temporarily call Qdelete_window instead of
 +      Fdelete_window (Fbury_buffer will move to window.el soon).
 +
 +      * frame.c (set_menu_bar_lines_1): Remove code handling
 +      orig_top_line and orig_total_lines.
 +
 +      * dispnew.c (adjust_frame_glyphs_initially): Don't use
 +      set_window_height but set heights directly.
 +      (change_frame_size_1): Use resize_frame_windows.
 +
 +      * xdisp.c (init_xdisp): Don't use set_window_height but set
 +      heights directly.
 +
 +      * xfns.c (x_set_menu_bar_lines, x_set_tool_bar_lines):
 +      Use resize_frame_windows instead of change_window_heights and run
 +      run_window_configuration_change_hook.
 +
 +      * w32fns.c (x_set_tool_bar_lines): Use resize_frame_windows
 +      instead of change_window_heights and run
 +      run_window_configuration_change_hook.
 +
 +2011-06-09  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * window.c (replace_window): Rename second argument REPLACEMENT to
 +      NEW.  New third argument SETFLAG.  Rewrite.
 +      (delete_window, make_dummy_parent): Call replace_window with
 +      third argument 1.
 +      (window_list_1): Move down in code.
 +      (run_window_configuration_change_hook): Move set_buffer part
 +      before select_frame_norecord part in order to unwind correctly.
 +      Rename count1 to count.
 +      (recombine_windows, delete_deletable_window, resize_root_window)
 +      (Fdelete_other_windows_internal)
 +      (Frun_window_configuration_change_hook, make_parent_window)
 +      (resize_window_check, resize_window_apply, Fresize_window_apply)
 +      (resize_frame_windows, Fsplit_window_internal)
 +      (Fdelete_window_internal, Fresize_mini_window_internal):
 +      New functions.
 +      (syms_of_window): New variables Vwindow_splits and Vwindow_nest.
  
 -      * image.c (syms_of_image) <image-types>: Fix typo in docstring.
 +2011-06-08  Martin Rudalics  <rudalics@gmx.at>
  
 -2007-10-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * window.h (window): Add some new members to window structure -
 +      normal_lines, normal_cols, new_total, new_normal, clone_number,
 +      splits, nest, prev_buffers, next_buffers.
 +      (WINDOW_TOTAL_SIZE): Move here from window.c.
 +      (MIN_SAFE_WINDOW_WIDTH, MIN_SAFE_WINDOW_HEIGHT): Define here.
  
 -      * frame.h (struct frame): Don't try to GC-mark menu_bar_items_used.
 +      * window.c (Fwindow_height, Fwindow_width, Fwindow_full_width_p):
 +      Remove.
 +      (make_dummy_parent): Set new members of windows structure.
 +      (make_window): Move down in code.  Handle new members of window
 +      structure.
 +      (Fwindow_clone_number, Fwindow_splits, Fset_window_splits)
 +      (Fwindow_nest, Fset_window_nest, Fwindow_new_total)
 +      (Fwindow_normal_size, Fwindow_new_normal, Fwindow_prev_buffers)
 +      (Fset_window_prev_buffers, Fwindow_next_buffers)
 +      (Fset_window_next_buffers, Fset_window_clone_number):
 +      New functions.
 +      (Fwindow_hscroll, Fwindow_at, Fwindow_point, Fwindow_start)
 +      (Fwindow_end, Fwindow_line_height, Fset_window_dedicated_p):
 +      Doc-string fixes.
 +      (Fwindow_parameters, Fwindow_parameter, Fset_window_parameter):
 +      Argument WINDOW can be now internal window too.
 +      (Fwindow_use_time): Move up in code.
 +      (Fget_buffer_window): Rename argument FRAME to ALL-FRAMES.
 +      Rewrite doc-string.
 +      (Fset_window_configuration, saved_window)
 +      (Fcurrent_window_configuration, save_window_save): Handle new
 +      members of window structure.
 +      (WINDOW_TOTAL_SIZE, MIN_SAFE_WINDOW_WIDTH)
 +      (MIN_SAFE_WINDOW_HEIGHT): Move to window.h.
 +      (syms_of_window): New Lisp objects Qrecord_window_buffer,
 +      Qwindow_deletable_p, Qdelete_window, Qreplace_buffer_in_windows,
 +      Qget_mru_window, Qresize_root_window,
 +      Qresize_root_window_vertically, Qsafe, Qabove, Qbelow,
 +      Qauto_buffer_name; staticpro them.
 +
 +2011-06-07  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * window.c (Fwindow_total_size, Fwindow_left_column)
 +      (Fwindow_top_line, window_body_lines, Fwindow_body_size)
 +      (Fwindow_list_1): New functions.
 +      (window_box_text_cols): Replace with window_body_cols.
 +      (Fwindow_width, Fscroll_left, Fscroll_right):
 +      Use window_body_cols instead of window_box_text_cols.
 +      (delete_window, Fset_window_configuration):
 +      Call delete_all_subwindows with window as argument.
 +      (delete_all_subwindows): Take a window as argument and not a
 +      structure.  Rewrite.
 +      (window_loop): Remove handling of GET_LRU_WINDOW and
 +      GET_LARGEST_WINDOW.
 +      (Fget_lru_window, Fget_largest_window): Move to window.el.
 +
 +      * window.h: Extern window_body_cols instead of
 +      window_box_text_cols.  delete_all_subwindows now takes a
 +      Lisp_Object as argument.
 +
 +      * indent.c (compute_motion, Fcompute_motion):
 +      Use window_body_cols instead of window_box_text_cols.
 +
 +      * frame.c (delete_frame): Call delete_all_subwindows with root
 +      window as argument.
 +
 +2011-06-07  Daniel Colascione  <dan.colascione@gmail.com>
 +
 +      * fns.c (Fputhash): Document return value.
 +
 +2011-06-06  Chong Yidong  <cyd@stupidchicken.com>
 +
 +      * image.c (gif_load): Implement gif89a spec "no disposal" method.
 +
 +2011-06-06  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Cons<->int and similar integer overflow fixes (Bug#8794).
 +
 +      Check for overflow when converting integer to cons and back.
 +      * charset.c (Fdefine_charset_internal, Fdecode_char):
 +      Use cons_to_unsigned to catch overflow.
 +      (Fencode_char): Use INTEGER_TO_CONS.
 +      * composite.h (LGLYPH_CODE): Use cons_to_unsigned.
 +      (LGLYPH_SET_CODE): Use INTEGER_TO_CONS.
 +      * data.c (long_to_cons, cons_to_long): Remove.
 +      (cons_to_unsigned, cons_to_signed): New functions.
 +      These signal an error for invalid or out-of-range values.
 +      * dired.c (Ffile_attributes): Use INTEGER_TO_CONS.
 +      * fileio.c (Fset_visited_file_modtime): Use CONS_TO_INTEGER.
 +      * font.c (Ffont_variation_glyphs):
 +      * fontset.c (Finternal_char_font): Use INTEGER_TO_CONS.
 +      * lisp.h: Include <intprops.h>.
 +      (INTEGER_TO_CONS, CONS_TO_INTEGER): New macros.
 +      (cons_to_signed, cons_to_unsigned): New decls.
 +      (long_to_cons, cons_to_long): Remove decls.
 +      * undo.c (record_first_change): Use INTEGER_TO_CONS.
 +      (Fprimitive_undo): Use CONS_TO_INTEGER.
 +      * xfns.c (Fx_window_property): Likewise.
 +      * xselect.c: Include <limits.h>.
 +      (x_own_selection, selection_data_to_lisp_data):
 +      Use INTEGER_TO_CONS.
 +      (x_handle_selection_request, x_handle_selection_clear)
 +      (x_get_foreign_selection, Fx_disown_selection_internal)
 +      (Fx_get_atom_name, x_send_client_event): Use CONS_TO_INTEGER.
 +      (lisp_data_to_selection_data): Use cons_to_unsigned.
 +      (x_fill_property_data): Use cons_to_signed.
 +      Report values out of range.
 +
 +      Check for buffer and string overflow more precisely.
 +      * buffer.h (BUF_BYTES_MAX): New macro.
 +      * lisp.h (STRING_BYTES_MAX): New macro.
 +      * alloc.c (Fmake_string):
 +      * character.c (string_escape_byte8):
 +      * coding.c (coding_alloc_by_realloc):
 +      * doprnt.c (doprnt):
 +      * editfns.c (Fformat):
 +      * eval.c (verror):
 +      Use STRING_BYTES_MAX, not MOST_POSITIVE_FIXNUM,
 +      since they may not be the same number.
 +      * editfns.c (Finsert_char):
 +      * fileio.c (Finsert_file_contents):
 +      Likewise for BUF_BYTES_MAX.
  
 -2007-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * image.c: Use ptrdiff_t, not int, for sizes.
 +      (slurp_file): Switch from int to ptrdiff_t.
 +      All uses changed.
 +      (slurp_file): Check that file size fits in both size_t (for
 +      malloc) and ptrdiff_t (for sanity and safety).
 +
 +      * fileio.c (Fverify_visited_file_modtime): Avoid time overflow
 +      if b->modtime has its maximal value.
 +
 +      * dired.c (Ffile_attributes): Don't assume EMACS_INT has >32 bits.
 +
 +      Don't assume time_t can fit into int.
 +      * buffer.h (struct buffer.modtime): Now time_t, not int.
 +      * fileio.c (Fvisited_file_modtime): No need for time_t cast now.
 +      * undo.c (Fprimitive_undo): Use time_t, not int, for time_t value.
 +
 +      Minor fixes for signed vs unsigned integers.
 +      * character.h (MAYBE_UNIFY_CHAR):
 +      * charset.c (maybe_unify_char):
 +      * keyboard.c (read_char, reorder_modifiers):
 +      XINT -> XFASTINT, since the integer must be nonnegative.
 +      * ftfont.c (ftfont_spec_pattern):
 +      * keymap.c (access_keymap, silly_event_symbol_error):
 +      XUINT -> XFASTINT, since the integer must be nonnegative.
 +      (Fsingle_key_description, preferred_sequence_p): XUINT -> XINT,
 +      since it makes no difference and we prefer signed.
 +      * keyboard.c (record_char): Use XUINT when all the neighbors do.
 +      (access_keymap): NATNUMP -> INTEGERP, since the integer must be
 +      nonnegative.
 +
 +2011-06-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * window.h (Fwindow_frame): Declare.
 +
 +2011-06-06  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * alloc.c: Simplify handling of large-request failures (Bug#8800).
 +      (SPARE_MEMORY): Always define.
 +      (LARGE_REQUEST): Remove.
 +      (memory_full): Use SPARE_MEMORY rather than LARGE_REQUEST.
 +
 +2011-06-06  Martin Rudalics  <rudalics@gmx.at>
 +
 +      * lisp.h: Move EXFUNS for Fframe_root_window,
 +      Fframe_first_window and Fset_frame_selected_window to window.h.
 +
 +      * window.h: Move EXFUNS for Fframe_root_window,
 +      Fframe_first_window and Fset_frame_selected_window here from
 +      lisp.h.
 +
 +      * frame.c (Fwindow_frame, Fframe_first_window)
 +      (Fframe_root_window, Fframe_selected_window)
 +      (Fset_frame_selected_window): Move to window.c.
 +      (Factive_minibuffer_window): Move to minibuf.c.
 +      (Fother_visible_frames_p): New function.
 +
 +      * minibuf.c (Factive_minibuffer_window): Move here from frame.c.
 +
 +      * window.c (decode_window, decode_any_window): Move up in code.
 +      (Fwindowp, Fwindow_live_p): Rewrite doc-strings.
 +      (inhibit_frame_unsplittable): Remove unused variable.
 +      (Fwindow_buffer): Move up and rewrite doc-string.
 +      (Fwindow_parent, Fwindow_vchild, Fwindow_hchild, Fwindow_next)
 +      (Fwindow_prev): New functions.
 +      (Fwindow_frame): Move here from frame.c.  Accept any window as
 +      argument.
 +      (Fframe_root_window, Fframe_first_window)
 +      (Fframe_selected_window): Move here from frame.c.  Accept frame
 +      or arbitrary window as argument.  Update doc-strings.
 +      (Fminibuffer_window): Move up in code.
 +      (Fwindow_minibuffer_p): Move up in code and simplify.
 +      (Fset_frame_selected_window): Move here from frame.c.
 +      Marginal rewrite.
 +      (Fselected_window, select_window, Fselect_window): Move up in
 +      code.  Minor doc-string fixes.
  
 -      * 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.
 +2011-06-06  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * lisp.h (struct Lisp_Hash_Table): Move non-traced elements at the end.
 -      Turn `count' into an integer.
 +      * alloc.c (memory_full) [SYSTEM_MALLOC]: Port to MacOS (Bug#8800).
 +      Do not assume that spare memory exists; that assumption is valid
 +      only if SYSTEM_MALLOC.
 +      (LARGE_REQUEST): New macro, so that the issue of large requests
 +      is separated from the issue of spare memory.
  
 -      * 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.
 +2011-06-05  Andreas Schwab  <schwab@linux-m68k.org>
  
 -      * 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.
 +      * editfns.c (Fformat): Correctly handle zero flag with hexadecimal
 +      format.  (Bug#8806)
  
 -      * frame.c (Fframe_parameters): Minor simplification.
 +      * gtkutil.c (xg_get_default_scrollbar_width): Avoid warning.
  
 -      * insdel.c (adjust_markers_for_insert): Generalize assertion checks.
 +      * xfns.c (x_set_scroll_bar_default_width): Move declarations
 +      before statements.
  
 -      * marker.c (Fmarker_buffer): Make test for odd case into a failure.
 +2011-06-05  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * buffer.c (Fget_buffer_create, init_buffer_once):
 -      * lread.c (defsubr):
 -      * window.c (Fcurrent_window_configuration): Use XSETPVECTYPE.
 +      * gtkutil.c (xg_get_default_scrollbar_width): New function.
  
 -      * 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.
 +      * gtkutil.h: Declare xg_get_default_scrollbar_width.
  
 -      * 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.
 +      * xfns.c (x_set_scroll_bar_default_width): If USE_GTK, get
 +      min width by calling x_set_scroll_bar_default_width (Bug#8505).
  
 -      * 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.
 +2011-06-05  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * window.c (candidate_window_p): Only consider as visible frames that
 -      are on the same terminal.
 +      * xdisp.c (single_display_spec_intangible_p): Remove declaration.
  
 -      * m/ibms390x.h (MARKBIT): Remove unused macro.
 +2011-06-04  Chong Yidong  <cyd@stupidchicken.com>
  
 -2007-10-01  Juanma Barranquero  <lekktu@gmail.com>
 +      * xselect.c (x_clipboard_manager_save): Remove redundant arg.
 +      (x_clipboard_manager_save): Add return value.
 +      (x_clipboard_manager_error_1, x_clipboard_manager_error_2):
 +      New error handlers.
 +      (x_clipboard_manager_save_frame, x_clipboard_manager_save_all):
 +      Obey Vx_select_enable_clipboard_manager.  Catch errors in
 +      x_clipboard_manager_save (Bug#8779).
 +      (Vx_select_enable_clipboard_manager): New variable.
 +      (x_get_foreign_selection): Reduce scope of x_catch_errors (Bug#8790).
  
 -      * lread.c (Fload): Fix typo in docstring.
 +2011-06-04  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -2007-10-01  Michaël Cadilhac  <michael@cadilhac.name>
 +      * emacs.c (main): Warn when starting a GTK emacs in daemon mode.
  
 -      * floatfns.c (Fexpt): Manually check for overflows, so that a power
 -      of a non-zero value can't yield zero.
 +2011-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -2007-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * fringe.c (update_window_fringes): Don't update overlay arrow bitmap
 +      in the current matrix if keep_current_p is non-zero.
  
 -      * term.c (term_clear_mouse_face, term_mouse_highlight)
 -      (tty_write_glyphs_with_face): Only define is HAVE_GPM.
 +2011-06-04  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * bidi.c (bidi_level_of_next_char): Fix last change.
 +
 +2011-06-03  Eli Zaretskii  <eliz@gnu.org>
 +
 +      Support bidi reordering of text covered by display properties.
 +
 +      * bidi.c (bidi_copy_it): Use offsetof instead of emulating it.
 +      (bidi_fetch_char, bidi_fetch_char_advance): New functions.
 +      (bidi_cache_search, bidi_cache_iterator_state)
 +      (bidi_paragraph_init, bidi_resolve_explicit, bidi_resolve_weak)
 +      (bidi_level_of_next_char, bidi_move_to_visually_next):
 +      Support character positions inside a run of characters covered by a
 +      display string.
 +      (bidi_paragraph_init, bidi_resolve_explicit_1)
 +      (bidi_level_of_next_char): Call bidi_fetch_char and
 +      bidi_fetch_char_advance instead of FETCH_CHAR and
 +      FETCH_CHAR_ADVANCE.
 +      (bidi_init_it): Initialize new members.
 +      (LRE_CHAR, RLE_CHAR, PDF_CHAR, LRO_CHAR, RLO_CHAR): Remove macro
 +      definitions.
 +      (bidi_explicit_dir_char): Lookup character type in bidi_type_table,
 +      instead of using explicit *_CHAR codes.
 +      (bidi_resolve_explicit, bidi_resolve_weak):
 +      Use FETCH_MULTIBYTE_CHAR instead of FETCH_CHAR, as reordering of
 +      bidirectional text is supported only in multibyte buffers.
 +      (bidi_init_it): Accept additional argument FRAME_WINDOW_P and use
 +      it to initialize the frame_window_p member of struct bidi_it.
 +      (bidi_cache_iterator_state, bidi_resolve_explicit_1)
 +      (bidi_resolve_explicit, bidi_resolve_weak)
 +      (bidi_level_of_next_char, bidi_move_to_visually_next): Abort if
 +      bidi_it->nchars is non-positive.
 +      (bidi_level_of_next_char): Don't try to lookup the cache for the
 +      next/previous character if nothing is cached there yet, or if we
 +      were just reseat()'ed to a new position.
 +
 +      * xdisp.c (set_cursor_from_row): Set start and stop points
 +      according to the row's direction when priming the loop that looks
 +      for the glyph on which to display cursor.
 +      (single_display_spec_intangible_p): Function deleted.
 +      (display_prop_intangible_p): Reimplement to call
 +      handle_display_spec instead of single_display_spec_intangible_p.
 +      Accept 3 additional arguments needed by handle_display_spec.
 +      This fixes incorrect cursor motion across display property with complex
 +      values: lists, `(when COND...)' forms, etc.
 +      (single_display_spec_string_p): Support property values that are
 +      lists with the argument STRING its top-level element.
 +      (display_prop_string_p): Fix the condition for processing a
 +      property that is a list to be consistent with handle_display_spec.
 +      (handle_display_spec): New function, refactored from the
 +      last portion of handle_display_prop.
 +      (compute_display_string_pos): Accept additional argument
 +      FRAME_WINDOW_P.  Call handle_display_spec to determine whether the
 +      value of a `display' property is a "replacing spec".
 +      (handle_single_display_spec): Accept 2 additional arguments BUFPOS
 +      and FRAME_WINDOW_P.  If IT is NULL, don't set up the iterator from
 +      the display property, but just return a value indicating whether
 +      the display property will replace the characters it covers.
 +      (Fcurrent_bidi_paragraph_direction): Initialize the nchars and
 +      frame_window_p members of struct bidi_it.
 +      (compute_display_string_pos, compute_display_string_end):
 +      New functions.
 +      (push_it): Accept second argument POSITION, where pop_it should
 +      jump to continue iteration.
 +      (reseat_1): Initialize bidi_it.disp_pos.
 +
 +      * keyboard.c (adjust_point_for_property): Adjust the call to
 +      display_prop_intangible_p to its new signature.
 +
 +      * dispextern.h (struct bidi_it): New member frame_window_p.
 +      (bidi_init_it): Update prototypes.
 +      (display_prop_intangible_p): Update prototype.
 +      (compute_display_string_pos, compute_display_string_end):
 +      Declare prototypes.
 +      (struct bidi_it): New members nchars and disp_pos.  ch_len is now
 +      EMACS_INT.
  
 -      * print.c (safe_debug_print): Use XHASH.
 +2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Malloc failure behavior now depends on size of allocation.
 +      * alloc.c (buffer_memory_full, memory_full): New arg NBYTES.
 +      * lisp.h: Change signatures accordingly.
 +      * alloc.c, buffer.c, editfns.c, menu.c, minibuf.c, xterm.c:
 +      All callers changed.  (Bug#8762)
 +
 +      * gnutls.c: Use Emacs's memory allocators.
 +      Without this change, the gnutls library would invoke malloc etc.
 +      directly, which causes problems on non-SYNC_INPUT hosts, and which
 +      runs afoul of improving memory_full behavior.  (Bug#8761)
 +      (fn_gnutls_global_set_mem_functions): New macro or function pointer.
 +      (emacs_gnutls_global_init): Use it to specify xmalloc, xrealloc,
 +      xfree instead of the default malloc, realloc, free.
 +      (Fgnutls_boot): No need to check for memory allocation failure,
 +      since xmalloc does that for us.
 +
 +      Remove arbitrary limit of 2**31 entries in hash tables.  (Bug#8771)
 +      * category.c (hash_get_category_set):
 +      * ccl.c (ccl_driver):
 +      * charset.c (Fdefine_charset_internal):
 +      * charset.h (struct charset.hash_index):
 +      * composite.c (get_composition_id, gstring_lookup_cache)
 +      (composition_gstring_put_cache):
 +      * composite.h (struct composition.hash_index):
 +      * dispextern.h (struct image.hash):
 +      * fns.c (next_almost_prime, larger_vector, cmpfn_eql)
 +      (cmpfn_equal, cmpfn_user_defined, hashfn_eq, hashfn_eql)
 +      (hashfn_equal, hashfn_user_defined, make_hash_table)
 +      (maybe_resize_hash_table, hash_lookup, hash_put)
 +      (hash_remove_from_table, hash_clear, sweep_weak_table, SXHASH_COMBINE)
 +      (sxhash_string, sxhash_list, sxhash_vector, sxhash_bool_vector)
 +      (Fsxhash, Fgethash, Fputhash, Fmaphash):
 +      * image.c (make_image, search_image_cache, lookup_image)
 +      (xpm_put_color_table_h):
 +      * lisp.h (struct Lisp_Hash_Table):
 +      * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
 +      * print.c (print): Use 'EMACS_UINT' and 'EMACS_INT'
 +      for hashes and hash indexes, instead of 'unsigned' and 'int'.
 +      * alloc.c (allocate_vectorlike):
 +      Check for overflow in vector size calculations.
 +      * ccl.c (ccl_driver):
 +      Check for overflow when converting EMACS_INT to int.
 +      * fns.c, image.c: Remove unnecessary static decls that would otherwise
 +      need to be updated by these changes.
 +      * fns.c (make_hash_table, maybe_resize_hash_table):
 +      Check for integer overflow with large hash tables.
 +      (make_hash_table, maybe_resize_hash_table, Fmake_hash_table):
 +      Prefer the faster XFLOAT_DATA to XFLOATINT where either will do.
 +      (SXHASH_REDUCE): New macro.
 +      (sxhash_string, sxhash_list, sxhash_vector, sxhash_bool_vector):
 +      Use it instead of discarding useful hash info with large hash values.
 +      (sxhash_float): New function.
 +      (sxhash): Use it.  No more need for "& INTMASK" due to above changes.
 +      * lisp.h (FIXNUM_BITS): New macro, useful for SXHASH_REDUCE etc.
 +      (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM, INTMASK):
 +      Rewrite to use FIXNUM_BITS, as this simplifies things.
 +      (next_almost_prime, larger_vector, sxhash, hash_lookup, hash_put):
 +      Adjust signatures to match updated version of code.
 +      (consing_since_gc): Now EMACS_INT, since a single hash table can
 +      use more than INT_MAX bytes.
  
 -      * 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.
 +2011-06-01  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -      * 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.
 +      Make it possible to build with GCC-4.6+ -O2 -flto.
  
 -      * 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.
 +      * emacs.c (__malloc_initialize_hook): Mark as EXTERNALLY_VISIBLE.
  
 -      * 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.
 +2011-06-01  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2007-09-28  Dan Nicolaescu  <dann@ics.uci.edu>
 +      * minibuf.c (get_minibuffer, read_minibuf_unwind):
 +      Call minibuffer-inactive-mode.
  
 -      * Makefile.in (lisp, shortlisp): Delete server.elc, it is not
 -      loaded by default.
 +2011-05-31  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-09-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * makefile.w32-in ($(BLD)/data.$(O), $(BLD)/editfns.$(O)):
 +      Update dependencies.
  
 -      * 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.
 +2011-05-31  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -      * 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.
 +      * data.c (init_data): Remove code for UTS, this system is not
 +      supported anymore.
  
 -2007-09-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-05-31  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -      * sysdep.c (narrow_foreground_group, widen_foreground_group): Static.
 -      (init_sys_modes): Check that gpm_tty is the current tty.
 +      Don't force ./temacs to start in terminal mode.
  
 -      * 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.
 +      * frame.c (make_initial_frame): Initialize faces in all cases, not
 +      only when CANNOT_DUMP is defined.
 +      * dispnew.c (init_display): Remove CANNOT_DUMP condition.
  
 -      * termhooks.h (struct terminal): Move all Lisp_Object fields traced by
 -      the GC to the beginning.
 +2011-05-31  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -      * indent.h:
 -      * indent.c: Use EMACS_INT for ints coming from Elisp data.
 +      * dispnew.c (add_window_display_history): Use const for the string
 +      pointer.  Remove declaration, not needed.
  
 -      * indent.c (Fmove_to_column): Use EMACS_INT for buffer positions.
 +2011-05-31  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2007-09-25  Jason Rumney  <jasonr@gnu.org>
 +      Use 'inline', not 'INLINE'.
 +      <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00914.html>
 +      * alloc.c, fontset.c (INLINE): Remove.
 +      * alloc.c, bidi.c, charset.c, coding.c, dispnew.c, fns.c, image.c:
 +      * intervals.c, keyboard.c, process.c, syntax.c, textprop.c, w32term.c:
 +      * xdisp.c, xfaces.c, xterm.c: Replace all uses of INLINE with inline.
 +      * gmalloc.c (register_heapinfo): Use inline unconditionally.
 +      * lisp.h (LISP_MAKE_RVALUE): Use inline, not __inline__.
  
 -      * frame.c (make_terminal_frame): Remove special case for WINDOWSNT.
 +2011-05-31  Dan Nicolaescu  <dann@ics.uci.edu>
  
 -      * w32console.c (create_w32cons_output): Remove.
 +      Make it possible to run ./temacs.
  
 -      * term.c (init_tty): Call init_sys_modes on WINDOWSNT also.
 +      * callproc.c (set_initial_environment): Remove CANNOT_DUMP code,
 +      syms_of_callproc does the same thing.  Remove test for
 +      "initialized", do it in the caller.
 +      * emacs.c (main): Avoid calling set_initial_environment when dumping.
  
 -      * sysdep.c (init_sys_modes): Use set_terminal_modes_hook.
 -      (reset_sys_modes): Use reset_terminal_modes_hook.
 +2011-05-31  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2007-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * minibuf.c (Finternal_complete_buffer): Return `category' metadata.
 +      (read_minibuf): Use get_minibuffer.
 +      (syms_of_minibuf): Use DEFSYM.
 +      (Qmetadata): New var.
 +      * data.c (Qbuffer): Don't make it static.
 +      (syms_of_data): Use DEFSYM.
  
 -      * eval.c (do_autoload): Don't output any message.
 +2011-05-31  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2007-09-24  Juri Linkov  <juri@jurta.org>
 +      * ccl.c (CCL_CODE_RANGE): Allow negative numbers.  (Bug#8751)
 +      (CCL_CODE_MIN): New macro.
  
 -      * emacs.c (standard_args): Change priority of "--no-splash"
 -      from 40 to 3.  Add "--no-desktop" with the same priority.
 +2011-05-30  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2007-09-23  Dmitry Antipov  <dmantipov@yandex.ru>
 +      * alloc.c (lisp_align_malloc): Omit unnecessary val==NULL tests.
  
 -      * alloc.c (gc_sweep): Check cons cell mark bits word by word
 -      and optimize the case where they are all 1.
 +      * eval.c (Qdebug): Now static.
 +      * lisp.h (Qdebug): Remove decl.  This reverts a part of the
 +      2011-04-26T11:26:05Z!dan.colascione@gmail.com that inadvertently undid part of
 +      2011-04-14T06:48:41Z!eggert@cs.ucla.edu.
  
 -2007-09-23  Johannes Weiner  <hannes@saeurebad.de>
 +2011-05-29  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * 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.
 +      * image.c: Various fixes to ImageMagick code comments.
 +      (Fimagemagick_types): Doc fix.
  
 -2007-09-22  Eli Zaretskii  <eliz@gnu.org>
 +2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * 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.
 +      Minor fixes prompted by GCC 4.6.0 warnings.
  
 -2007-09-21  Dan Nicolaescu  <dann@ics.uci.edu>
 +      * xselect.c (converted_selections, conversion_fail_tag): Now static.
  
 -      * term.c (Fsuspend_tty): Run suspend-tty-functions before cleaning
 -      up the tty state.
 +      * emacs.c [HAVE_X_WINDOWS]: Include "xterm.h".
 +      (x_clipboard_manager_save_all): Move extern decl to ...
 +      * xterm.h: ... here, so that it can be checked for consistency.
  
 -2007-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-05-29  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * 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.
 +      * xselect.c (x_clipboard_manager_save_frame)
 +      (x_clipboard_manager_save_all): New functions.
 +      (Fx_clipboard_manager_save): Lisp function deleted.
  
 -2007-09-21  Juanma Barranquero  <lekktu@gmail.com>
 +      * emacs.c (Fkill_emacs): Call x_clipboard_manager_save_all.
 +      * frame.c (delete_frame): Call x_clipboard_manager_save_frame.
  
 -      * w32term.c (x_draw_glyph_string): Use strike_through_color, not
 -      underline_color, to draw strike-through.
 +      * xterm.h: Update prototype.
  
 -2007-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-05-28  William Xu  <william.xwl@gmail.com>
  
 -      * lisp.h (allocate_terminal): Declare.
 +      * nsterm.m (ns_term_shutdown): Synchronize user defaults before
 +      exiting (Bug#8239).
  
 -      * 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).
 +2011-05-28  Jim Meyering  <meyering@redhat.com>
  
 -      * frame.c (Qdisplay_environment_variable):
 -      * frame.h (Qdisplay_environment_variable): Delete.
 +      Avoid a sign-extension bug in crypto_hash_function.
 +      * fns.c (to_uchar): Define.
 +      (crypto_hash_function): Use it to convert some newly-signed
 +      variables to unsigned, to avoid sign-extension bugs.  For example,
 +      without this change, (md5 "truc") would evaluate to
 +      45723a2aff78ff4fff7fff1114760e62 rather than the expected
 +      45723a2af3788c4ff17f8d1114760e62.  Reported by Antoine Levitt in
 +      https://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00883.html.
  
 -      * .gdbinit (xbacktrace): Print the arg's address rather than the value
 -      of the first arg, since that value may be a union.
 +2011-05-27  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * 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.
 +      Integer overflow fixes.
  
 -2007-09-21  Glenn Morris  <rgm@gnu.org>
 +      * dbusbind.c: Serial number integer overflow fixes.
 +      (CHECK_DBUS_SERIAL_GET_SERIAL): New macro.
 +      (Fdbus_call_method_asynchronously, xd_read_message_1): Use a float
 +      to hold a serial number that is too large for a fixnum.
 +      (Fdbus_method_return_internal, Fdbus_method_error_internal):
 +      Check for serial numbers out of range.  Decode any serial number
 +      that was so large that it became a float.  (Bug#8722)
 +
 +      * dbusbind.c: Use XFASTINT rather than XUINT, and check for nonneg.
 +      (Fdbus_call_method, Fdbus_call_method_asynchronously):
 +      Use XFASTINT rather than XUINT when numbers are nonnegative.
 +      (xd_append_arg, Fdbus_method_return_internal):
 +      (Fdbus_method_error_internal): Likewise.  Also, for unsigned
 +      arguments, check that Lisp number is nonnegative, rather than
 +      silently wrapping negative numbers around.  (Bug#8722)
 +      (xd_read_message_1): Don't assume dbus_uint32_t can fit in int.
 +      (Bug#8722)
 +
 +      * data.c (arith_driver, Flsh): Avoid unnecessary casts to EMACS_UINT.
 +
 +      * ccl.c (ccl_driver): Redo slightly to avoid the need for 'unsigned'.
 +
 +      ccl: add integer overflow checks
 +      * ccl.c (CCL_CODE_MAX, GET_CCL_RANGE, GET_CCL_CODE, GET_CCL_INT):
 +      (IN_INT_RANGE): New macros.
 +      (ccl_driver): Use them to check for integer overflow when
 +      decoding a CCL program.  Many of the new checks are whether XINT (x)
 +      fits in int; it doesn't always, on 64-bit hosts.  The new version
 +      doesn't catch all possible integer overflows, but it's an
 +      improvement.  (Bug#8719)
 +
 +      * alloc.c (make_event_array): Use XINT, not XUINT.
 +      There's no need for unsigned here.
 +
 +      * mem-limits.h (EXCEEDS_LISP_PTR) [!USE_LSB_TAG]: EMACS_UINT -> uintptr_t
 +      This follows up to the 2011-05-06 change that substituted uintptr_t
 +      for EMACS_INT.  This case wasn't caught back then.
 +
 +      Rework Fformat to avoid integer overflow issues.
 +      * editfns.c: Include <float.h> unconditionally, as it's everywhere
 +      now (part of C89).  Include <verify.h>.
 +      (MAX_10_EXP, CONVERTED_BYTE_SIZE): Remove; no longer needed.
 +      (pWIDE, pWIDElen, signed_wide, unsigned_wide): New defns.
 +      (Fformat): Avoid the prepass trying to compute sizes; it was only
 +      approximate and thus did not catch overflow reliably.  Instead, walk
 +      through the format just once, formatting and computing sizes as we go,
 +      checking for integer overflow at every step, and allocating a larger
 +      buffer as needed.  Keep track separately whether the format is
 +      multibyte.  Keep only the most-recently calculated precision, rather
 +      than them all.  Record whether each argument has been converted to
 +      string.  Use EMACS_INT, not int, for byte and char and arg counts.
 +      Support field widths and precisions larger than INT_MAX.  Avoid
 +      sprintf's undefined behavior with conversion specifications such as %#d
 +      and %.0c.  Fix bug with strchr succeeding on '\0' when looking for
 +      flags.  Fix bug with (format "%c" 256.0).  Avoid integer overflow when
 +      formatting out-of-range floating point numbers with int
 +      formats.  (Bug#8668)
 +
 +      * lisp.h (FIXNUM_OVERFLOW_P): Work even if arg is a NaN.
 +
 +      * data.c: Avoid integer truncation in expressions involving floats.
 +      * data.c: Include <intprops.h>.
 +      (arith_driver): When there's an integer overflow in an expression
 +      involving floating point, convert the integers to floating point
 +      so that the resulting value does not suffer from catastrophic
 +      integer truncation.  For example, on a 64-bit host (* 4
 +      most-negative-fixnum 0.5) should yield about -4.6e+18, not zero.
 +      Do not rely on undefined behavior after integer overflow.
 +
 +      merge count_size_as_multibyte, parse_str_to_multibyte
 +      * character.c, character.h (count_size_as_multibyte):
 +      Rename from parse_str_to_multibyte; all uses changed.
 +      Check for integer overflow.
 +      * insdel.c, lisp.h (count_size_as_multibyte): Remove,
 +      since it's now a duplicate of the other.  This is more of
 +      a character than a buffer op, so better that it's in character.c.
 +      * fns.c, print.c: Adjust to above changes.
 +
 +2011-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * xselect.c (x_convert_selection): Yet another int/Lisp_Object mixup.
 +
 +2011-05-27  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * xselect.c: Fix minor problems prompted by GCC 4.6.0 warnings.
 +      (x_handle_selection_request, frame_for_x_selection): Remove unused vars.
 +      (x_clipboard_manager_save): Now static.
 +      (Fx_clipboard_manager_save): Rename local to avoid shadowing.
 +
 +      * fns.c: Fix minor problems prompted by GCC 4.6.0 warnings.
 +      (crypto_hash_function): Now static.
 +      Fix pointer signedness problems.  Avoid unnecessary initializations.
 +
 +2011-05-27  Chong Yidong  <cyd@stupidchicken.com>
 +
 +      * termhooks.h (Vselection_alist): Make it terminal-local.
 +
 +      * terminal.c (create_terminal): Initialize it.
 +
 +      * xselect.c: Support for clipboard managers.
 +      (Vselection_alist): Move to termhooks.h as terminal-local var.
 +      (LOCAL_SELECTION): New macro.
 +      (x_atom_to_symbol): Handle x_display_info_for_display fail case.
 +      (symbol_to_x_atom): Remove gratuitous arg.
 +      (x_handle_selection_request, lisp_data_to_selection_data)
 +      (x_get_foreign_selection, Fx_register_dnd_atom): Callers changed.
 +      (x_own_selection, x_get_local_selection, x_convert_selection):
 +      New arg, specifying work frame.  Use terminal-local Vselection_alist.
 +      (some_frame_on_display): Delete unused function.
 +      (Fx_own_selection_internal, Fx_get_selection_internal)
 +      (Fx_disown_selection_internal, Fx_selection_owner_p)
 +      (Fx_selection_exists_p): New optional frame arg.
 +      (frame_for_x_selection, Fx_clipboard_manager_save): New functions.
 +      (x_handle_selection_clear): Don't treat other terminals with the
 +      same keyboard specially.  Use the terminal-local Vselection_alist.
 +      (x_clear_frame_selections): Use Frun_hook_with_args.
 +
 +      * xterm.c (x_term_init): Intern ATOM and CLIPBOARD_MANAGER atoms.
 +
 +      * xterm.h: Add support for those atoms.
 +
 +2011-05-26  Chong Yidong  <cyd@stupidchicken.com>
 +
 +      * xselect.c: ICCCM-compliant handling of MULTIPLE targets.
 +      (converted_selections, conversion_fail_tag): New global variables.
 +      (x_selection_request_lisp_error): Free the above.
 +      (x_get_local_selection): Remove unnecessary code.
 +      (x_reply_selection_request): Args changed; handle arbitrary array
 +      of converted selections stored in converted_selections.
 +      Separate the XChangeProperty and SelectionNotify steps.
 +      (x_handle_selection_request): Rewrite to handle MULTIPLE target.
 +      (x_convert_selection): New function.
 +      (x_handle_selection_event): Simplify.
 +      (x_get_foreign_selection): Don't ignore incoming requests while
 +      waiting for an answer; this will fail when we implement
 +      SAVE_TARGETS, and seems unnecessary anyway.
 +      (selection_data_to_lisp_data): Recognize ATOM_PAIR type.
 +      (Vx_sent_selection_functions): Doc fix.
 +
 +2011-05-26  Leo Liu  <sdl.web@gmail.com>
 +
 +      * editfns.c (Ftranspose_regions): Allow empty regions.  (Bug#8699)
  
 -      * Makefile.in (emacstool): Remove target.
 -      (lisp, shortlisp): Remove termdev.elc.
 +2011-05-25  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -2007-09-21  Markus Triska  <markus.triska@gmx.at>
 +      * dispextern.h (struct glyph_row): New member fringe_bitmap_periodic_p.
  
 -      * xterm.c (x_delete_display): Compile session management conditionally.
 +      * dispnew.c (shift_glyph_matrix, scrolling_window): Mark scrolled row
 +      for fringe update if it has periodic bitmap.
 +      (row_equal_p): Also compare left_fringe_offset, right_fringe_offset,
 +      and fringe_bitmap_periodic_p.
  
 -2007-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * fringe.c (get_fringe_bitmap_data): New function.
 +      (draw_fringe_bitmap_1, update_window_fringes): Use it.
 +      (update_window_fringes): Record periodicity of fringe bitmap in glyph
 +      row.  Mark glyph row for fringe update if periodicity changed.
  
 -      * callproc.c (getenv_internal_1): New function.
 -      (getenv_internal): Use it.
 -      (Fgetenv_internal): Use it.  Accept an env-list as optional arg.
 +      * xdisp.c (try_window_reusing_current_matrix): Don't mark scrolled row
 +      for fringe update unless it has periodic bitmap.
  
 -      * 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.
 +2011-05-25  Kenichi Handa  <handa@m17n.org>
  
 -      * 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.
 +      * xdisp.c (get_next_display_element): Set correct it->face_id for
 +      a static composition.
  
 -      * 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.
 +2011-05-24  Leo Liu  <sdl.web@gmail.com>
  
 -      * 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.
 +      * deps.mk (fns.o):
 +      * makefile.w32-in ($(BLD)/fns.$(O)): Include sha1.h.
  
 -      * termhooks.h (struct terminal): Make it into a pseudovector.
 -      Remove `deleted' replaced by checking `name's nullness.
 +      * fns.c (crypto_hash_function, Fsha1): New function.
 +      (Fmd5): Use crypto_hash_function.
 +      (syms_of_fns): Add Ssha1.
  
 -      * print.c (print_object): Handle terminals.
 +2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * lisp.h (enum pvec_type): New `terminal' pseudovector.
 -      (XTERMINAL, XSETTERMINAL, TERMINALP, GC_TERMINALP): New macros.
 +      * gnutls.c: Remove unused macros.
 +      (fn_gnutls_transport_set_lowat, fn_gnutls_transport_set_pull_function):
 +      (fn_gnutls_transport_set_push_function) [!WINDOWSNT]:
 +      Remove macros that are defined and never used.
 +      Caught by gcc -Wunused-macros (GCC 4.6.0, Fedora 14).
  
 -      * 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.
 +2011-05-22  Chong Yidong  <cyd@stupidchicken.com>
  
 -2007-09-20  Glenn Morris  <rgm@gnu.org>
 +      * xselect.c (syms_of_xselect): Remove unused symbol SAVE_TARGETS.
 +      (Fx_get_selection_internal): Minor cleanup.
 +      (Fx_own_selection_internal): Rename arguments for consistency with
 +      select.el.
  
 -      * process.c (Fmake_network_process): Doc fix.
 +2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2007-09-19  Jason Rumney  <jasonr@gnu.org>
 +      * xselect.c (QSAVE_TARGETS): New static var, to fix build failure.
  
 -      * dispextern.h (w32_init_fringe, mac_init_fringe): Declare rif argument.
 +2011-05-22  Chong Yidong  <cyd@stupidchicken.com>
  
 -2007-09-19  Michaël Cadilhac  <michael@cadilhac.name>
 +      * xselect.c (syms_of_xselect): Include character.h; use DEFSYM.
  
 -      * coding.c (detect_eol_type, detect_eol_type_in_2_octet_form):
 -      Fix a C warning regarding variable constness.
 +2011-05-21  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * xterm.c (handle_one_xevent): Fix a C warning.
 +      * dispnew.c (scrolling_window): Don't exclude the case that the
 +      last enabled row in the desired matrix touches the bottom boundary.
  
 -2007-09-18  Jason Rumney  <jasonr@gnu.org>
 +2011-05-21  Glenn Morris  <rgm@gnu.org>
  
 -      * w32fns.c (Fx_focus_frame): Rename from Fw32_focus_frame.
 +      * Makefile.in ($(etc)/DOC): Make second command line even shorter.
 +      (SOME_MACHINE_OBJECTS): Replace FONT_OBJ by its maximal expansion,
 +      and add some more files.
  
 -2007-09-17  Jan Djärv  <jan.h.d@swipnet.se>
 +2011-05-20  Eli Zaretskii  <eliz@gnu.org>
  
 -      * 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.
 +      * callproc.c (Fcall_process) [MSDOS]: Fix arguments to
 +      report_file_error introduced by the change from 2011-05-07.
  
 -2007-09-16  Jan Djärv  <jan.h.d@swipnet.se>
 +2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * 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.
 +      * systime.h (Time): Define only if emacs is defined.
 +      This is to allow ../lib-src/profile.c to be compiled on FreeBSD,
 +      where the include path doesn't have X11/X.h by default.  See
 +      <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00561.html>.
  
 -2007-09-16  Andreas Schwab  <schwab@suse.de>
 +2011-05-20 Kenichi Handa  <handa@m17n.org>
  
 -      * alloc.c (reset_malloc_hooks): Set the hooks to the previous
 -      values instead of zapping them.
 +      * composite.c (find_automatic_composition): Fix previous change.
  
 -2007-09-14  Glenn Morris  <rgm@gnu.org>
 +2011-05-20  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.
 +      * lisp.mk: New file, split from Makefile.in.
 +      * Makefile.in (lisp): Move to separate file, inserted by @lisp_frag@.
 +      (shortlisp): Remove.
 +      ($(etc)/DOC): Edit lisp.mk rather than using $shortlisp.
  
 -2007-09-14  Kenichi Handa  <handa@m17n.org>
 +2011-05-19  Glenn Morris  <rgm@gnu.org>
  
 -      * xterm.c (handle_one_xevent): Skip decoding if nbytes is zero.
 +      * Makefile.in (MSDOS_SUPPORT_REAL, MSDOS_SUPPORT, NS_SUPPORT)
 +      (REAL_MOUSE_SUPPORT, GPM_MOUSE_SUPPORT, MOUSE_SUPPORT, TOOLTIP_SUPPORT)
 +      (BASE_WINDOW_SUPPORT, X_WINDOW_SUPPORT, WINDOW_SUPPORT): Remove.
 +      (lisp): Set the order to that of loadup.el.
 +      (shortlisp): Make it a copy of $lisp.
 +      (SOME_MACHINE_LISP): Remove.
 +      ($(etc)/DOC): Depend just on $lisp, not $SOME_MACHINE_LISP too.
 +      Use just $shortlisp, not $SOME_MACHINE_LISP too.
  
 -2007-09-13  Jason Rumney  <jasonr@gnu.org>
 +2011-05-18  Kenichi Handa  <handa@m17n.org>
  
 -      * fringe.c (w32_init_fringe, mac_init_fringe): Add rif argument.
 +      * composite.c (CHAR_COMPOSABLE_P): Add more check for efficiency.
 +      (BACKWARD_CHAR): Wrap the arg STOP by parenthesis.
 +      (find_automatic_composition): Mostly rewrite for efficiency.
  
 -      * w32term.c (w32_term_init): Pass rif to w32_init_fringe.
 +2011-05-18  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * macterm.c (mac_initialize): Don't call mac_init_fringe here.
 -      (mac_term_init): Call here instead, passing rif.
 +      * makefile.w32-in: Update dependencies.
  
 -2007-09-13  Glenn Morris  <rgm@gnu.org>
 +2011-05-18  Christoph Scholtes  <cschol2112@googlemail.com>
  
 -      * s/hpux.h: No longer define `static' as nothing.
 +      * menu.c: Include limits.h (fixes the MS-Windows build broken by
 +      2011-06-18T18:49:19Z!cyd@stupidchicken.com).
  
 -2007-09-13  Johan Bockgård  <bojohan@gnu.org>
 +2011-05-18  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * callint.c (Fcall_interactively): Remove unused var `fun'.
 +      Fix some integer overflow issues, such as string length overflow.
  
 -2007-09-12  Romain Francoise  <romain@orebokech.com>
 +      * insdel.c (count_size_as_multibyte): Check for string overflow.
  
 -      * window.c (prefer_window_split_horizontally, display_buffer):
 -      Revert 2007-09-08 change.
 +      * character.c (lisp_string_width): Check for string overflow.
 +      Use EMACS_INT, not int, for string indexes and lengths; in
 +      particular, 2nd arg is now EMACS_INT, not int.  Do not crash if
 +      the resulting string length overflows an EMACS_INT; instead,
 +      report a string overflow if no precision given.  When checking for
 +      precision exhaustion, use a check that cannot possibly have
 +      integer overflow.  (Bug#8675)
 +      * character.h (lisp_string_width): Adjust to new signature.
  
 -2007-09-12  Glenn Morris  <rgm@gnu.org>
 +      * alloc.c (string_overflow): New function.
 +      (Fmake_string): Use it.  This doesn't change behavior, but saves
 +      a few bytes and will simplify future changes.
 +      * character.c (string_escape_byte8): Likewise.
 +      * lisp.h (string_overflow): New decl.
  
 -      * 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.
 +      Fixups, following up to the user-interface timestamp change.
 +      * nsterm.m (last_mouse_movement_time, ns_mouse_position): Use Time
 +      for UI timestamps, instead of unsigned long.
 +      * msdos.c (mouse_get_pos): Likewise.
 +      * w32inevt.c (movement_time, w32_console_mouse_position): Likewise.
 +      * w32gui.h (Time): Define by including "systime.h" rather than by
 +      declaring it ourselves.  (Bug#8664)
  
 -      * Makefile.in (SOURCES, unlock, relock): Delete.
 +      * dispextern.h (struct image): Don't assume time_t <= unsigned long.
 +      * image.c (clear_image_cache): Likewise.
  
 -      * gtkutil.c (cnt): Rename to menu_grab_callback_cnt for clarity.
 -      (menu_grab_callback): All uses changed.
 +      * term.c (term_mouse_position): Don't assume time_t wraparound.
  
 -      * xselect.c (cnt): Rename to x_reply_selection_request_cnt for clarity.
 -      (x_reply_selection_request): All uses changed.
 +      Be more systematic about user-interface timestamps.
 +      Before, the code sometimes used 'Time', sometimes 'unsigned long',
 +      and sometimes 'EMACS_UINT', to represent these timestamps.
 +      This change causes it to use 'Time' uniformly, as that's what X uses.
 +      This makes the code easier to follow, and makes it easier to catch
 +      integer overflow bugs such as Bug#8664.
 +      * frame.c (Fmouse_position, Fmouse_pixel_position):
 +      Use Time, not unsigned long, for user-interface timestamps.
 +      * keyboard.c (last_event_timestamp, kbd_buffer_get_event): Likewise.
 +      (button_down_time, make_lispy_position, make_lispy_movement): Likewise.
 +      * keyboard.h (last_event_timestamp): Likewise.
 +      * menu.c (Fx_popup_menu) [!HAVE_X_WINDOWS]: Likewise.
 +      * menu.h (xmenu_show): Likewise.
 +      * term.c (term_mouse_position): Likewise.
 +      * termhooks.h (struct input_event.timestamp): Likewise.
 +      (struct terminal.mouse_position_hook): Likewise.
 +      * xmenu.c (create_and_show_popup_menu, xmenu_show): Likewise.
 +      * xterm.c (XTmouse_position, x_scroll_bar_report_motion): Likewise.
 +      * systime.h (Time): New decl.  Pull it in from <X11/X.h> if
 +      HAVE_X_WINDOWS, otherwise define it as unsigned long, which is
 +      what it was before.
 +      * menu.h, termhooks.h: Include "systime.h", for Time.
 +
 +      * keyboard.c (make_lispy_event): Fix problem in integer overflow.
 +      Don't assume that the difference between two unsigned long values
 +      can fit into an integer.  At this point, we know button_down_time
 +      <= event->timestamp, so the difference must be nonnegative, so
 +      there's no need to cast the result if double-click-time is
 +      nonnegative, as it should be; check that it's nonnegative, just in
 +      case.  This bug is triggered when events are more than 2**31 ms
 +      apart (about 25 days).  (Bug#8664)
 +
 +      * xselect.c (last_event_timestamp): Remove duplicate decl.
 +      (x_own_selection): Remove needless cast to unsigned long.
 +
 +      * xmenu.c (set_frame_menubar): Use int, not EMACS_UINT, for indexes
 +      that always fit in int.  Use a sentinel instead of a counter, to
 +      avoid a temp and to allay GCC's concerns about possible int overflow.
 +      * frame.h (struct frame): Use int for menu_bar_items_used
 +      instead of EMACS_INT, since it always fits in int.
 +
 +      * menu.c (grow_menu_items): Check for int overflow.
 +
 +      * xmenu.c (set_frame_menubar): Don't mishandle vectors with no nils.
 +
 +      * xterm.c: Use EMACS_INT for Emacs modifiers, and int for X modifiers.
 +      Before, the code was not consistent.  These values cannot exceed
 +      2**31 - 1 so there's no need to make them unsigned.
 +      (x_x_to_emacs_modifiers): Accept int and return EMACS_INT.
 +      (x_emacs_to_x_modifiers): Accept EMACS_INT and return int.
 +      (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Reject non-integers
 +      as modifiers.
 +      * xterm.h (x_x_to_emacs_modifiers): Adjust to signature change.
 +
 +      * lisp.h (XINT) [USE_LISP_UNION_TYPE]: Cast to EMACS_INT.
 +      (XUINT) [USE_LISP_UNION_TYPE]: Cast to EMACS_UINT.
 +      Otherwise, GCC 4.6.0 warns about printf (pI, XINT (...)),
 +      presumably because the widths might not match.
 +
 +      * window.c (size_window): Avoid needless test at loop start.
 +
 +2011-05-18  Courtney Bane  <emacs-bugs-7626@cbane.org>  (tiny change)
 +
 +      * term.c (Fresume_tty): Restore hooks before reinitializing (bug#8687).
 +
 +2011-05-12  Drew Adams  <drew.adams@oracle.com>
  
 -2007-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * textprop.c (Fprevious_single_char_property_change): Doc fix (bug#8655).
  
 -      * lread.c (load_warn_old_style_backquotes): Change message to look
 -      better when it appears in the middle of byte-compiler messages.
 +2011-05-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -2007-09-10  Dan Nicolaescu  <dann@ics.uci.edu>
 +      * w32term.c (w32_draw_fringe_bitmap): Rename local vars `left' and
 +      `width' to `bar_area_x' and `bar_area_width', respectively.
 +      (x_scroll_run): Take account of fringe background extension.
  
 -      * s/darwin.h (MULTI_KBOARD): Only define for Carbon.
 +      * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]:
 +      Rename local vars `left' and `width' to `bar_area_x' and
 +      `bar_area_width', respectively.
 +      (x_scroll_run) [USE_TOOLKIT_SCROLL_BARS]: Take account of fringe
 +      background extension.
  
 -      * xterm.c (x_create_terminal): Add comment.
 +2011-05-10  Jim Meyering  <meyering@redhat.com>
  
 -      * term.c (clear_tty_hooks, set_tty_hooks): Add comments.
 +      * xdisp.c (x_intersect_rectangles): Fix typo "the the -> the".
  
 -2007-09-10  Richard Stallman  <rms@gnu.org>
 +2011-05-10  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * xterm.c (x_term_init): Give error if can't open DISPLAY_NAME.
 +      * image.c (Finit_image_library): Return t for built-in image types,
 +      like pbm and xbm.  (Bug#8640)
  
 -2007-09-10  Michaël Cadilhac  <michael@cadilhac.name>
 +2011-05-09  Andreas Schwab  <schwab@linux-m68k.org>
  
 -      * lisp.h (struct Lisp_Subr): Rename `prompt' field to `intspec'.
 -      (DEFUN): Document `intspec', use it instead of `prompt'.
 +      * w32menu.c (set_frame_menubar): Fix submenu allocation.
  
 -      * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
 +2011-05-07  Eli Zaretskii  <eliz@gnu.org>
  
 -      * data.c (Finteractive_form): If the interactive specification starts
 -      with a `(', use it as a Lisp form.
 +      * w32console.c (Fset_screen_color): Doc fix.
 +      (Fget_screen_color): New function.
 +      (syms_of_ntterm): Defsubr it.
  
 -      * fileio.c (Fset_file_modes): Add an interactive spec that reads a file
 -      name and file modes.
 +      * callproc.c (call_process_cleanup) [MSDOS]: Don't close and
 +      unlink the temporary file if Fcall_process didn't create it in the
 +      first place.
 +      (Fcall_process) [MSDOS]: Don't create tempfile if stdout of the
 +      child process will be redirected to a file specified with `:file'.
 +      Don't try to re-open tempfile in that case, and set fd[0] to -1 as
 +      cue to call_process_cleanup not to close that handle.
  
 -      * callint.c (Fcall_interactively): Comment fixes.
 +2011-05-07  Ben Key  <bkey76@gmail.com>
  
 -2007-09-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * makefile.w32-in: The bootstrap-temacs rule now makes use of
 +      one of two shell specific rules, either bootstrap-temacs-CMD or
 +      bootstrap-temacs-SH.  The bootstrap-temacs-SH rule is identical
 +      to the previous implementation of the bootstrap-temacs rule.
 +      The bootstrap-temacs-CMD rule is similar to the previous
 +      implementation of the bootstrap-temacs rule except that it
 +      makes use of the ESC_CFLAGS variable instead of the CFLAGS
 +      variable.
  
 -      * callint.c (Fcall_interactively): Use Finteractive_form also for subrs
 -      and compiled functions.
 +      These changes, along with some changes to nt/configure.bat,
 +      nt/gmake.defs, and nt/nmake.defs, are required to extend my
 +      earlier fix to add support for --cflags and --ldflags options
 +      that include quotes so that it works whether make uses cmd or
 +      sh as the shell.
  
 -2007-09-08  Fredrik Axelsson  <f.axelsson@gmail.com>
 +2011-05-06  Michael Albinus  <michael.albinus@gmx.de>
  
 -      * window.c (prefer_window_split_horizontally): New variable.
 -      (display_buffer): Consider splitting window horizontally depending
 -      on prefer_window_split_horizontally.
 +      * dbusbind.c (QCdbus_type_unix_fd): Declare static.
 +      (xd_remove_watch): Don't check QCdbus_type_unix_fd for SYMBOLP, it
 +      is a constant.
 +      (Fdbus_init_bus, xd_read_queued_messages): Bus can be a symbol or
 +      a string.  Handle both cases.
 +      (Fdbus_call_method_asynchronously, Fdbus_register_signal)
 +      (Fdbus_register_method): Use Qinvalid_function.
  
 -2007-09-08  Eli Zaretskii  <eliz@gnu.org>
 +2011-05-06  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * sysdep.c [WINDOWSNT]: Don't include sysselect.h.
 +      * makefile.w32-in: Update dependencies.
 +      (LISP_H): Add inttypes.h and stdin.h.
 +      (PROCESS_H): Add unistd.h.
 +
 +2011-05-06  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * lread.c: Include limits.h (fixes the MS-Windows build broken by
 +      2011-05-06T07:13:19Z!eggert@cs.ucla.edu).
 +
 +2011-05-06  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * image.c (Finit_image_library) [!HAVE_NTGUI]: Omit unused local.
 +
 +      * term.c (vfatal): Remove stray call to va_end.
 +      It's not needed and the C Standard doesn't allow it here anyway.
 +
 +      Use C99's va_copy to avoid undefined behavior on x86-64 GNU/Linux.
 +      * eval.c (verror): doprnt a copy of ap, not the original.  (Bug#8545)
 +
 +      * eval.c (verror): OK to create a string of up to MOST_POSITIVE_FIXNUM
 +      bytes.
 +
 +      * term.c: Don't include <stdarg.h>, as <lisp.h> does that.
 +
 +      * callproc.c (Fcall_process): Use 'volatile' to avoid vfork clobbering.
 +
 +      * process.c (Fformat_network_address): Fix typo: args2 -> *args2.
 +
 +      * xmenu.c (set_frame_menubar): Fix typo: int * -> int (3 times).
 +
 +      * coding.c (detect_coding_charset): Fix typo: * 2 -> *4 (Bug#8601).
 +
 +      * charset.h (struct charset.code_space): Now has 15 elements, not 16.
 +      * charset.c (Fdefine_charset_internal): Don't initialize
 +      charset.code_space[15].  The value was garbage, on hosts with
 +      32-bit int (Bug#8600).
  
 -2007-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * lread.c (read_integer): Be more consistent with string-to-number.
 +      Use string_to_number to do the actual conversion; this avoids
 +      rounding errors and fixes some other screwups.  Without this fix,
 +      for example, #x1fffffffffffffff was misread as -2305843009213693952.
 +      (digit_to_number): Move earlier, for benefit of read_integer.
 +      Return -1 if the digit is out of range for the base, -2 if it is
 +      not a digit in any supported base.  (Bug#8602)
  
 -      * s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.
 +      * doprnt.c (doprnt): Support arbitrary pI values, such as "I64".
  
 -      * frame.c (x_set_frame_parameters): Check number is positive before
 -      using XFASTINT.
 +      * dispnew.c (scrolling_window): Return 1 if we scrolled,
 +      to match comment at start of function.  This also removes a
 +      GCC warning about overflow in a 32+64-bit port.
  
 -      * 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.
 +      * lisp.h (EMACS_INT, EMACS_UINT, BITS_PER_EMACS_INT, pI): Simplify.
  
 -2007-09-07  Angelo Graziosi  <Angelo.Graziosi@roma1.infn.it>  (tiny change)
 +      * dbusbind.c: Do not use XPNTR on a value that may be an integer.
 +      Reported by Stefan Monnier in
 +      <http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00919.html>.
 +      (xd_remove_watch, Fdbus_init_bus, xd_read_queued_messages):
 +      Use SYMBOLP-guarded XSYMBOL, not XPNTR.
  
 -      * term.c (dissociate_if_controlling_tty): Call setsid on CYGWIN.
 +      * lisp.h (EMACS_INTPTR): Remove.  All uses changed to intptr_t.
 +      (EMACS_UINTPTR): Likewise, with uintptr_t.
  
 -2007-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * lisp.h: Prefer 64-bit EMACS_INT if available.
 +      (EMACS_INT, EMACS_UINT, BITS_PER_EMACS_INT, pI): Define to 64-bit
 +      on 32-bit hosts that have 64-bit int, so that they can access
 +      large files.
 +      However, temporarily disable this change unless the temporary
 +      symbol WIDE_EMACS_INT is defined.
  
 -      * window.c (Vsplit_window_preferred_function): New var.
 -      (Fdisplay_buffer): Use it.
 -      (syms_of_window): Export, and initialize it.
 +      * lread.c, process.c: Do not include <inttypes.h>; lisp.h does it now.
  
 -2007-09-06  Pixel  <pixel@mandriva.com>  (tiny change)
 +      Prefer intptr_t/uintptr_t for integers the same widths as pointers.
 +      This removes an assumption that EMACS_INT and long are the same
 +      width as pointers.  The assumption is true for Emacs porting targets
 +      now, but we want to make other targets possible.
 +      * lisp.h: Include <inttypes.h>, for INTPTR_MAX, UINTPTR_MAX.
 +      (EMACS_INTPTR, EMACS_UINTPTR): New macros.
 +      In the rest of the code, change types of integers that hold casted
 +      pointers to EMACS_INTPTR and EMACS_UINTPTR, systematically
 +      replacing EMACS_INT, long, EMACS_UINT, and unsigned long.
 +      (XTYPE): Don't cast arg to EMACS_UINT; normally is not needed.
 +      (XSET): Cast type of XTYPE arg to EMACS_INTPTR; it is needed here.
 +      No need to cast type when ORing.
 +      (XPNTR): Return a value of type EMACS_INTPTR or EMACS_UINTPTR.
 +      * alloc.c (lisp_align_malloc): Remove a no-longer-needed cast.
 +      * doc.c (store_function_docstring): Use EMACS_INTPTR, so as not to
 +      assume EMACS_INT is the same width as char *.
 +      * gtkutil.c (xg_gtk_scroll_destroy, xg_tool_bar_button_cb):
 +      (xg_tool_bar_callback, xg_tool_bar_help_callback, xg_make_tool_item):
 +      Remove no-longer-needed casts.
 +      (xg_create_scroll_bar, xg_tool_bar_button_cb, xg_tool_bar_callback):
 +      (xg_tool_bar_help_callback, xg_make_tool_item):
 +      Use EMACS_INTPTR to hold an integer
 +      that will be cast to void *; this can avoid a GCC warning
 +      if EMACS_INT is not the same width as void *.
 +      * menu.c (find_and_call_menu_selection): Remove no-longer-needed cast.
 +      * xdisp.c (display_echo_area_1, resize_mini_window_1):
 +      (current_message_1, set_message_1):
 +      Use a local to convert to proper width without a cast.
 +      * xmenu.c (dialog_selection_callback): Likewise.
  
 -      * image.c (gif_load): Fix bug: Handle nonexistent colormap.
 +      * sysdep.c (get_random): Don't assume EMACS_INT is no wider than long.
 +      Also, don't assume VALBITS / RAND_BITS is less than 5,
 +      and don't rely on undefined behavior when shifting a 1 left into
 +      the sign bit.
 +      * lisp.h (get_random): Change signature to match.
 +
 +      * lread.c (hash_string): Use size_t, not int, for hash computation.
 +      Normally we prefer signed values; but hashing is special, because
 +      it's better to use unsigned division on hash table sizes so that
 +      the remainder is nonnegative.  Also, size_t is the natural width
 +      for hashing into memory.  The previous code used 'int', which doesn't
 +      retain enough info to hash well into very large tables.
 +      (oblookup, oblookup_last_bucket_number, Funintern): Likewise.
 +
 +      * dbusbind.c: Don't possibly lose pointer info when converting.
 +      (xd_remove_watch, Fdbus_init_bus, xd_read_queued_messages):
 +      Use XPNTR rather than XHASH, so that the high-order bits of
 +      the pointer aren't lost when converting through void *.
 +
 +      * eval.c (Fautoload): Don't double-shift a pointer.
 +
 +      * fns.c (Frandom): Let EMACS_UINT be wider than unsigned long.
 +
 +2011-05-06  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * gnutls.c (DEF_GNUTLS_FN):
 +      * image.c (DEF_IMGLIB_FN): Make function pointers static.
 +
 +2011-05-05  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * lread.c (lisp_file_lexically_bound_p): Stop scanning at end
 +      marker.  (Bug#8610)
 +
 +2011-05-05 Eli Zaretskii  <eliz@gnu.org>
  
 -2007-09-06  Glenn Morris  <rgm@gnu.org>
 +      * w32heap.c (allocate_heap) [USE_LISP_UNION_TYPE || USE_LSB_TAG]:
 +      New version that can reserve upto 2GB of heap space.
  
 -      * gtkutil.c (menu_grab_callback) <cnt>:
 -      * xselect.c (x_reply_selection_request) <cnt>: Move static
 -      variable to file scope.
 +2011-05-05  Chong Yidong  <cyd@stupidchicken.com>
  
 -2007-09-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * nsfns.m (Fns_read_file_name): Doc fix (Bug#8534).
  
 -      * xdisp.c (redisplay_internal): Make sure Elisp code always sees
 -      consistent values of selected_frame and selected_window.
 +2011-05-05  Teodor Zlatanov  <tzz@lifelogs.com>
  
 -2007-09-04  Jason Rumney  <jasonr@gnu.org>
 +      * gnutls.c (fn_gnutls_certificate_set_x509_key_file): Add alias to
 +      `gnutls_certificate_set_x509_key_file'.
  
 -      * w32console.c (initialize_w32_display): Zero unused hooks.
 +2011-05-05  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-09-04  Dan Nicolaescu  <dann@ics.uci.edu>
 +      * makefile.w32-in ($(BLD)/image.$(O), $(BLD)/process.$(O)):
 +      Update dependencies.
  
 -      * term.c (Vsuspend_tty_functions, Vresume_tty_functions)
 -      (syms_of_term, Fsuspend_tty, Fresume_tty): Undo previous change.
 +2011-05-04  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-09-04  Jason Rumney  <jasonr@gnu.org>
 +      * gnutls.h (emacs_gnutls_write, emacs_gnutls_read):
 +      * gnutls.c (emacs_gnutls_write, emacs_gnutls_read):
 +      Remove unused parameter `fildes'.
 +      * process.c (read_process_output, send_process): Don't pass it.
  
 -      * 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.
 +2011-05-04  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * s/ms-w32.h (MULTI_KBOARD): Define.
 +      Fix previous change: the library cache is defined in w32.c.
 +      * image.c (CACHE_IMAGE_TYPE) [!HAVE_NTGUI]: Define to noop.
 +      (Finit_image_library): Wrap Vlibrary_cache on "#ifdef HAVE_NTGUI".
  
 -      * w32console.c (one_and_only_w32cons): Remove.
 -      (initialize_w32_display): Take terminal argument.
 +2011-05-04  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * term.c (init_tty) [WINDOWSNT]: Pass terminal to
 -      initialize_w32_display.
 -      (init_tty) [MULTI_KBOARD]: Include this code on WINDOWSNT too.
 +      Implement dynamic loading of GnuTLS on Windows.
  
 -      * termhooks.h (enum event_kind) <HORIZ_WHEEL_EVENT>: New event.
 +      * gnutls.h (GNUTLS_EMACS_ERROR_NOT_LOADED): New macro.
 +      (emacs_gnutls_write, emacs_gnutls_read): Mark as extern.
 +      (emacs_gnutls_record_check_pending, emacs_gnutls_transport_set_errno):
 +      Declare.
  
 -      * 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.
 +      * gnutls.c (Qgnutls_dll): Define.
 +      (DEF_GNUTLS_FN, LOAD_GNUTLS_FN): New macros.
 +      (gnutls_*): Declare function pointers.
 +      (init_gnutls_functions): New function to initialize function pointers.
 +      (emacs_gnutls_handshake, Fgnutls_error_string, Fgnutls_deinit)
 +      (emacs_gnutls_global_init, Fgnutls_bye): Use function pointers.
 +      (emacs_gnutls_record_check_pending, emacs_gnutls_transport_set_errno):
 +      Wrappers for gnutls_record_check_pending and gnutls_transport_set_errno.
 +      (emacs_gnutls_write, emacs_gnutls_read)
 +      (emacs_gnutls_handle_error, Fgnutls_error_fatalp)
 +      (Fgnutls_available_p): New function.
 +      (Fgnutls_boot): Call Fgnutls_available_p.  Use function pointers.
 +      (syms_of_gnutls) <Qgnutls_dll>: Initialize and staticpro it.
 +      (syms_of_gnutls) <Sgnutls_available_p>: defsubr it.
  
 -      * w32fns.c (w32_wnd_proc) <WM_DROPFILES>: Merge with WM_MOUSEWHEEL.
 -      <WM_MOUSEHWHEEL>: Pass new system message to lisp.
 +      * image.c: Include w32.h.
 +      (Vimage_type_cache): Delete.
 +      (syms_of_image) <Vimage_type_cache>: Don't initialize and staticpro it.
 +      (CACHE_IMAGE_TYPE, Finit_image_library): Use Vlibrary_cache instead.
 +      (w32_delayed_load): Move to w32.c.
  
 -      * w32term.h (WM_MOUSEHWHEEL): Define if system headers don't.
 +      * w32.h (VlibraryCache, QCloaded_from, w32_delayed_load): Declare.
  
 -      * w32term.c (construct_mouse_wheel): Make HORIZ_WHEEL_EVENT
 -      from WM_MOUSEHWHEEL.
 -      (w32_read_socket) <WM_MOUSEHWHEEL>: Treat as WM_MOUSEWHEEL.
 +      * w32.c (QCloaded_from, Vlibrary_cache): Define.
 +      (w32_delayed_load): Move from image.c.  When loading a library, record
 +      its filename in the :loaded-from property of the library id.
 +      (globals_of_w32) <QCloaded_from, Vlibrary_cache>:
 +      Initialize and staticpro them.
 +      (emacs_gnutls_pull, emacs_gnutls_push): Call emacs_gnutls_* functions.
  
 -      * w32fns.c (x_create_tip_frame) [MULTI_KBOARD]: Get keyboard from
 -      terminal.
 +      * process.c: Include lisp.h before w32.h, not after.
 +      (wait_reading_process_output): Call emacs_gnutls_record_check_pending
 +      instead of gnutls_record_check_pending.
  
 -      * w32term.c (w32_create_terminal) [MULTI_KBOARD]: Create a new
 -      keyboard for the terminal.
 +      * callproc.c, emacs.c: Include lisp.h before w32.h, not after.
  
 -2007-09-04  Dan Nicolaescu  <dann@ics.uci.edu>
 +2011-05-04  Teodor Zlatanov  <tzz@lifelogs.com>
  
 -      * 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.
 +      * gnutls.c (Fgnutls_boot): Support :keylist and :crlfiles options
 +      instead of :keyfiles.  Give GnuTLS the keylist and the CRL lists
 +      as passed in.
  
 -2007-09-02  Jan Djärv  <jan.h.d@swipnet.se>
 +2011-05-03  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:".
 +      * xterm.c (x_set_frame_alpha): Do not set property on anything
 +      else than FRAME_X_OUTER_WINDOW (Bug#8608).
  
 -2007-08-31  Jan Djärv  <jan.h.d@swipnet.se>
 +2011-05-02  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * gtkutil.c (update_frame_tool_bar): Initialize wbutton to NULL.
 +      * sysdep.c (get_tty_size) [WINDOWSNT]: Implement.  (Bug#8596)
  
 -2007-08-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-05-02  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * frame.h:
 -      * frame.c (Qterm_environment_variable): Remove.
 -      (syms_of_frame): Don't init and staticpro it.
 +      * gnutls.c (Qgnutls_log_level, Qgnutls_code, Qgnutls_anon)
 +      (Qgnutls_x509pki, Qgnutls_e_interrupted, Qgnutls_e_again)
 +      (Qgnutls_e_invalid_session, Qgnutls_e_not_ready_for_handshake)
 +      (gnutls_global_initialized, Qgnutls_bootprop_priority)
 +      (Qgnutls_bootprop_trustfiles, Qgnutls_bootprop_keyfiles)
 +      (Qgnutls_bootprop_callbacks, Qgnutls_bootprop_loglevel)
 +      (Qgnutls_bootprop_hostname, Qgnutls_bootprop_verify_flags)
 +      (Qgnutls_bootprop_verify_error, Qgnutls_bootprop_verify_hostname_error)
 +      (Qgnutls_bootprop_callbacks_verify): Make static.
  
 -      * callproc.c (getenv_internal): Remove special case for $TERM.
 +2011-05-01  Andreas Schwab  <schwab@linux-m68k.org>
  
 -      * 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.
 +      * callproc.c: Indentation fixup.
  
 -2007-08-29  Dan Nicolaescu  <dann@ics.uci.edu>
 +      * sysdep.c (wait_for_termination_1): Make static.
 +      (wait_for_termination, interruptible_wait_for_termination):
 +      Move after wait_for_termination_1.
  
 -      * config.in (HAVE_WINDOW_SYSTEM): Don't undef MULTI_KBOARD here...
 -      * s/darwin.h: ... do it here.
 +2011-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
  
 -2007-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * sysdep.c (interruptible_wait_for_termination): New function
 +      which is like wait_for_termination, but allows keyboard
 +      interruptions.
  
 -      * lisp.h (set_initial_environment): Rename from set_global_environment.
 +      * callproc.c (Fcall_process): Add (:file "file") as an option for
 +      the STDOUT buffer.
 +      (Fcall_process_region): Ditto.
  
 -      * Makefile.in (${etc}DOC): Re-add a ${EXEEXT} which seems to have been
 -      removed by mistake on the multi-tty branch.
 +2011-04-30  Eli Zaretskii  <eliz@gnu.org>
  
 -      * frame.c (make_terminal_frame): Yet Another Int/Lisp_Object Mixup.
 -      (Fmodify_frame_parameters): Return a value.
 +      * dosfns.c (Fint86, Fdos_memget, Fdos_memput): Use `ASIZE (FOO)'
 +      rather than `XVECTOR (FOO)->size'.
  
 -      * image.c (png_load): Comment-out var only used in commented-out code.
 +      * process.c: Remove HAVE_INTTYPES_H condition from inclusion of
 +      inttypes.h, as a gnulib replacement is used if it not available in
 +      system headers.
  
 -      * term.c (mark_ttys): Don't bother checking top_frame (incorrectly)
 -      before passing it to mark_object.
 +2011-04-21  Eli Zaretskii  <eliz@gnu.org>
  
 -      * xfaces.c (internal_resolve_face_name): Return a value.
 -      (internal_resolve_face_name, resolve_face_name_error): Comment out.
 +      Lift the MOST_POSITIVE_FIXNUM/4 limitation on visited files.
 +      * fileio.c (Finsert_file_contents): Don't limit file size to 1/4
 +      of MOST_POSITIVE_FIXNUM.  (Bug#8528)
  
 -      * xfns.c (check_x_display_info): Yet Another Int/Lisp_Object Mixup.
 -      (x_icon): Comment-out var only used in commented-out code.
 +      * coding.c (coding_alloc_by_realloc): Error out if destination
 +      will grow beyond MOST_POSITIVE_FIXNUM.
 +      (decode_coding_emacs_mule): Abort if there isn't enough place in
 +      charbuf for the composition carryover bytes.  Reserve an extra
 +      space for up to 2 characters produced in a loop.
 +      (decode_coding_iso_2022): Abort if there isn't enough place in
 +      charbuf for the composition carryover bytes.
  
 -2007-08-29  Romain Francoise  <romain@orebokech.com>
 +2011-04-21  Eli Zaretskii  <eliz@gnu.org>
  
 -      * keyboard.c (Fset_input_mode): Don't call `Fset_quit_char' if
 -      QUIT hasn't been provided.
 +      * doprnt.c (doprnt) [!HAVE_LONG_LONG_INT]: Error out instead of
 +      aborting when %lld or %lll format is passed.
 +      [!HAVE_UNSIGNED_LONG_LONG_INT]: Error out instead of aborting when
 +      %llo or %llx format is passed.  (Bug#8545)
  
 -2007-08-29  Dan Nicolaescu  <dann@ics.uci.edu>
 +      * window.c (window_scroll_line_based): Use a marker instead of
 +      simple variables to record original value of point.  (Bug#7952)
  
 -      * callproc.c (child_setup, getenv_internal): Use the
 -      display-environment-variable and term-environment-variable frame params.
 -      (set_initial_environment): Initialise Vprocess_environment.
 +      * doprnt.c (doprnt): Fix the case where a multibyte sequence
 +      produced by %s or %c overflows available buffer space.  (Bug#8545)
  
 -      * config.in: Disable multi-keyboard support on a mac.
 +2011-04-28  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * frame.c (Qterm_environment_variable)
 -      (Qdisplay_environment_variable): New variables.
 -      (syms_of_frame): Intern and staticpro them.
 -      (Fmake_terminal_frame): Disable output method test.
 +      * doprnt.c (doprnt): Omit useless test; int overflow check (Bug#8545).
 +      (SIZE_MAX): Move defn after all includes, as they might #define it.
  
 -      * frame.h: Declare them here.
 +2011-04-28  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * 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.
 +      * w32.c (init_environment): Warn about defaulting HOME to C:\.
  
 -      * macmenu.c: Reorder includes.
 -      (Fx_popup_menu): Use terminal specific mouse_position_hook.
 +2011-04-28  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * 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.
 +      * keyboard.c (Qdelayed_warnings_hook): Define.
 +      (command_loop_1): Run `delayed-warnings-hook'
 +      if Vdelayed_warnings_list is non-nil.
 +      (syms_of_keyboard) <delayed-warnings-hook>: DEFSYM it.
 +      (syms_of_keyboard) <delayed-warnings-list>: DEFVAR_LISP it.
  
 -      * macterm.h (struct mac_display_info): Add terminal.
 -      (mac_initialize): Delete declaration.
 +2011-04-28  Eli Zaretskii  <eliz@gnu.org>
  
 -      * puresize.h (BASE_PURESIZE): Increase base value to 1164000.
 +      * doprnt.c (doprnt): Don't return value smaller than the buffer
 +      size if the message was truncated.  (Bug#8545).
  
 -      * sysdep.c: Comment out text after #endif.
 +2011-04-28  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
 -      is defined.  Better initialize ttys in windows.  Use terminal
 -      specific mouse_position_hook.
 +      * w32fns.c (Fx_change_window_property, Fx_delete_window_property)
 +      (Fx_window_property): #if-0 the whole functions, not just the bodies.
  
 -      * termhooks.h (union display_info): Add mac_display_info.
 +2011-04-27  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * 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.
 +      * doprnt.c (doprnt): Support "ll" length modifier, for long long.
  
 -      * w32term.c (w32_initialize): Make static.
 +2011-04-27  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * xselect.c (x_handle_selection_clear): Only access
 -      terminal->kboard when MULTI_KBOARD is defined.
 +      * makefile.w32-in: Update dependencies.
  
 -      * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
 -      (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
 +2011-04-27  Eli Zaretskii  <eliz@gnu.org>
  
 -2007-08-29  Jason Rumney  <jasonr@gnu.org>
 +      Improve `doprnt' and its usage.  (Bug#8545)
 +      * doprnt.c (doprnt): Make sure `format' is never accessed beyond
 +      `format_end'.  Remove support for %l as a conversion specifier.
 +      Don't use xrealloc.  Improve diagnostics when the %l size modifier
 +      is used.  Update the commentary.
  
 -      * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
 -      (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
 +      * eval.c (verror): Simplify calculation of size_t.
  
 -      * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
 -      (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
 +      * coding.c (Ffind_operation_coding_system): Fix diagnostic error
 +      messages.
  
 -      * keyboard.c (restore_kboard_configuration): Only define when
 -      MULTI_KBOARD defined.
 +2011-04-27  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>  (tiny change)
  
 -      * makefile.w32-in: Update dependancies from Makefile.in.
 -      (OBJ1): Add terminal.$(O)
 +      * buffer.c (init_buffer) [USE_MMAP_FOR_BUFFERS]: Adjust to aliasing
 +      change.
  
 -      * term.c (dissociate_if_controlling_tty) [WINDOWSNT]:
 -      Don't define function body.
 -      (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
 +2011-04-27  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * termhooks.h (display_info) [WINDOWSNT]: Add w32.
 +      * nsmenu.m: Replace all uses of XVECTOR with ASIZE and AREF.
 +      This makes this file independent of the recent pseudovector change.
  
 -      * w32.c (request_sigio, unrequest_sigio): Remove.
 +2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * 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.
 +      * keyboard.c (handle_user_signal): Fix pointer signedness problem.
  
 -      * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
 -      arg a frame.
 +      * gnutls.c (emacs_gnutls_handle_error): Remove unused local.
 +      (Fgnutls_boot): gnutls_certificate_verify_peers2 wants unsigned *.
 +      Remove unused local.
 +      (emacs_gnutls_write): Don't use uninitialized rtnval if nbyte <= 0.
  
 -      * 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.
 +      * lisp.h: Fix a problem with aliasing and vector headers.  (Bug#8546)
 +      GCC 4.6.0 optimizes based on type-based alias analysis.
 +      For example, if b is of type struct buffer * and v of type struct
 +      Lisp_Vector *, then gcc -O2 was incorrectly assuming that &b->size
 +      != &v->size, and therefore "v->size = 1; b->size = 2; return
 +      v->size;" must therefore return 1.  This assumption is incorrect
 +      for Emacs, since it type-puns struct Lisp_Vector * with many other
 +      types.  To fix this problem, this patch adds a new type struct
 +      vectorlike_header that documents the constraints on layout of vectors
 +      and pseudovectors, and helps optimizing compilers not get fooled
 +      by Emacs's type punning.  It also adds the macros XSETTYPED_PVECTYPE
 +      XSETTYPED_PSEUDOVECTOR, TYPED_PSEUDOVECTORP, for similar reasons.
 +      * lisp.h (XSETTYPED_PVECTYPE): New macro, specifying the name of
 +      the size member.
 +      (XSETPVECTYPE): Rewrite in terms of new macro.
 +      (XSETPVECTYPESIZE): New macro, specifying both type and size.
 +      This is a bit clearer, and further avoids the possibility of
 +      undesirable aliasing.
 +      (XSETTYPED_PSEUDOVECTOR): New macro, specifying the size.
 +      (XSETPSEUDOVECTOR): Rewrite in terms of XSETTYPED_PSEUDOVECTOR.
 +      (XSETSUBR): Rewrite in terms of XSETTYPED_PSEUDOVECTOR and XSIZE,
 +      since Lisp_Subr is a special case (no "next" field).
 +      (ASIZE): Now uses header.size rather than size.
 +      All previous uses of XVECTOR (foo)->size replaced to use this macro,
 +      to avoid the hassle of writing XVECTOR (foo)->header.size.
 +      (struct vectorlike_header): New type.
 +      (TYPED_PSEUDOVECTORP): New macro, also specifying the C type of the
 +      object, to help avoid aliasing.
 +      (PSEUDOVECTORP): Rewrite in terms of TYPED_PSEUDOVECTORP.
 +      (SUBRP): Likewise, since Lisp_Subr is a special case.
 +      * lisp.h (struct Lisp_Vector, struct Lisp_Char_Table):
 +      (struct Lisp_Sub_Char_Table, struct Lisp_Bool_Vector):
 +      (struct Lisp_Hash_Table): Combine first two members into a single
 +      struct vectorlike_header member.  All uses of "size" and "next" members
 +      changed to be "header.size" and "header.next".
 +      * buffer.h (struct buffer): Likewise.
 +      * font.h (struct font_spec, struct font_entity, struct font): Likewise.
 +      * frame.h (struct frame): Likewise.
 +      * process.h (struct Lisp_Process): Likewise.
 +      * termhooks.h (struct terminal): Likewise.
 +      * window.c (struct save_window_data, struct saved_window): Likewise.
 +      * window.h (struct window): Likewise.
 +      * alloc.c (allocate_buffer, Fmake_bool_vector, allocate_pseudovector):
 +      Use XSETPVECTYPESIZE, not XSETPVECTYPE, to avoid aliasing problems.
 +      * buffer.c (init_buffer_once): Likewise.
 +      * lread.c (defsubr): Use XSETTYPED_PVECTYPE, since Lisp_Subr is a
 +      special case.
 +      * process.c (Fformat_network_address): Use local var for size,
 +      for brevity.
  
 -      * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
 +      * bytecode.c (exec_byte_code): Don't use XVECTOR before CHECK_VECTOR.
  
 -      * 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.
 +      Make the Lisp reader and string-to-float more consistent (Bug#8525)
 +      * data.c (atof): Remove decl; no longer used or needed.
 +      (digit_to_number): Move to lread.c.
 +      (Fstring_to_number): Use new string_to_number function, to be
 +      consistent with how the Lisp reader treats infinities and NaNs.
 +      Do not assume that floating-point numbers represent EMACS_INT
 +      without losing information; this is not true on most 64-bit hosts.
 +      Avoid double-rounding errors, by insisting on integers when
 +      parsing non-base-10 numbers, as the documentation specifies.
 +      * lisp.h (string_to_number): New decl, replacing ...
 +      (isfloat_string): Remove.
 +      * lread.c: Include <inttypes.h>, for uintmax_t and strtoumax.
 +      (read1): Do not accept +. and -. as integers; this
 +      appears to have been a coding error.  Similarly, do not accept
 +      strings like +-1e0 as floating point numbers.  Do not report
 +      overflow for integer overflows unless the base is not 10 which
 +      means we have no simple and reliable way to continue.
 +      Break out the floating-point parsing into a new
 +      function string_to_number, so that Fstring_to_number parses
 +      floating point numbers consistently with the Lisp reader.
 +      (digit_to_number): Move here from data.c.  Make it static inline.
 +      (E_CHAR, EXP_INT): Remove, replacing with ...
 +      (E_EXP): New macro, to solve the "1.0e+" problem mentioned below.
 +      (string_to_number): New function, replacing isfloat_string.
 +      This function checks for valid syntax and produces the resulting
 +      Lisp float number too.  Rework it so that string-to-number
 +      no longer mishandles examples like "1.0e+".  Use strtoumax,
 +      so that overflow for non-base-10 numbers is reported only when
 +      there's no portable and simple way to convert to floating point.
 +
 +      * textprop.c (set_text_properties_1): Rewrite for clarity,
 +      and to avoid GCC warning about integer overflow.
 +
 +      * intervals.h (struct interval): Use EMACS_INT for members
 +      where EMACS_UINT might cause problems.  See
 +      <http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00514.html>.
 +      (CHECK_TOTAL_LENGTH): Remove cast to EMACS_INT; no longer needed.
 +      * intervals.c (interval_deletion_adjustment): Now returns EMACS_INT.
 +      All uses changed.
 +      (offset_intervals): Tell GCC not to worry about length overflow
 +      when negating a negative length.
 +
 +      * alloc.c (overrun_check_malloc, overrun_check_realloc): Now static.
 +      (overrun_check_free): Likewise.
 +
 +      * alloc.c (SDATA_SIZE) [!GC_CHECK_STRING_BYTES]: Avoid runtime check
 +      in the common case where SDATA_DATA_OFFSET is a multiple of Emacs
 +      word size.
 +
 +      * gnutls.c: Fix problems found by GCC 4.6.0 on Ubuntu 10.10.
 +      (gnutls_make_error): Rename local to avoid shadowing.
 +      (gnutls_emacs_global_deinit): ifdef out; not used.
 +      (Fgnutls_boot): Use const for pointer to readonly storage.
 +      Comment out unused local.  Fix pointer signedness problems.
 +
 +      * lread.c (openp): Don't stuff size_t into an 'int'.
 +      Use <= on length, not < on length + 1, to avoid GCC 4.6.0 warning
 +      about possible signed overflow.
 +
 +      * gtkutil.c: Fix problems found by GCC 4.6.0 on Ubuntu 10.10.
 +      (GDK_KEY_g): Don't define if already defined.
 +      (xg_prepare_tooltip): Avoid pointer signedness problem.
 +      (xg_set_toolkit_scroll_bar_thumb): Redo to avoid two casts.
 +
 +      * process.c (Fnetwork_interface_info): Avoid left-shift undefined
 +      behavior with 1 << 31.  GCC 4.6.0 warns about this on 32-bit hosts.
 +
 +      * xfns.c (Fx_window_property): Simplify a bit,
 +      to make a bit faster and to avoid GCC 4.6.0 warning.
 +      * xselect.c (x_get_window_property, x_handle_dnd_message): Likewise.
 +
 +      * fns.c (internal_equal): Don't assume size_t fits in int.
 +
 +      * alloc.c (compact_small_strings): Tighten assertion a little.
 +
 +      Replace pEd with more-general pI, and fix some printf arg casts.
 +      * lisp.h (pI): New macro, generalizing old pEd macro to other
 +      conversion specifiers.  For example, use "...%"pI"d..." rather
 +      than "...%"pEd"...".
 +      (pEd): Remove.  All uses replaced with similar uses of pI.
 +      * src/m/amdx86-64.h, src/m/ia64.h, src/m/ibms390x.h: Likewise.
 +      * alloc.c (check_pure_size): Don't overflow by converting size to int.
 +      * bidi.c (bidi_dump_cached_states): Use pI to avoid cast.
 +      * data.c (Fnumber_to_string): Use pI instead of if-then-else-abort.
 +      * dbusbind.c (xd_append_arg): Use pI to avoid cast.
 +      (Fdbus_method_return_internal, Fdbus_method_error_internal): Likewise.
 +      * font.c (font_unparse_xlfd): Avoid potential buffer overrun on
 +      64-bit hosts.
 +      (font_unparse_xlfd, font_unparse_fcname): Use pI to avoid casts.
 +      * keyboard.c (record_char, modify_event_symbol): Use pI to avoid casts.
 +      * print.c (safe_debug_print, print_object): Likewise.
 +      (print_object): Don't overflow by converting EMACS_INT or EMACS_UINT
 +      to int.
 +      Use pI instead of if-then-else-abort.  Use %p to avoid casts,
 +      avoiding the 0 flag, which is not portable.
 +      * process.c (Fmake_network_process): Use pI to avoid cast.
 +      * region-cache.c (pp_cache): Likewise.
 +      * xdisp.c (decode_mode_spec): Likewise.
 +      * xrdb.c (x_load_resources) [USE_MOTIF]: Use pI to avoid undefined
 +      behavior on 64-bit hosts with printf arg.
 +      * xselect.c (x_queue_event): Use %p to avoid casts, avoiding 0 flag.
 +      (x_stop_queuing_selection_requests): Likewise.
 +      (x_get_window_property): Don't truncate byte count to an 'int'
 +      when tracing.
 +
 +      * frame.c (frame_name_fnn_p): Get rid of strtol, which isn't right
 +      here, since it parses constructs like leading '-' and spaces,
 +      which are not wanted; and it overflows with large numbers.
 +      Instead, simply match F[0-9]+, which is what is wanted anyway.
 +
 +      * alloc.c: Remove unportable assumptions about struct layout.
 +      (SDATA_SELECTOR, SDATA_DATA_OFFSET): New macros.
 +      (SDATA_OF_STRING, SDATA_SIZE, allocate_string_data):
 +      (allocate_vectorlike, make_pure_vector): Use the new macros,
 +      plus offsetof, to remove unportable assumptions about struct layout.
 +      These assumptions hold on all porting targets that I know of, but
 +      they are not guaranteed, they're easy to remove, and removing them
 +      makes further changes easier.
 +
 +      * alloc.c (BLOCK BYTES): Fix typo by changing "ablock" to "ablocks".
 +      This doesn't fix a bug but makes the code clearer.
 +      (string_overrun_cookie): Now const.  Use initializers that
 +      don't formally overflow signed char, to avoid warnings.
 +      (allocate_string_data) [GC_CHECK_STRING_OVERRUN]: Fix typo that
 +      can cause Emacs to crash when string overrun checking is enabled.
 +      (allocate_buffer): Don't assume sizeof (struct buffer) is a
 +      multiple of sizeof (EMACS_INT); it need not be, if
 +      alignof(EMACS_INT) < sizeof (EMACS_INT).
 +      (check_sblock, check_string_bytes, check_string_free_list): Protoize.
 +
 +2011-04-26  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * keyboard.c (QCrtl): Rename from Qrtl.  All uses changed.
 +
 +2011-04-26  Teodor Zlatanov  <tzz@lifelogs.com>
 +
 +      * gnutls.c (emacs_gnutls_handshake): Return an error if we're not
 +      supposed to be handshaking.  (Bug#8556)
 +      Reported by Paul Eggert <eggert@cs.ucla.edu>.
 +
 +2011-04-26  Daniel Colascione  <dan.colascione@gmail.com>
 +
 +      * lisp.h (Qdebug): List symbol.
 +      * eval.c (Qdebug): Restore global linkage.
 +      * keyboard.c (debug-on-event): New variable.
 +      (handle_user_signal): Break into debugger when debug-on-event
 +      matches the current signal symbol.
 +
 +2011-04-25  Dan Nicolaescu  <dann@ics.uci.edu>
 +
 +      * alloc.c (check_sblock, check_string_bytes)
 +      (check_string_free_list): Convert to standard C.
 +
 +2011-04-25  Teodor Zlatanov  <tzz@lifelogs.com>
 +
 +      * w32.c (emacs_gnutls_push): Fix typo.
 +
 +2011-04-25  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * gnutls.c (emacs_gnutls_handshake): Avoid compiler warnings about
 +      "cast to pointer from integer of different size".
 +
 +      Improve doprnt and its use in verror.  (Bug#8545)
 +      * doprnt.c (doprnt): Document the set of format control sequences
 +      supported by the function.  Use SAFE_ALLOCA instead of always
 +      using `alloca'.
 +
 +      * eval.c (verror): Don't limit the buffer size at size_max-1, that
 +      is one byte too soon.  Don't use xrealloc; instead xfree and
 +      xmalloc anew.
 +
 +2011-04-24  Teodor Zlatanov  <tzz@lifelogs.com>
 +
 +      * gnutls.h: Add GNUTLS_STAGE_CALLBACKS enum to denote we're in the
 +      callbacks stage.
 +
 +      * gnutls.c: Renamed global_initialized to
 +      gnutls_global_initialized.  Added internals for the
 +      :verify-hostname-error, :verify-error, and :verify-flags
 +      parameters of `gnutls-boot' and documented those parameters in the
 +      docstring.  Start callback support.
 +      (emacs_gnutls_handshake): Add Woe32 support.  Retry handshake
 +      unless a fatal error occurred.  Call gnutls_alert_send_appropriate
 +      on error.  Return error code.
 +      (emacs_gnutls_write): Call emacs_gnutls_handle_error.
 +      (emacs_gnutls_read): Likewise.
 +      (Fgnutls_boot): Return handshake error code.
 +      (emacs_gnutls_handle_error): New function.
 +      (wsaerror_to_errno): Likewise.
 +
 +      * w32.h (emacs_gnutls_pull): Add prototype.
 +      (emacs_gnutls_push): Likewise.
  
 -      * 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.
 +      * w32.c (emacs_gnutls_pull): New function for GnuTLS on Woe32.
 +      (emacs_gnutls_push): Likewise.
  
 -      * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
 +2011-04-24  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
  
 -      * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
 +      * process.c (wait_reading_process_output): Check if GnuTLS
 +      buffered some data internally if no FDs are set for TLS
 +      connections.
  
 -2007-08-29  Kalle Olavi Niemitalo  <kon@iki.fi>  (tiny change)
 +      * makefile.w32-in (OBJ2): Add gnutls.$(O).
 +      (LIBS): Link to USER_LIBS.
 +      ($(BLD)/gnutls.$(0)): New target.
  
 -      * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
 -      Fix get_named_tty calls for the controlling tty.
 +2011-04-24  Eli Zaretskii  <eliz@gnu.org>
  
 -2007-08-29  ARISAWA Akihiro  <ari@mbf.ocn.ne.jp>  (tiny change)
 +      * xdisp.c (handle_single_display_spec): Rename the
 +      display_replaced_before_p argument into display_replaced_p, to
 +      make it consistent with the commentary.  Fix typos in the
 +      commentary.
  
 -      * term.c (dissociate_if_controlling_tty) [USG]: Fix parse error.
 +      * textprop.c (syms_of_textprop): Remove dead code.
 +      (copy_text_properties): Delete obsolete commentary about an
 +      interface that was deleted long ago.  Fix typos in the description
 +      of arguments.
  
 -2007-08-29  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>  (tiny change)
 +      * msdos.c (XMenuActivate, XMenuAddSelection): Adjust argument list
 +      to changes in oldXMenu/XMenu.h from 2011-04-16.
 +      <menu_help_message, prev_menu_help_message>: Constify.
 +      (IT_menu_make_room): menu->help_text is now `const char **';
 +      adjust.
  
 -      * term.c (tty_insert_glyphs): Add missing first parameter.
 +      * msdos.h (XMenuActivate, XMenuAddSelection): Adjust prototypes
 +      to changes in oldXMenu/XMenu.h from 2011-04-16.
 +      (struct XMenu): Declare `help_text' `const char **'.
  
 -2007-08-29  Károly Lőrentey  <karoly@lorentey.hu>
 +      * xfaces.c <Qunspecified>: Make extern again.
  
 -      * buffer.c (Fbuffer_list, Fbury_buffer):
 -      Take frame->buried_buffer_list into account.
 +      * syntax.c: Include sys/types.h before including regex.h, as
 +      required by Posix.
  
 -      * 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().
 +      * doc.c (get_doc_string): Improve the format passed to `error'.
  
 -      * 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.
 +      * doprnt.c (doprnt): Improve commentary.
  
 -      * 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.
 +      * term.c (init_tty) [MSDOS]: Fix 1st argument to maybe_fatal.
  
 -      * 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.
 +      * Makefile.in (TAGS): Depend on $(M_FILE) and $(S_FILE), and scan
 +      them with etags.
  
 -      * keymap.h (Fset_keymap_parent): Add EXFUN.
 +      * makefile.w32-in (globals.h): Add a dummy recipe, to make any
 +      changes in globals.h immediately force recompilation.
 +      (TAGS): Depend on $(CURDIR)/m/intel386.h and
 +      $(CURDIR)/s/ms-w32.h.
 +      (TAGS-gmake): Scan $(CURDIR)/m/intel386.h and $(CURDIR)/s/ms-w32.h.
  
 -      * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
 -      * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
 -      Remove redundant definition.
 +      * character.c (Fchar_direction): Function deleted.
 +      (syms_of_character): Don't defsubr it.
 +      <char-direction-table>: Deleted.
  
 -      * macfns.c (x_set_mouse_color, x_make_gc):
 -      Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
 +2011-04-23  Eli Zaretskii  <eliz@gnu.org>
  
 -      * w32term.c (x_free_frame_resources):
 -      Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
 -      (w32_initialize): Use the accessor macros for terminal characteristics.
 +      Fix doprnt so it could be used again safely in `verror'.  (Bug#8435)
 +      * doprnt.c: Include limits.h.
 +      (SIZE_MAX): New macro.
 +      (doprnt): Return a size_t value.  2nd arg is now size_t.
 +      Many local variables are now size_t instead of int or unsigned.
 +      Improve overflow protection.  Support `l' modifier for integer
 +      conversions.  Support %l conversion.  Don't assume an EMACS_INT
 +      argument for integer conversions and for %c.
  
 -      * 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.
 +      * lisp.h (doprnt): Restore prototype.
  
 -      * termopts.h (no_redraw_on_reenter): Declare.
 +      * makefile.w32-in ($(BLD)/callint.$(O)): Depend on
 +      $(SRC)/character.h.
  
 -      * alloc.c (emacs_blocked_malloc): Disable mallopt call.
 -      (mark_terminals, mark_ttys): Declare.
 -      (Fgarbage_collect): Call them.
 -      (mark_object): Mark buried_buffer_list.
 +      * Makefile.in (base_obj): Add back doprnt.o.
  
 -      * prefix-args.c: Include stdlib.h for exit.
 +      * deps.mk (doprnt.o): Add back prerequisites.
 +      (callint.o): Depend on character.h.
  
 -      * syssignal.h: Add comment.
 +      * eval.c (internal_lisp_condition_case): Include the handler
 +      representation in the error message.
 +      (verror): Call doprnt instead of vsnprintf.  Fix an off-by-one bug
 +      when breaking from the loop.
  
 -      * indent.c: Include stdio.h.
 +      * xdisp.c (vmessage): Call doprnt instead of vsnprintf.
  
 -      * window.h (Vinitial_window_system): Declare.
 -      (Vwindow_system): Delete declaration.
 +      * callint.c (Fcall_interactively): When displaying error message
 +      about invalid control letter, pass the character's codepoint, not
 +      a pointer to its multibyte form.  Improve display of the character
 +      in octal and display also its hex code.
  
 -      * fontset.c (Finternal_char_font): Use FRAME_RIF.
 +      * character.c (char_string): Use %x to display the (unsigned)
 +      codepoint of an invalid character, to avoid displaying a bogus
 +      negative value.
  
 -      * image.c (lookup_image): Don't initialize `c' until the xasserts
 -      have been run.
 +      * font.c (check_otf_features): Pass SDATA of SYMBOL_NAME to
 +      `error', not SYMBOL_NAME itself.
  
 -      * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
 -      FRAME_FOREGROUND_PIXEL.
 +      * coding.c (Fencode_sjis_char, Fencode_big5_char): Use %c for
 +      character arguments to `error'.
  
 -      * print.c (print_preprocess): Don't lose print_depth levels while
 -      iterating.
 +      * charset.c (check_iso_charset_parameter): Fix incorrect argument
 +      to `error' in error message about FINAL_CHAR argument.  Make sure
 +      FINAL_CHAR is a character, and use %c when it is passed as
 +      argument to `error'.
  
 -      * widget.c (update_from_various_frame_slots):
 -      Use FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
 +2011-04-23  Eli Zaretskii  <eliz@gnu.org>
  
 -      * 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.
 +      * s/ms-w32.h (localtime): Redirect to sys_localtime.
  
 -      * fileio.c (Fread_file_name): Update comment.
 +      * w32.c: Include <time.h>.
 +      (sys_localtime): New function.
  
 -      * 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.
 +2011-04-23  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * 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.
 +      * xdisp.c (init_xdisp): Initialize echo_area_window (Bug#6451).
  
 -2007-08-24  Jason Rumney  <jasonr@gnu.org>
 +      * buffer.c (syms_of_buffer): Doc fix (Bug#6902).
  
 -      * 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.
 +2011-04-23  Samuel Thibault  <sthibault@debian.org>  (tiny change)
  
 -2007-08-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * sysdep.c (wait_for_termination): On GNU Hurd, kill returns -1 on
 +      zombies (Bug#8467).
  
 -      * 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).
 +2011-04-19  Eli Zaretskii  <eliz@gnu.org>
  
 -      * image.c (svg_load_image): Blend with specified background if exists.
 -      Use IMAGE_BACKGROUND.  Add Mac OS Support.
 +      * syntax.h (SETUP_SYNTAX_TABLE_FOR_OBJECT): Fix setting of
 +      gl_state.e_property when gl_state.object is Qt.
  
 -      * 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.
 +      * insdel.c (make_gap_larger): Remove limitation of buffer size
 +      to <= INT_MAX.
  
 -2007-08-22  Glenn Morris  <rgm@gnu.org>
 +2011-04-18  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * image.c (x_find_image_file): Search in etc/images/ rather than etc/.
 +      * xdisp.c (lookup_glyphless_char_display)
 +      (produce_glyphless_glyph): Handle cons cell entry in
 +      glyphless-char-display.
 +      (Vglyphless_char_display): Document it.
  
 -2007-08-22  Paul Pogonyshev  <pogonyshev@gmx.net>
 +      * term.c (produce_glyphless_glyph): Handle cons cell entry in
 +      glyphless-char-display.
  
 -      * Makefile.in (ALL_CFLAGS, LIBX): Add RSVG_LIBS.
 +2011-04-17  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * 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.
 +      * xdisp.c (get_next_display_element): Remove unnecessary ifdefs.
  
 -2007-08-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * termhooks.h (FRAME_WINDOW_P): Remove duplicated definitions.
  
 -      * lread.c (load_warn_old_style_backquotes): Fix up array size typo.
 +      * dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P): Add missing
 +      definition for no-X builds.
  
 -2007-08-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2011-04-16  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * 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.
 +      Static checks with GCC 4.6.0 and non-default toolkits.
  
 -      * lisp.h (Fclear_face_cache, Fx_send_client_event): Declare.
 +      * s/sol2-6.h, s/unixware.h (PTY_TTY_NAME_SPRINTF): Protoize decl.
  
 -      * 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.
 +      * process.c (keyboard_bit_set): Define only if SIGIO.
 +      (send_process_trap): Mark it with NO_RETURN if it doesn't return.
 +      (send_process): Repair possible setjmp clobbering.
  
 -2007-08-22  Jason Rumney  <jasonr@gnu.org>
 +      * s/usg5-4-common.h (SETUP_SLAVE_PTY): Don't pass extra arg to 'fatal'.
  
 -      * w32reg.c (SYSTEM_DEFAULT_RESOURCES): Add missing NULL terminator.
 +      * eval.c: Include <stdio.h>, for vsnprintf on non-GNU/Linux hosts.
  
 -2007-08-22  Katsumi Yamaoka  <yamaoka@jpl.org>
 +      * data.c (arith_error): Mark with NO_RETURN if it doesn't return.
  
 -      * puresize.h (BASE_PURESIZE): Increase to 1140000.
 +      * alloc.c (bytes_used_when_full, SPARE_MEMORY, BYTES_USED):
 +      Define only if needed.
  
 -2007-08-19  Richard Stallman  <rms@gnu.org>
 +      * sysdep.c (_FILE_OFFSET_BITS): Make this hack even uglier
 +      by pacifying GCC about it.  Maybe it's time to retire it?
 +      * xfaces.c (USG, __TIMEVAL__): Likewise.
  
 -      * eval.c (Ffunction, Fquote): Signal error if not 1 argument.
 +      * dispextern.h (struct redisplay_interface): Rename param
 +      to avoid shadowing.
 +      * termhooks.h (struct terminal): Likewise.
 +      * xterm.c (xembed_send_message): Likewise.
  
 -2007-08-19  Andreas Schwab  <schwab@suse.de>
 +      * insdel.c (make_gap_smaller): Define only if
 +      USE_MMAP_FOR_BUFFERS || REL_ALLOC || DOUG_LEA_MALLOC.
  
 -      * alloc.c (pure): Round PURESIZE up.
 +      * keyboard.c (read_char): Make a var volatile so longjmp won't clobber
 +      it.
  
 -2007-08-17  Jan Djärv  <jan.h.d@swipnet.se>
 +      * emacs.c (MAX_HEAP_BSS_DIFF, my_edata): Move to where they're used,
 +      so that we aren't warned about unused symbols.
  
 -      * xterm.c (handle_one_xevent): Remove check that mouse click is in
 -      active frame.
 +      * xfns.c (Fx_file_dialog): Rename local to avoid shadowing.
  
 -2007-08-16  Richard Stallman  <rms@gnu.org>
 +      * xdisp.c (x_produce_glyphs): Mark var as initialized (Bug#8512).
  
 -      * eval.c (Fcommandp): Add parens to clarify.
 +      * xfns.c (x_real_positions): Mark locals as initialized.
  
 -      * minibuf.c (Fall_completions): Use enum for type of table.
 +      * xmenu.c (xmenu_show): Don't use uninitialized vars.
  
 -      * emacs.c (USAGE2): Improve text.
 +      * xterm.c: Fix problems found by static analysis with other toolkits.
 +      (toolkit_scroll_bar_interaction): Define and use only if USE_X_TOOLKIT.
 +      (x_dispatch_event): Declare static if USE_GTK, and
 +      define if USE_GTK || USE_X_TOOLKIT.
 +      (SET_SAVED_BUTTON_EVENT): Define only if USE_X_TOOLKIT || USE_GTK.
 +      * xterm.h (x_dispatch_event): Extern only if USE_X_TOOLKIT.
 +      * xterm.c, xterm.h (x_mouse_leave): Bring this function back, but only
 +      if defined HAVE_MENUS && !defined USE_X_TOOLKIT && !defined USE_GTK.
  
 -2007-08-15  Philippe Waroquiers  <philippe.waroquiers@eurocontrol.int>
 +      * xmenu.c (menu_help_callback): Pointer type fixes.
 +      Use const pointers when pointing at readonly data.  Avoid pointer
 +      signedness clashes.
 +      (FALSE): Remove unused macro.
 +      (update_frame_menubar): Remove unused decl.
  
 -      * term.c (tty_default_color_capabilities): Declare static
 -      variables in file scope, to avoid HPUX compiler problem.
 +      * xfns.c (Fx_hide_tip): Move locals to avoid shadowing.
  
 -2007-08-13  Jan Djärv  <jan.h.d@swipnet.se>
 +      * menu.c (push_submenu_start, push_submenu_end): Do not define unless
 +      USE_X_TOOLKIT || USE_GTK || HAVE_NS || defined HAVE_NTGUI.
 +      (single_menu_item): Rename local to avoid shadowing.
  
 -      * gtkutil.c (update_frame_tool_bar): Use -1 as index
 -      to gtk_toolbar_insert.
 +      * keyboard.c (make_lispy_event): Remove unused local var.
  
 -2007-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * frame.c, frame.h (x_get_resource_string): Bring this back, but
 +      only if HAVE_X_WINDOWS && !USE_X_TOOLKIT.
  
 -      * fileio.c (Finsert_file_contents): Yet Another Int/Lisp_Object Mixup.
 +      * bitmaps: Change bitmaps from unsigned char back to the X11
 +      compatible char.  Avoid the old compiler warnings about
 +      out-of-range initializers by using, for example, '\xab' rather
 +      than 0xab.
  
 -      * 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.
 +      * xgselect.c (xgselect_initialize): Check vs interface
 +      even if ! (defined (USE_GTK) || defined (HAVE_GCONF)).
  
 -2007-08-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * xmenu.c (xmenu_show): Rename parm to avoid shadowing.
  
 -      * xterm.c (x_draw_image_glyph_string): Adjust stipple origin when
 -      filling pixmap with stippled background.
 +      * xterm.c (x_create_toolkit_scroll_bar): Use const * for pointers
 +      to read-only memory.
  
 -2007-08-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * fns.c (vector): Remove; this old hack is no longer needed.
  
 -      * macterm.c [TARGET_API_MAC_CARBON] (mac_handle_window_event):
 -      Don't use invisible frame as parent window for repositioning.
 +      * xsmfns.c (create_client_leader_window): Rename shadowing arg.
 +      Remove unused var.
 +      (gdk_x11_set_sm_client_id) [!USE_GTK]: Don't define.
  
 -2007-08-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * xrdb.c (x_load_resources): Omit unused local.
  
 -      * 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.
 +      * xfns.c (free_frame_menubar, atof): Remove duplicate decls.
 +      (x_window): Rename locals to avoid shadowing.
 +      (USG): Use the kludged USG macro, to pacify gcc.
  
 -2007-08-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * xterm.c (x_alloc_nearest_color_for_widget): Remove; unused.
 +      (x_term_init): Remove local to avoid shadowing.
  
 -      * gmalloc.c (posix_memalign): New function.
 +      * xfns.c, xterm.c (_XEditResCheckMessages): Protoize decl.
  
 -      * 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.
 +      * xdisp.c, dispextern.h (set_vertical_scroll_bar): Now extern if
 +      USE_TOOLKIT_SCROLL_BARS && !USE_GTK, as xterm.c needs it then.
  
 -2007-08-08  Glenn Morris  <rgm@gnu.org>
 +2011-04-16  Eli Zaretskii  <eliz@gnu.org>
  
 -      * Replace `iff' in doc-strings and comments.
 +      * gnutls.c (Fgnutls_boot): Don't pass Lisp_Object to `error'.
  
 -2007-08-07  Chong Yidong  <cyd@stupidchicken.com>
 +      Fix regex.c, syntax.c and friends for buffers > 2GB.
 +      * syntax.h (struct gl_state_s): Declare character position members
 +      EMACS_INT.
  
 -      * xdisp.c (move_it_by_lines): Remove incorrect optimization.
 +      * syntax.c (update_syntax_table): Declare 2nd argument EMACS_INT.
  
 -2007-08-07  Martin Rudalics  <rudalics@gmx.at>
 +      * textprop.c (verify_interval_modification, interval_of):
 +      Declare arguments EMACS_INT.
  
 -      * 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.
 +      * intervals.c (adjust_intervals_for_insertion): Declare arguments
 +      EMACS_INT.
  
 -2007-08-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * intervals.h (CHECK_TOTAL_LENGTH): Cast to EMACS_INT, not `int'.
  
 -      * emacs.c (main)
 -      [HAVE_GTK_AND_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
 -      Call malloc_enable_thread on interactive startup.
 +      * indent.c (Fvertical_motion): Local variable it_start is now
 +      EMACS_INT.
  
 -      * 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.
 +      * regex.c (re_match, re_match_2, re_match_2_internal)
 +      (bcmp_translate, regcomp, regexec, print_double_string)
 +      (group_in_compile_stack, re_search, re_search_2, regex_compile)
 +      (re_compile_pattern, re_exec): Declare arguments and local
 +      variables `size_t' and `ssize_t' and return values `regoff_t', as
 +      appropriate.
 +      (POP_FAILURE_REG_OR_COUNT) <pfreg>: Declare `long'.
 +      (CHECK_INFINITE_LOOP) <failure>: Declare `ssize_t'.
 +      <compile_stack_type>: `size' and `avail' are now `size_t'.
  
 -2007-08-06  Chong Yidong  <cyd@stupidchicken.com>
 +      * regex.h <regoff_t>: Use ssize_t, not int.
 +      (re_search, re_search_2, re_match, re_match_2): Arguments that
 +      specify buffer/string position and length are now ssize_t and
 +      size_t.  Return type is regoff_t.
  
 -      * xdisp.c (redisplay_window): When restoring original buffer
 -      position, make sure it is still valid.
 +2011-04-16  Ben Key  <bkey76@gmail.com>
  
 -      * image.c (png_load): Ignore png-supplied background color.
 +      * nsfont.m: Fixed bugs in ns_get_family and
 +      ns_descriptor_to_entity that were caused by using free to
 +      deallocate memory blocks that were allocated by xmalloc (via
 +      xstrdup).  This caused Emacs to crash when compiled with
 +      XMALLOC_OVERRUN_CHECK defined (when Emacs was configured with
 +      --enable-checking=xmallocoverrun).  xfree is now used to
 +      deallocate these memory blocks.
 +
 +2011-04-15  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * sysdep.c (emacs_read): Remove unnecessary check vs MAX_RW_COUNT.
 +
 +      emacs_write: Accept and return EMACS_INT for sizes.
 +      See http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00514.html
 +      et seq.
 +      * gnutls.c, gnutls.h (emacs_gnutls_read, emacs_gnutls_write):
 +      Accept and return EMACS_INT.
 +      (emacs_gnutls_write): Return the number of bytes written on
 +      partial writes.
 +      * sysdep.c, lisp.h (emacs_read, emacs_write): Likewise.
 +      (emacs_read, emacs_write): Remove check for negative size, as the
 +      Emacs source code has been audited now.
 +      * sysdep.c (MAX_RW_COUNT): New macro, to work around kernel bugs.
 +      (emacs_read, emacs_write): Use it.
 +      * process.c (send_process): Adjust to the new signatures of
 +      emacs_write and emacs_gnutls_write.  Do not attempt to store
 +      a byte offset into an 'int'; it might overflow.
 +      See http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00483.html
 +
 +      * sound.c: Don't assume sizes fit in 'int'.
 +      (struct sound_device.period_size, alsa_period_size):
 +      Return EMACS_INT, not int.
 +      (struct sound_device.write, vox_write, alsa_write):
 +      Accept EMACS_INT, not int.
 +      (wav_play, au_play): Use EMACS_INT to store sizes and to
 +      record read return values.
 +
 +2011-04-15  Ben Key  <bkey76@gmail.com>
 +
 +      * keyboard.c (Qundefined): Don't declare static since it is used
 +      in nsfns.m.
 +      * xfaces.c (Qbold, Qexpanded, Qitalic, Qcondensed): Don't declare
 +      static since they are used in nsfont.m.
 +
 +2011-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * process.c (Qprocessp): Don't declare static.
 +      * lisp.h (Qprocessp): Declare again.
 +
 +2011-04-15  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * font.c (Qopentype): Don't make static (used from w32uniscribe.c).
 +
 +2011-04-14  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Improve C-level modularity by making more things 'static'.
 +
 +      Don't publish debugger-only interfaces to other modules.
 +      * lisp.h (safe_debug_print, debug_output_compilation_hack):
 +      (verify_bytepos, count_markers): Move decls to the only modules
 +      that need them.
 +      * region-cache.h (pp_cache): Likewise.
 +      * window.h (check_all_windows): Likewise.
 +      * marker.c, print.c, region-cache.c, window.c: Decls moved here.
 +
 +      * sysdep.c (croak): Now static, if
 +      defined TIOCNOTTY || defined USG5 || defined CYGWIN.
 +      * syssignal.h (croak): Declare only if not static.
 +
 +      * alloc.c (refill_memory_reserve): Now static if
 +      !defined REL_ALLOC || defined SYSTEM_MALLOC.
 +      * lisp.h (refill_memory_reserve): Declare only if not static.
 +
 +      * xsettings.c, xsettings.h (xsettings_get_system_normal_font):
 +      Define only if USE_LUCID.
 +
 +      * xrdb.c (x_customization_string, x_rm_string): Now static.
 +
 +      * xmenu.c (x_menu_wait_for_event): Export only if USE_MOTIF.
 +      * xterm.h (x_menu_wait_for_event): Declare only if USE_MOTIF.
 +
 +      * xdisp.c (draw_row_with_mouse_face): Now static.
 +      * dispextern.h (draw_row_with_mouse_fave): Remove decl.
 +
 +      * window.h (check_all_windows): Mark externally visible.
 +
 +      * window.c (window_deletion_count): Now static.
 +
 +      * undo.c: Make symbols static if they're not exported.
 +      (last_undo_buffer, last_boundary_position, pending_boundary):
 +      Now static.
  
 -2007-08-06  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * textprop.c (interval_insert_behind_hooks): Now static.
 +      (interval_insert_in_front_hooks): Likewise.
 +
 +      * term.c: Make symbols static if they're not exported.
 +      (tty_turn_off_highlight, get_tty_terminal, max_frame_cols):
 +      (max_frame_lines, tty_set_terminal_modes):
 +      (tty_reset_terminal_modes, tty_turn_off_highlight):
 +      (get_tty_terminal): Now static.
 +      (term_mouse_moveto): Do not define if HAVE_WINDOW_SYSTEM.
 +      * termhooks.h (term_mouse_moveto): Do not declare if
 +      HAVE_WINDOW_SYSTEM.
 +      * dispextern.h (tty_set_terminal_modes, tty_reset_terminal_modes):
 +      (tty_turn_off_highlight, get_tty_terminal): Remove decls.
 +
 +      * sysdep.c: Make symbols static if they're not exported.
 +      (emacs_get_tty, emacs_set_tty, old_fcntl_flags, old_fcntl_owner):
 +      Now static.
 +      (sigprocmask_set, full_mask): Remove; unused.
 +      (wait_debugging): Mark as visible.
 +      * syssignal.h (SIGFULLMASK, full_mask): Remove decls.
 +      * systty.h (emacs_get_tty, emacs_set_tty): Remove decls.
 +
 +      * syntax.c (syntax_temp): Define only if !__GNUC__.
 +
 +      * sound.c (current_sound_device, current_sound): Now static.
 +
 +      * search.c (searchbufs, searchbuf_head): Now static.
 +
 +      * scroll.c (scroll_cost): Remove; unused.
 +      * dispextern.h (scroll_cost): Remove decl.
 +
 +      * region-cache.h (pp_cache): Mark as externally visible.
 +
 +      * process.c: Make symbols static if they're not exported.
 +      (process_tick, update_tick, create_process, chan_process):
 +      (Vprocess_alist, proc_buffered_char, datagram_access):
 +      (fd_callback_data, send_process_frame, process_sent_to): Now static.
 +      (deactivate_process): Mark defn as static, as well as decl.
 +      * lisp.h (create_process): Remove decl.
 +      * process.h (chan_process, Vprocess_alist): Remove decls.
 +
 +      * print.c: Make symbols static if they're not exported.
 +      (print_depth, new_backquote_output, being_printed, print_buffer):
 +      (print_buffer_size, print_buffer_pos, print_buffer_pos_byte):
 +      (print_interval, print_number_index, initial_stderr_stream):
 +      Now static.
 +      * lisp.h (Fprinc): Remove decl.
 +      (debug_output_compilation_hack): Mark as externally visible.
 +
 +      * sysdep.c (croak): Move decl from here to syssignal.h.
 +      * syssignal.h (croak): Put it here, so the API can be checked when
 +      'croak' is called from dissociate_if_controlling_tty.
 +
 +      * minibuf.c: Make symbols static if they're not exported.
 +      (minibuf_save_list, choose_minibuf_frame): Now static.
 +      * lisp.h (choose_minibuf_frame): Remove decl.
 +
 +      * lisp.h (verify_bytepos, count_markers): Mark as externally visible.
 +
 +      * lread.c: Make symbols static if they're not exported.
 +      (read_objects, initial_obarray, oblookup_last_bucket_number):
 +      Now static.
 +      (make_symbol): Remove; unused.
 +      * lisp.h (initial_obarray, make_symbol): Remove decls.
 +
 +      * keyboard.c: Make symbols static if they're not exported.
 +      (single_kboard, recent_keys_index, total_keys, recent_keys):
 +      (this_command_key_count_reset, raw_keybuf, raw_keybuf_count):
 +      (this_single_command_key_start, echoing, last_auto_save):
 +      (read_key_sequence_cmd, dribble, recursive_edit_unwind):
 +      (command_loop, echo_now, keyboard_init_hook, help_char_p):
 +      (quit_throw_to_read_char, command_loop_2, top_level_1, poll_timer):
 +      (Vlispy_mouse_stem, double_click_count):
 +      Now static.
 +      (force_auto_save_soon): Define only if SIGDANGER.
 +      (ignore_mouse_drag_p): Now static if
 +      !defined HAVE_WINDOW_SYSTEM || defined USE_GTK || defined HAVE_NS.
 +      (print_help): Remove; unused.
 +      (stop_character, last_timer_event): Mark as externally visible.
 +      * keyboard.h (ignore_mouse_drag_p): Declare only if
 +      defined HAVE_WINDOW_SYSTEM && !defined USE_GTK && !defined HAVE_NS.
 +      (echo_now, help_char_p, quit_throw_to_read_char): Remove decls.
 +      * lisp.h (echoing): Remove decl.
 +      (force_auto_save_soon): Declare only if SIGDANGER.
 +      * xdisp.c (redisplay_window): Simplify code, to make it more
 +      obvious that ignore_mouse_drag_p is not accessed if !defined
 +      USE_GTK && !defined HAVE_NS.
 +
 +      * intervals.c: Make symbols static if they're not exported.
 +      (merge_properties_sticky, merge_interval_right, delete_interval):
 +      Now static.
 +      * intervals.h (merge_interval_right, delete_interval): Remove decls.
 +
 +      * insdel.c: Make symbols static if they're not exported.
 +      However, leave prepare_to_modify_buffer alone.  It's never
 +      called from outside this function, but that appears to be a bug.
 +      (combine_after_change_list, combine_after_change_buffer):
 +      (adjust_after_replace, signal_before_change): Now static.
 +      (adjust_after_replace_noundo): Remove; unused.
 +      * lisp.h (adjust_after_replace, adjust_after_replace_noundo):
 +      (signal_before_change): Remove decls.
 +
 +      * indent.c (val_compute_motion, val_vmotion): Now static.
 +
 +      * image.c: Make symbols static if they're not exported.
 +      * dispextern.h (x_create_bitmap_from_xpm_data): Do not declare
 +      if USE_GTK.
 +      * image.c (x_create_bitmap_from_xpm_data): Do not define if USE_GTK.
 +      (xpm_color_cache, ct_table, ct_colors_allocated): Now static.
 +
 +      * fringe.c (standard_bitmaps): Now static.
 +      (max_used_fringe_bitmap): Now static, unless HAVE_NS.
 +
 +      * frame.c: Make symbols static if they're not exported.
 +      (x_report_frame_params, make_terminal_frame): Now static.
 +      (get_frame_param): Now static, unless HAVE_NS.
 +      (x_fullscreen_adjust): Define if WINDOWSNT, not if HAVE_WINDOW_SYSTEM.
 +      (x_get_resource_string): Remove; not used.
 +      * frame.h (make_terminal_frame, x_report_frame_params):
 +      (x_get_resource_string); Remove decls.
 +      (x_fullscreen_adjust): Declare only if WINDOWSNT.
 +      * lisp.h (get_frame_param): Declare only if HAVE_NS.
 +
 +      * font.c, fontset.c: Make symbols static if they're not exported.
 +      * dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P): New macro.
 +      (FACE_SUITABLE_FOR_CHAR_P): Use it.
 +      * font.c (font_close_object): Now static.
 +      * font.h (font_close_object): Remove.
 +      * fontset.c (FONTSET_OBJLIST): Remove.
 +      (free_realized_fontset) #if-0 the body, which does nothing.
 +      (face_suitable_for_char_p): #if-0, as it's never called.
 +      * fontset.h (face_suitable_for_char_p): Remove decl.
 +      * xfaces.c (face_at_string_position):
 +      Use FACE_SUITABLE_FOR_ASCII_CHAR_P, not FACE_SUITABLE_FOR_CHAR_P,
 +      since 0 is always ASCII.
 +
 +      * fns.c (weak_hash_tables): Now static.
 +
 +      * fileio.c: Make symbols static if they're not exported.
 +      (auto_saving, auto_save_mode_bits, auto_save_error_occurred):
 +      (Vwrite_region_annotation_buffers): Now static.
 +
 +      * eval.c: Make symbols static if they're not exported.
 +      (backtrace_list, lisp_eval_depth, when_entered_debugger): Now static.
 +      * lisp.h (backtrace_list): Remove decl.
 +
 +      * emacs.c: Make symbols static if they're not exported.
 +      (malloc_state_ptr, malloc_using_checking, syms_of_emacs):
 +      (fatal_error_code, fatal_error_signal_hook, standard_args):
 +      Now static.
 +      (fatal_error_signal): Now static, unless FLOAT_CATCH_SIGKILL.
 +      (DEFINE_DUMMY_FUNCTION): Mark function as externally visible.
 +      (__CTOR_LIST__, __DTOR_LIST__): Now externally visible.
 +      * lisp.h (fatal_error_signal_hook): Remove decl.
 +      (fatal_error_signal): Declare only if FLOAT_CATCH_SIGKILL.
 +
 +      * editfns.c: Move a (normally-unused) function to its only use.
 +      * editfns.c, lisp.h (get_operating_system_release): Remove.
 +      * process.c (init_process) [DARWIN_OS]: Do it inline, as it is not
 +      worth the hassle of breaking this out.
 +
 +      * xterm.c: Make symbols static if they're not exported.
 +      (x_raise_frame, x_lower_frame, x_wm_set_window_state):
 +      (x_wm_set_icon_pixmap, x_initialize, XTread_socket_fake_io_error):
 +      (x_destroy_window, x_delete_display):
 +      Now static.
 +      (x_dispatch_event): Now static if ! (USE_MOTIF || USE_X_TOOLKIT).
 +      (x_mouse_leave): Remove; unused.
 +      * xterm.h (x_display_info_for_name, x_raise_frame, x_lower_frame):
 +      (x_destroy_window, x_wm_set_window_state, x_wm_set_icon_pixmap):
 +      (x_delete_display, x_initialize, x_set_border_pixel, x_screen_planes):
 +      Remove decls.
 +      (x_mouse_leave): Declare only if WINDOWSNT.
 +      (x_dispatch_event): Declare only if USE_MOTIF or USE_X_TOOLKIT.
 +      (xic_create_fontsetname): Declare only if HAVE_X_WINDOWS &&
 +      USE_X_TOOLKIT.
 +
 +      * ftxfont.c: Make symbols static if they're not exported.
 +      (ftxfont_driver): Export only if !defined HAVE_XFT && def8ined
 +      HAVE_FREETYPE.
 +      * font.h (ftxfont_driver): Likewise.
 +
 +      * xfns.c: Make symbols static if they're not exported.
 +      (x_last_font_name, x_display_info_for_name):
 +      (x_set_foreground_color, x_set_background_color, x_set_mouse_color):
 +      (x_set_cursor_color, x_set_border_pixel, x_set_border_color):
 +      (x_set_cursor_type, x_set_icon_type, x_set_icon_name):
 +      (x_set_scroll_bar_foreground, x_set_scroll_bar_background):
 +      (x_explicitly_set_name, x_set_title, xic_defaut_fontset, tip_timer):
 +      (last_show_tip_args): Now static.
 +      (xic_defaut_fontset, xic_create_fontsetname): Define only if
 +      defined HAVE_X_WINDOWS && defined USE_X_TOOLKIT
 +      (x_screen_planes): Remove; unused.
 +      * dispextern.h (x_screen_planes): Remove decl.
 +
 +      * dispnew.c: Make symbols static if they're not exported.
 +      * dispextern.h (redraw_garbaged_frames, scrolling):
 +      (increment_row_positions): Remove.
 +      * dispnew.c (new_glyph_matrix, increment_row_positions, scrolling):
 +      (delayed_size_change, glyph_matrix_count, glyph_pool_count):
 +      Now static.
 +      (redraw_garbaged_frames): Remove; unused.
 +
 +      * xfaces.c: Make symbols static if they're not exported.
 +      * dispextern.h (ascii_face_of_lisp_face, free_realized_face):
 +      Remove decls.
 +      * xterm.h (defined_color): Remove decls.
 +      (x_free_dpy_colors): Declare only if USE_X_TOOLKIT.
 +      * xfaces.c (tty_suppress_bold_inverse_default_colors_p):
 +      (menu_face_changed_default, defined_color, free_realized_face):
 +      (x_free_dpy_colors): Define only if USE_X_TOOLKIT.
 +      (ascii_face_of_lisp_face): Remove; unused.
 +
 +      * xdisp.c: Make symbols static if they're not exported.
 +      * dispextern.h (scratch_glyph_row, window_box_edges):
 +      (glyph_to_pixel_coords, set_cursor_from_row):
 +      (get_next_display_element, set_iterator_to_next):
 +      (highlight_trailing_whitespace, frame_to_window_pixel_xy):
 +      (show_mouse_face): Remove decls
 +      * frame.h (message_buf_print): Likewise.
 +      * lisp.h (pop_message, set_message, check_point_in_composition):
 +      Likewise.
 +      * xterm.h (set_vertical_scroll_bar): Likewise.
 +      * xdisp.c (list_of_error, Vmessage_stack, line_number_displayed):
 +      (message_buf_print, scratch_glyph_row, displayed_buffer):
 +      (set_iterator_to_next, pop_message, set_message, set_cursor_from_row):
 +      (get_next_display_element, show_mouse_face, window_box_edges):
 +      (frame_to_window_pixel_xy, check_point_in_composition):
 +      (set_vertical_scroll_bar, highlight_trailing_whitespace): Now static.
 +      (glyph_to_pixel_coords): Remove; unused.
 +
 +      * dired.c (file_name_completion): Now static.
 +
 +      * dbusbind.c (xd_in_read_queued_messages): Now static.
 +
 +      * lisp.h (circular_list_error, FOREACH): Remove; unused.
 +      * data.c (circular_list_error): Remove.
 +
 +      * commands.h (last_point_position, last_point_position_buffer):
 +      (last_point_position_window): Remove decls.
 +      * keyboard.c: Make these variables static.
 +
 +      * coding.h (coding, code_convert_region, encode_coding_gap):
 +      Remove decls.
 +      * coding.c (Vsjis_coding_system, Vbig5_coding_system):
 +      (iso_code_class, detect_coding, code_convert_region): Now static.
 +      (encode_coding_gap): Remove; unused.
 +
 +      * chartab.c (chartab_chars, chartab_bits): Now static.
 +
 +      * charset.h (charset_iso_8859_1): Remove decl.
 +      * charset.c (charset_iso_8859_1, charset_emacs, map_charset_for_dump):
 +      Now static.
 +
 +      * ccl.h (check_ccl_update, Vccl_program_table): Remove decls.
 +      * ccl.c (Vccl_program_table): Now static.
 +      (check_ccl_update): Remove; unused.
 +
 +      * category.c (SET_CATEGORY_SET, set_category_set): Move here.
 +      * category.h: ... from here.
 +      * category.c (check_category_table, set_category_set): Now static.
 +
 +      * casetab.c (Vascii_upcase_table, Vascii_eqv_table): Now static.
 +      * lisp.h: Remove these decls.
 +
 +      * buffer.c (buffer_count): Remove unused var.
 +
 +      * bidi.c (bidi_dump_cached_states): Mark as externally visible,
 +      so that it's not optimized away.
 +      (bidi_ignore_explicit_marks_for_paragraph_level): Likewise.
 +      * dispextern.h (bidi_dump_cached_states): Remove, since it's
 +      exported only to the debugger.
 +
 +      * atimer.c (alarm_signal_handler, run_all_atimers): Now static.
 +      * atimer.h (run_all_atimers): Remove; not exported.
 +
 +      font.c: Make copy_font_spec and merge_font_spec ordinary C functions.
 +      * font.c (copy_font_spec): Rename from Fcopy_font_spec, since it
 +      was inaccessible from Lisp.
 +      (merge_font_spec): Likewise, renaming from Fmerge_font_spec.
 +      * font.c, font.h, fontset.c, xfaces.c, xfont.c: Change all uses.
 +
 +      alloc.c: Import and export fewer symbols, and remove unused items.
 +      * lisp.h (suppress_checking, die): Declare only if ENABLE_CHECKING
 +      is defined.
 +      (suppress_checking): Add EXTERNALLY_VISIBLE attribute, so that
 +      it's not optimized away by whole-program optimization.
 +      (message_enable_multibyte, free_misc): Remove.
 +      (catchlist, handlerlist, mark_backtrace):
 +      Declare only if BYTE_MARK_STACK.
 +      (mark_byte_stack): Likewise, fixing a ifdef-vs-if typo.
 +      * alloc.c (pure): Export only if VIRT_ADDR_VARIES is defined.
 +      (message_enable_multibyte): Remove decl.
 +      (free_misc, interval_free_list, float_block, float_block_index):
 +      (n_float_blocks, float_free_list, cons_block, cons_block_index):
 +      (cons_free_list, last_marked_index):
 +      Now static.
 +      (suppress_checking, die): Define only if ENABLE_CHECKING is defined.
 +      * eval.c (catchlist, handlerlist): Export only if BYTE_MARK_STACK.
 +      (mark_backtrace): Define only if BYTE_MARK_STACK.
 +      * xdisp.c (message_enable_multibyte): Now static.
 +
 +      Declare Lisp_Object Q* variables to be 'static' if not exported.
 +      This makes it easier for human readers (and static analyzers)
 +      to see whether these variables are used from other modules.
 +      * alloc.c, buffer.c, bytecode.c, callint.c, casetab.c, category.c:
 +      * ccl.c, character.c, charset.c, cmds.c, coding.c, composite.c:
 +      * data.c, dbusbind.c, dired.c, editfns.c, eval.c, fileio.c, fns.c:
 +      * font.c, frame.c, fringe.c, ftfont.c, image.c, keyboard.c, keymap.c:
 +      * lread.c, macros.c, minibuf.c, print.c, process.c, search.c:
 +      * sound.c, syntax.c, textprop.c, window.c, xdisp.c, xfaces.c, xfns.c:
 +      * xmenu.c, xselect.c:
 +      Declare Q* vars static if they are not used in other modules.
 +      * ccl.h, character.h, charset.h, coding.h, composite.h, font.h:
 +      * frame.h, intervals.h, keyboard.h, lisp.h, process.h, syntax.h:
 +      Remove decls of unexported vars.
 +      * keyboard.h (EVENT_HEAD_UNMODIFIED): Remove now-unused macro.
 +
 +      * lisp.h (DEFINE_FUNC): Make sname 'static'.
 +
 +      Make Emacs functions such as Fatom 'static' by default.
 +      This makes it easier for human readers (and static analyzers)
 +      to see whether these functions can be called from other modules.
 +      DEFUN now defines a static function.  To make the function external
 +      so that it can be used in other C modules, use the new macro DEFUE.
 +      * lisp.h (Funibyte_char_to_multibyte, Fsyntax_table_p):
 +      (Finit_image_library):
 +      (Feval_region, Fbacktrace, Ffetch_bytecode, Fswitch_to_buffer):
 +      (Ffile_executable_p, Fmake_symbolic_link, Fcommand_execute):
 +      (Fget_process, Fdocumentation_property, Fbyte_code, Ffile_attributes):
 +      Remove decls, since these functions are now static.
 +      (Funintern, Fget_internal_run_time): New decls, since these functions
 +      were already external.
 +
 +      * alloc.c, buffer.c, callint.c, callproc.c, casefiddle.c, casetab.c:
 +      * ccl.c, character.c, chartab.c, cmds.c, coding.c, data.c, dispnew.c:
 +      * doc.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, floatfns.c:
 +      * fns.c, font.c, fontset.c, frame.c, image.c, indent.c:
 +      * keyboard.c, keymap.c, lread.c:
 +      * macros.c, marker.c, menu.c, minibuf.c, print.c, process.c, search.c:
 +      * syntax.c, term.c, terminal.c, textprop.c, undo.c:
 +      * window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xsettings.c:
 +      Mark functions with DEFUE instead of DEFUN,
 +      if they are used in other modules.
 +      * buffer.c (Fset_buffer_major_mode, Fdelete_overlay): New forward
 +      decls for now-static functions.
 +      * buffer.h (Fdelete_overlay): Remove decl.
 +      * callproc.c (Fgetenv_internal): Mark as internal.
 +      * composite.c (Fremove_list_of_text_properties): Remove decl.
 +      (Fcomposition_get_gstring): New forward static decl.
 +      * composite.h (Fcomposite_get_gstring): Remove decl.
 +      * dired.c (Ffile_attributes): New forward static decl.
 +      * doc.c (Fdocumntation_property): New forward static decl.
 +      * eval.c (Ffetch_bytecode): New forward static decl.
 +      (Funintern): Remove extern decl; now in .h file where it belongs.
 +      * fileio.c (Fmake_symbolic_link): New forward static decl.
 +      * image.c (Finit_image_library): New forward static decl.
 +      * insdel.c (Fcombine_after_change_execute): Make forward decl static.
 +      * intervals.h (Fprevious_property_change):
 +      (Fremove_list_of_text_properties): Remove decls.
 +      * keyboard.c (Fthis_command_keys): Remove decl.
 +      (Fcommand_execute): New forward static decl.
 +      * keymap.c (Flookup_key): New forward static decl.
 +      (Fcopy_keymap): Now static.
 +      * keymap.h (Flookup_key): Remove decl.
 +      * process.c (Fget_process): New forward static decl.
 +      (Fprocess_datagram_address): Mark as internal.
 +      * syntax.c (Fsyntax_table_p): New forward static decl.
 +      (skip_chars): Remove duplicate decl.
 +      * textprop.c (Fprevious_property_change): New forward static decl.
 +      * window.c (Fset_window_fringes, Fset_window_scroll_bars):
 +      Now internal.
 +      (Fset_window_margins, Fset_window_vscroll): New forward static decls.
 +      * window.h (Fset_window_vscroll, Fset_window_margins): Remove decls.
 +
 +      * editfns.c (Fformat): Remove unreachable code.
 +
 +2011-04-14  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * fileio.c (Finsert_file_contents): Fix typo in 2005-05-13
 +      change.  (Bug#8496)
 +
 +2011-04-13  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * xdisp.c (handle_invisible_prop): Don't call bidi_paragraph_init
 +      when at ZV.  (Bug#8487)
 +
 +2011-04-12  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * charset.c (Fclear_charset_maps): Use xfree instead of free.
 +      (Bug#8437)
 +      * keyboard.c (parse_tool_bar_item): Likewise.
 +      * sound.c (sound_cleanup, alsa_close): Likewise.
 +      * termcap.c (tgetent): Likewise.
 +      * xfns.c (x_default_font_parameter): Likewise.
 +      * xsettings.c (read_and_apply_settings): Likewise.
 +
 +      * alloc.c (overrun_check_malloc, overrun_check_realloc)
 +      (overrun_check_free): Protoize.
 +
 +2011-04-12  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * sysdep.c (emacs_read, emacs_write): Check for negative sizes
 +      since callers should never pass a negative size.
 +      Change the signature to match that of plain 'read' and 'write'; see
 +      <http://lists.gnu.org/archive/html/emacs-devel/2011-04/msg00397.html>.
 +      * lisp.h: Update prototypes of emacs_write and emacs_read.
 +
 +2011-04-11  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * xdisp.c (redisplay_window): Don't try to determine the character
 +      position of the scroll margin if the window start point w->startp
 +      is outside the buffer's accessible region.  (Bug#8468)
 +
 +2011-04-10  Eli Zaretskii  <eliz@gnu.org>
 +
 +      Fix write-region and its subroutines for buffers > 2GB.
 +      * fileio.c (a_write, e_write): Modify declaration of arguments and
 +      local variables to support buffers larger than 2GB.
 +      (Fcopy_file): Use EMACS_INT for return value of emacs_read.
 +
 +      * sysdep.c (emacs_write, emacs_read): Use ssize_t for last
 +      argument, local variables, and return value.
 +
 +      * lisp.h: Update prototypes of emacs_write and emacs_read.
 +
 +      * sound.c (vox_write): Use ssize_t for return value of emacs_write.
 +
 +2011-04-10  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * xdisp.c (vmessage): Use memchr, not strnlen, which some hosts lack.
 +
 +      Fix more problems found by GCC 4.6.0's static checks.
 +
 +      * xdisp.c (vmessage): Use a better test for character truncation.
 +
 +      * charset.c (load_charset_map): <, not <=, for optimization,
 +      and to avoid potential problems with integer overflow.
 +      * chartab.c (sub_char_table_set_range, char_table_set_range): Likewise.
 +      * casetab.c (set_identity, shuffle): Likewise.
 +      * editfns.c (Fformat): Likewise.
 +      * syntax.c (skip_chars): Likewise.
 +
 +      * xmenu.c (set_frame_menubar): Allocate smaller local vectors.
 +      This also lets GCC 4.6.0 generate slightly better loop code.
 +
 +      * callint.c (Fcall_interactively): <, not <=, for optimization.
 +      (Fcall_interactively): Count the number of arguments produced,
 +      not the number of arguments given.  This is simpler and lets GCC
 +      4.6.0 generate slightly better code.
 +
 +      * ftfont.c: Distingish more carefully between FcChar8 and char.
 +      The previous code passed unsigned char * to a functions like
 +      strlen and xstrcasecmp that expect char *, which does not
 +      conform to the C standard.
 +      (get_adstyle_property, ftfont_pattern_entity): Use FcChar8 for
 +      arguments to FcPatternGetString, and explicitly cast FcChar8 * to
 +      char * when the C standard requires it.
  
 -      * mac.c [TARGET_API_MAC_CARBON] (cfdate_to_lisp): Obtain microsec value.
 -      Use kCFAbsoluteTimeIntervalSince1970.
 +      * keyboard.c (read_char): Remove unused var.
  
 -      * 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.
 +      * eval.c: Port to Windows vsnprintf (Bug#8435).
 +      Include <limits.h>.
 +      (SIZE_MAX): Define if the headers do not.
 +      (verror): Do not give up if vsnprintf returns a negative count.
 +      Instead, grow the buffer.  This ports to Windows vsnprintf, which
 +      does not conform to C99.  Problem reported by Eli Zaretskii.
 +      Also, simplify the allocation scheme, by avoiding the need for
 +      calling realloc, and removing the ALLOCATED variable.
  
 -      * 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.
 +      * eval.c (verror): Initial buffer size is 4000 (not 200) bytes.
  
 -2007-08-04  Jan Djärv  <jan.h.d@swipnet.se>
 +      Remove invocations of doprnt, as Emacs now uses vsnprintf.
 +      But keep the doprint source code for now, as we might revamp it
 +      and use it again (Bug#8435).
 +      * lisp.h (doprnt): Remove.
 +      * Makefile.in (base_obj): Remove doprnt.o.
 +      * deps.mk (doprnt.o): Remove.
  
 -      * gtkutil.c (xg_tool_bar_callback): Generate two TOOL_BAR_EVENT:s,
 -      add comment explaining why.
 +      error: Print 32- and 64-bit integers portably (Bug#8435).
 +      Without this change, on typical 64-bit hosts error ("...%d...", N)
 +      was used to print both 32- and 64-bit integers N, which relied on
 +      undefined behavior.
 +      * lisp.h, src/m/amdx86-64.h, src/m/ia64.h, src/m/ibms390x.h (pEd):
 +      New macro.
 +      * lisp.h (error, verror): Mark as printf-like functions.
 +      * eval.c (verror): Use vsnprintf, not doprnt, to do the real work.
 +      Report overflow in size calculations when allocating printf buffer.
 +      Do not truncate output string at its first null byte.
 +      * xdisp.c (vmessage): Use vsnprintf, not doprnt, to do the real work.
 +      Truncate the output at a character boundary, since vsnprintf does not
 +      do that.
 +      * charset.c (check_iso_charset_parameter): Convert internal
 +      character to string before calling 'error', since %c now has the
 +      printf meaning.
 +      * coding.c (Fdecode_sjis_char, Fdecode_big5_char): Avoid int
 +      overflow when computing char to be passed to 'error'.  Do not
 +      pass Lisp_Object to 'error'; pass the integer instead.
 +      * nsfns.m (Fns_do_applescript): Use int, not long, since it's
 +      formatted with plain %d.
  
 -2007-08-03  Richard Stallman  <rms@gnu.org>
 +      * eval.c (internal_lisp_condition_case): Don't pass spurious arg.
  
 -      * fileio.c (Fvisited_file_modtime): Use make_time.
 +      * keyboard.c (access_keymap_keyremap): Print func name, not garbage.
  
 -2007-08-01  Ryo Yoshitake  <ryo@shiftmode.net>  (tiny change)
 +      * coding.c (Fdecode_sjis_char): Don't assume CODE fits in int.
  
 -      * mac.c (init_mac_osx_environment): Adjust load-path on self-contained
 -      build.
 +      * xterm.c (x_catch_errors): Remove duplicate declaration.
  
 -2007-07-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * term.c (maybe_fatal): Mark its 3rd arg as a printf format, too.
  
 -      * gtkutil.c (xg_tool_bar_callback): Generate a single TOOL_BAR_EVENT.
 +      * xdisp.c, lisp.h (message_nolog): Remove; unused.
  
 -2007-07-30  Katsumi Yamaoka  <yamaoka@jpl.org>
 +2011-04-10  Jim Meyering  <meyering@redhat.com>
  
 -      * puresize.h (BASE_PURESIZE): Increase to 1130000.
 +      use ssize_t and size_t for read- and write-like emacs_gnutls_* functions
 +      * gnutls.c (emacs_gnutls_read): Adjust signature to be more read-like:
 +      return ssize_t not "int", and use size_t as the buffer length.
 +      (emacs_gnutls_write): Likewise, and make the buffer pointer "const".
 +      * gnutls.h: Update declarations.
 +      * process.c (read_process_output): Use ssize_t, to match.
 +      (send_process): Likewise.
  
 -2007-07-30  Richard Stallman  <rms@gnu.org>
 +2011-04-09  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * lread.c (readevalloop, read1): Treat NBSP as whitespace.
 +      * image.c (Fimagemagick_types): Doc fix, and comment cleanup.
  
 -2007-07-29  Jan Djärv  <jan.h.d@swipnet.se>
 +2011-04-09  Chong Yidong  <cyd@stupidchicken.com>
 +
 +      * ftfont.c (get_adstyle_property, ftfont_pattern_entity):
 +      Use unsigned char, to match FcChar8 type definition.
  
 -      * gmalloc.c (__malloc_initialize): Remove pthread_once.  Not needed.
 +      * xterm.c (handle_one_xevent):
 +      * xmenu.c (create_and_show_popup_menu):
 +      * xselect.c (x_decline_selection_request)
 +      (x_reply_selection_request): Avoid type-punned deref of X events.
  
 -2007-07-28  Nick Roberts  <nickrob@snap.net.nz>
 +2011-04-09  Eli Zaretskii  <eliz@gnu.org>
  
 -      * xdisp.c (decode_mode_spec): Use '@' instead of 'R' to test for
 -      remote default-directory.
 +      Fix some uses of `int' instead of EMACS_INT.
 +      * search.c (string_match_1, fast_string_match)
 +      (fast_c_string_match_ignore_case, fast_string_match_ignore_case)
 +      (scan_buffer, find_next_newline_no_quit)
 +      (find_before_next_newline, search_command, Freplace_match)
 +      (Fmatch_data): Make some `int' variables be EMACS_INT.
  
 -      * buffer.c (mode-line-format): Update doc string.
 +      * xdisp.c (display_count_lines): 3rd argument and return value now
 +      EMACS_INT.  All callers changed.
 +      (pint2hrstr): Last argument is now EMACS_INT.
  
 -2007-07-27  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * coding.c (detect_coding_utf_8, detect_coding_emacs_mule)
 +      (detect_coding_iso_2022, detect_coding_sjis, detect_coding_big5)
 +      (detect_coding_ccl, detect_coding_charset, 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)
 +      <consumed_chars, consumed_chars_base>: Declare EMACS_INT.
 +      (decode_coding_iso_2022, decode_coding_emacs_mule)
 +      (decode_coding_sjis, decode_coding_big5, decode_coding_charset)
 +      <char_offset, last_offset>: Declare EMACS_INT.
 +      (encode_coding_utf_8, encode_coding_utf_16)
 +      (encode_coding_emacs_mule, encode_invocation_designation)
 +      (encode_designation_at_bol, encode_coding_iso_2022)
 +      (encode_coding_sjis, encode_coding_big5, encode_coding_ccl)
 +      (encode_coding_raw_text, encode_coding_charset) <produced_chars>:
 +      Declare EMACS_INT.
 +      (ASSURE_DESTINATION): Declare more_bytes EMACS_INT.
 +      (encode_invocation_designation): Last argument P_NCHARS is now
 +      EMACS_INT.
 +      (decode_eol): Declare pos_byte, pos, and pos_end EMACS_INT.
 +      (produce_chars): from_nchars and to_nchars are now EMACS_INT.
  
 -      * 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.
 +      * coding.h (struct coding_system) <head_ascii>: Declare EMACS_INT.
 +      All users changed.
  
 -      * w32term.h (struct scroll_bar): New member fringe_extended_p.
 -      (w32_fill_area): Enclose multiple statements with do ... while (0).
 +      * ccl.c (Fccl_execute_on_string): Declare some variables
 +      EMACS_INT.
  
 -      * 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.
 +2011-04-08  Samuel Thibault  <sthibault@debian.org>  (tiny change)
  
 -      * xterm.h (struct scroll_bar) [USE_TOOLKIT_SCROLL_BARS]:
 -      New member fringe_extended_p.
 +      * term.c (init_tty): Fix incorrect ifdef placement (Bug#8450).
  
 -2007-07-25  Glenn Morris  <rgm@gnu.org>
 +2011-03-19  Christoph Scholtes  <cschol2112@googlemail.com>
  
 -      * Relicense all FSF files to GPLv3 or later.
 +      * process.c (Fformat_network_address): Doc fix.
  
 -      * COPYING: Switch to GPLv3.
 +2011-04-08  T.V. Raman  <tv.raman.tv@gmail.com>  (tiny change)
  
 -2007-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * xml.c (parse_region): Avoid creating spurious whiespace nodes.
  
 -      * eval.c (Fcommandp): Pay attention to the `interactive-form' property.
 +2011-04-08  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * data.c (Finteractive_form): Check for the presence of an
 -      `interactive-form' symbol property more thoroughly.
 +      * keyboard.c (read_char): Call Lisp function help-form-show,
 +      instead of using internal_with_output_to_temp_buffer.
 +      (Qhelp_form_show): New var.
 +      (syms_of_keyboard): Use DEFSYM macro.
  
 -      * data.c (Finteractive_form): Use an `interactive-form' property if
 -      present, analogous to the function-documentation property.
 +      * print.c (internal_with_output_to_temp_buffer): Function deleted.
  
 -2007-07-24  Jason Rumney  <jasonr@gnu.org>
 +      * lisp.h (internal_with_output_to_temp_buffer): Remove prototype.
  
 -      * w32fns.c (x_real_positions): Get real position from OS instead of
 -      calculating it.
 +2011-04-06  Chong Yidong  <cyd@stupidchicken.com>
  
 -2007-07-23  Jason Rumney  <jasonr@gnu.org>
 +      * process.c (Flist_processes): Remove to Lisp.
 +      (list_processes_1): Delete.
  
 -      * filelock.c (current_lock_owner): Allow for @ sign in username.
 +2011-04-06  Eli Zaretskii  <eliz@gnu.org>
  
 -2007-07-22  Nick Roberts  <nickrob@snap.net.nz>
 +      * msdos.c (careadlinkat, careadlinkatcwd): MS-DOS replacements.
  
 -      * xdisp.c (decode_mode_spec): Add case 'R' for to test for
 -      remote default-directory.
 +      * w32.c (careadlinkat, careadlinkatcwd): New always-fail stubs.
  
 -      * buffer.c (mode-line-format): Describe above case in doc string.
 +2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2007-07-20  Eli Zaretskii  <eliz@gnu.org>
 +      Fix more problems found by GCC 4.6.0's static checks.
  
 -      * w32proc.c (IMAGE_NT_OPTIONAL_HDR32_MAGIC, IMAGE_OPTIONAL_HEADER32):
 -      Define if not defined.
 +      * xmenu.c (Fx_popup_dialog): Don't assume string is free of formats.
  
 -2007-07-18  Jason Rumney  <jasonr@gnu.org>
 +      * menu.c (Fx_popup_menu): Don't assume error_name lacks printf formats.
  
 -      * w32proc.c (w32_executable_type): Handle 64 bit executables.
 +      * lisp.h (message, message_nolog, fatal): Mark as printf-like.
  
 -2007-07-18  Richard Stallman  <rms@gnu.org>
 +      * xdisp.c (vmessage): Mark as a printf-like function.
  
 -      * data.c (Fsetq_default): Doc fix.
 +      * term.c (vfatal, maybe_fatal): Mark as printf-like functions.
  
 -      * eval.c (Fsetq): Doc fix.
 +      * sound.c (sound_warning): Don't crash if arg contains a printf format.
  
 -2007-07-18  Juanma Barranquero  <lekktu@gmail.com>
 +      * image.c (tiff_error_handler, tiff_warning_handler): Mark as
 +      printf-like functions.
 +      (tiff_load): Add casts to remove these marks before passing them
 +      to system-supplied API.
  
 -      * coding.c (Ffind_operation_coding_system):
 -      * eval.c (For, Fand): Doc fixes.
 -      Reported by Johan Bockgård.
 +      * eval.c (Fsignal): Remove excess argument to 'fatal'.
  
 -2007-07-18  Jan Djärv  <jan.h.d@swipnet.se>
 +      * coding.c (EMIT_ONE_BYTE, EMIT_TWO_BYTES): Use unsigned, not int.
 +      This avoids several warnings with gcc -Wstrict-overflow.
 +      (DECODE_COMPOSITION_RULE): If the rule is invalid, goto invalid_code
 +      directly, rather than having caller test rule sign.  This avoids
 +      some unnecessary tests.
 +      * composite.h (COMPOSITION_ENCODE_RULE_VALID): New macro.
 +      (COMPOSITION_ENCODE_RULE): Arguments now must be valid.  This
 +      affects only one use, in DECODE_COMPOSITION_RULE, which is changed.
  
 -      * xfns.c (Fx_focus_frame): Call x_ewmh_activate_frame.
 +      * xfont.c (xfont_text_extents): Remove var that was set but not used.
 +      (xfont_open): Avoid unnecessary tests.
  
 -      * xterm.h: Declare x_ewmh_activate_frame.
 +      * composite.c (composition_gstring_put_cache): Use unsigned integer.
  
 -      * xterm.c (x_ewmh_activate_frame): New function.
 -      (XTframe_raise_lower): Move code to x_ewmh_activate_frame.
 +      * composite.h, composite.c (composition_gstring_put_cache):
 +      Use EMACS_INT, not int, for length.
  
 -2007-07-17  Martin Rudalics  <rudalics@gmx.at>
 +      * composite.h (COMPOSITION_DECODE_REFS): New macro,
 +      breaking out part of COMPOSITION_DECODE_RULE.
 +      (COMPOSITION_DECODE_RULE): Use it.
 +      * composite.c (get_composition_id): Remove unused local vars,
 +      by using the new macro.
  
 -      * 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.
 +      * textprop.c (set_text_properties_1): Change while to do-while,
 +      since the condition is always true at first.
  
 -2007-07-17  Glenn Morris  <rgm@gnu.org>
 +      * intervals.c (graft_intervals_into_buffer): Mark var as used.
 +      (interval_deletion_adjustment): Return unsigned value.
 +      All uses changed.
  
 -      * 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.
 +      * process.c (list_processes_1, create_pty, read_process_output):
 +      (exec_sentinel): Remove vars that were set but not used.
 +      (create_pty): Remove unnecessary "volatile"s.
 +      (Fnetwork_interface_info): Avoid possibility of int overflow.
 +      (read_process_output): Do adaptive read buffering even if carryover.
 +      (read_process_output): Simplify nbytes computation if buffered.
  
 -2007-07-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * bytecode.c (exec_byte_code): Rename local to avoid shadowing.
  
 -      * process.c (Fstart_process, Fmake_network_process)
 -      (read_process_output): Fix up last changes.
 +      * syntax.c (scan_words): Remove var that was set but not used.
 +      (update_syntax_table): Use unsigned instead of int.
  
 -2007-07-16  Eli Zaretskii  <eliz@gnu.org>
 +      * lread.c (lisp_file_lexically_bound_p): Use ints rather than endptrs.
 +      (lisp_file_lexically_bound_p, read1): Use unsigned instead of int.
 +      (safe_to_load_p): Make the end-of-loop test the inverse of the in-loop.
  
 -      * makefile.w32-in (clean): Don't delete *~.
 +      * print.c (print_error_message): Avoid int overflow.
  
 -2007-07-16  Andreas Schwab  <schwab@suse.de>
 +      * font.c (font_list_entities): Redo for clarity,
 +      so that reader need not know FONT_DPI_INDEX + 1 == FONT_SPACING_INDEX.
  
 -      * window.c (Fdisplay_buffer): Use NILP.
 -      (Fset_window_scroll_bars): Likewise.
 +      * font.c (font_find_for_lface, Ffont_get_glyphs): Remove unused vars.
 +      (font_score): Avoid potential overflow in diff calculation.
  
 -2007-07-15  Martin Rudalics  <rudalics@gmx.at>
 +      * fns.c (substring_both): Remove var that is set but not used.
 +      (sxhash): Redo loop for clarity and to avoid wraparound warning.
  
 -      * 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.
 +      * eval.c (funcall_lambda): Rename local to avoid shadowing.
  
 -      * window.h: Add EXFUN for Fwindow_full_width_p.
 +      * alloc.c (mark_object_loop_halt, mark_object): Use size_t, not int.
 +      Otherwise, GCC 4.6.0 optimizes the loop check away since the check
 +      can always succeed if overflow has undefined behavior.
  
 -2007-07-14  Jason Rumney  <jasonr@gnu.org>
 +      * search.c (boyer_moore, wordify): Remove vars set but not used.
 +      (wordify): Omit three unnecessary tests.
  
 -      * process.c [WINDOWSNT]: Don't undefine AF_INET6.
 +      * indent.c (MULTIBYTE_BYTES_WIDTH): Don't compute wide_column.
 +      All callers changed.  This avoids the need for an unused var.
  
 -2007-07-14  Richard Stallman  <rms@gnu.org>
 +      * casefiddle.c (casify_region): Remove var that is set but not used.
  
 -      * 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.
 +      * dired.c (file_name_completion): Remove var that is set but not used.
  
 -2007-07-14  Juanma Barranquero  <lekktu@gmail.com>
 +      * fileio.c (Finsert_file_contents): Make EOF condition clearer.
  
 -      * eval.c (Fprogn):
 -      * keyboard.c (Ftrack_mouse):
 -      * print.c (Fwith_output_to_temp_buffer):
 -      * window.c (Fsave_window_excursion): Doc fix.
 +      * fileio.c (Finsert_file_contents): Avoid signed integer overflow.
 +      (Finsert_file_contents): Remove unnecessary code checking fd.
  
 -2007-07-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * minibuf.c (read_minibuf_noninteractive): Use size_t for sizes.
 +      Check for integer overflow on size calculations.
  
 -      * eval.c (init_eval_once): Bump max_lisp_eval_depth to 400.
 +      * buffer.c (Fprevious_overlay_change): Remove var that is set
 +      but not used.
  
 -2007-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * keyboard.c (menu_bar_items, read_char_minibuf_menu_prompt):
 +      Remove vars that are set but not used.
 +      (timer_check_2): Don't assume timer-list and idle-timer-list are lists.
 +      (timer_check_2): Mark vars as initialized.
  
 -      * 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.
 +      * gtkutil.c (xg_get_file_with_chooser): Mark var as initialized.
  
 -2007-07-12  Richard Stallman  <rms@gnu.org>
 +      * image.c (lookup_image): Remove var that is set but not used.
 +      (xbm_load): Use parse_p, for gcc -Werror=unused-but-set-variable.
  
 -      * term.c: Include unistd.h only if HAVE_UNISTD_H.
 +      * fontset.c (Finternal_char_font, Ffontset_info): Remove vars
 +      that are set but not used.
  
 -2007-07-11  Jason Rumney  <jasonr@gnu.org>
 +      * xfns.c (make_invisible_cursor): Don't return garbage
 +      if XCreateBitmapFromData fails (Bug#8410).
  
 -      * makefile.w32-in (LIBS): Include OLE32.
 +      * xselect.c (x_get_local_selection, x_handle_property_notify):
 +      Remove vars that are set but not used.
  
 -      * w32fns.c (w32_msg_pump) <WM_EMACS_CREATEWINDOW>: Initialize COM.
 -      (w32_msg_pump) <WM_DESTROY>: Uninitialize COM.
 +      * xfns.c (x_create_tip_frame): Remove var that is set but not used.
 +      (make_invisible_cursor): Initialize a possibly-uninitialized variable.
  
 -2007-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * xterm.c (x_scroll_bar_to_input_event) [!USE_GTK]:
 +      Remove var that is set but not used.
 +      (scroll_bar_windows_size): Now size_t, not int.
 +      (x_send_scroll_bar_event): Use size_t, not int, for sizes.
 +      Check for overflow.
  
 -      * 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.
 +      * xfaces.c (realize_named_face): Remove vars that are set but not used.
 +      (map_tty_color) [!defined MSDOS]: Likewise.
  
 -      * alloc.c (emacs_blocked_free): Remove unused var `bytes_used_now'.
 +      * term.c (tty_write_glyphs): Use size_t; this avoids overflow warning.
  
 -      * 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.
 +      * coding.c: Remove vars that are set but not used.
 +      (DECODE_COMPOSITION_RULE): Remove 2nd arg, which is unused.
 +      All callers changed.
 +      (decode_coding_utf_8, decode_coding_utf_16 decode_coding_emacs_mule):
 +      (decode_coding_iso_2022, encode_coding_sjis, encode_coding_big5):
 +      (decode_coding_charset): Remove vars that are set but not used.
  
 -2007-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * bytecode.c (Fbyte_code) [!defined BYTE_CODE_SAFE]: Remove var
 +      that is set but not used.
  
 -      * alloc.c (mark_maybe_pointer): Enforce mult-of-8 alignment when using
 -      USE_LSB_TAG.  Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
 +      * print.c (print_object): Remove var that is set but not used.
  
 -      * 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.
 +      Replace 2 copies of readlink code with 1 gnulib version (Bug#8401).
 +      The gnulib version avoids calling malloc in the usual case,
 +      and on 64-bit hosts doesn't have some arbitrary 32-bit limits.
 +      * fileio.c (Ffile_symlink_p): Use emacs_readlink.
 +      * filelock.c (current_lock_owner): Likewise.
 +      * lisp.h (READLINK_BUFSIZE, emacs_readlink): New function.
 +      * sysdep.c: Include allocator.h, careadlinkat.h.
 +      (emacs_no_realloc_allocator): New static constant.
 +      (emacs_readlink): New function.
 +      * deps.mk (sysdep.o): Depend on ../lib/allocator.h and on
 +      ../lib/careadlinkat.h.
  
 -      * editfns.c (Ftranspose_regions): Use EMACS_INT for positions.
 +2011-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * 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.
 +      * keyboard.c (safe_run_hook_funcall): Fix last change (don't stop at the
 +      first non-nil return value).
  
 -      * keymap.h (map_keymap_function_t): More informative prototype.
 +2011-04-03  Jan Djärv  <jan.h.d@swipnet.se>
  
 -2007-07-10  Guanpeng Xu  <herberteuler@hotmail.com>
 +      * nsterm.m (ns_update_auto_hide_menu_bar): Define MAC_OS_X_VERSION_10_6
 +      if not defined (Bug#8403).
  
 -      * 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.
 +2011-04-02  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * xdisp.c (display_count_lines): Remove parameter `start',
 +      unused since 1998-01-01T02:27:27Z!rms@gnu.org.  All callers changed.
 +      (get_char_face_and_encoding): Remove parameter `multibyte_p',
 +      unused since 2008-05-14T01:40:23Z!handa@m17n.org.  All callers changed.
 +      (fill_stretch_glyph_string): Remove parameters `row' and `area',
 +      unused at least since Kim's GUI unification at 2003-03-16T20:45:46Z!storm@cua.dk
 +      and thereabouts.  All callers changed.
 +      (get_per_char_metric): Remove parameter `f', unused since
 +      2008-05-14T01:40:23Z!handa@m17n.org.  All callers changed.
  
 -      * minibuf.c (Fcompleting_read): New value `confirm-only'
 -      for `require-match'.
 +2011-04-02  Jim Meyering  <meyering@redhat.com>
  
 -2007-06-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      do not dereference NULL upon failed strdup
 +      * nsfont.m (ns_descriptor_to_entity): Use xstrdup, not strdup.
 +      (ns_get_family): Likewise.
 +
 +2011-04-02  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * fileio.c (Fdo_auto_save): Revert last patch installed unwillingly as
 -      part of the 2007-06-27 change to syms_of_fileio.
 +      * eval.c (unwind_to_catch) [DEBUG_GCPRO]: Remove redundant assignment.
 +
 +2011-04-02  Jan Djärv  <jan.h.d@swipnet.se>
  
 -2007-06-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * nsterm.m (ns_update_auto_hide_menu_bar): Only for OSX 10.6 or
 +      later (Bug#8403).
  
 -      * macterm.c [USE_MAC_TSM] (mac_handle_text_input_event):
 -      Check WINDOWP before using XWINDOW.  Consolidate return statements.
 +2011-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      Add lexical binding.
  
 -2007-06-27  Richard Stallman  <rms@gnu.org>
 +      * window.c (Ftemp_output_buffer_show): New fun.
 +      (Fsave_window_excursion):
 +      * print.c (Fwith_output_to_temp_buffer): Move to subr.el.
  
 -      * fileio.c (syms_of_fileio) <after-insert-file-functions>: Doc fix.
 +      * lread.c (lisp_file_lexically_bound_p): New function.
 +      (Fload): Bind Qlexical_binding.
 +      (readevalloop): Remove `evalfun' arg.
 +      Bind Qinternal_interpreter_environment.
 +      (Feval_buffer): Bind Qlexical_binding.
 +      (defvar_int, defvar_bool, defvar_lisp_nopro, defvar_kboard):
 +      Mark as dynamic.
 +      (syms_of_lread): Declare `lexical-binding'.
  
 -2007-06-27  Juanma Barranquero  <lekktu@gmail.com>
 +      * lisp.h (struct Lisp_Symbol): New field `declared_special'.
  
 -      * buffer.c (syms_of_buffer) <selective-display>: Fix typo in docstring.
 +      * keyboard.c (eval_dyn): New fun.
 +      (menu_item_eval_property): Use it.
  
 -2007-06-26  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * image.c (parse_image_spec): Use Ffunctionp.
  
 -      * 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.
 +      * fns.c (concat, mapcar1): Accept byte-code-functions.
  
 -2007-06-26  Kenichi Handa  <handa@m17n.org>
 +      * eval.c (Fsetq): Handle lexical vars.
 +      (Fdefun, Fdefmacro, Ffunction): Make closures when needed.
 +      (Fdefconst, Fdefvaralias, Fdefvar): Mark as dynamic.
 +      (FletX, Flet): Obey lexical binding.
 +      (Fcommandp): Handle closures.
 +      (Feval): New `lexical' arg.
 +      (eval_sub): New function extracted from Feval.  Use it almost
 +      everywhere where Feval was used.  Look up vars in lexical env.
 +      Handle closures.
 +      (Ffunctionp): Move from subr.el.
 +      (Ffuncall): Handle closures.
 +      (apply_lambda): Remove `eval_flags'.
 +      (funcall_lambda): Handle closures and new byte-code-functions.
 +      (Fspecial_variable_p): New function.
 +      (syms_of_eval): Initialize the Vinternal_interpreter_environment var,
 +      but without exporting it to Lisp.
  
 -      * coding.c (Ffind_operation_coding_system): Docstring improved.
 -      (syms_of_coding): Docstring of `file-coding-system-alist' improved.
 +      * doc.c (Fdocumentation, store_function_docstring):
 +      * data.c (Finteractive_form): Handle closures.
  
 -2007-06-25  David Kastrup  <dak@gnu.org>
 +      * callint.c (Fcall_interactively): Preserve lexical-binding mode for
 +      interactive spec.
  
 -      * keymap.c (Fcurrent_active_maps): Add `position' argument.
 -      (Fwhere_is_internal): Adjust call to `current-active-maps' to
 -      cater for additional parameter.
 +      * bytecode.c (Bstack_ref, Bstack_set, Bstack_set2, BdiscardN):
 +      New byte-codes.
 +      (exec_byte_code): New function extracted from Fbyte_code to handle new
 +      calling convention for byte-code-functions.  Add new byte-codes.
  
 -      * keymap.h: Adjust number of parameters to `current-active-maps'.
 +      * buffer.c (defvar_per_buffer): Set new `declared_special' field.
  
 -      * doc.c (Fsubstitute_command_keys): Adjust call of
 -      `current-active-maps'.
 +      * alloc.c (Fmake_symbol): Init new `declared_special' field.
  
 -2007-06-25  David Kastrup  <dak@gnu.org>
 +2011-03-31  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * callint.c (Fcall_interactively): Make the parsing of interactive
 -      specs somewhat more readable.
 +      * xdisp.c (redisplay_internal): Fix prototype.
  
 -2007-06-23  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +2011-03-31  Eli Zaretskii  <eliz@gnu.org>
  
 -      * 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.
 +      * xdisp.c (SCROLL_LIMIT): New macro.
 +      (try_scrolling): Use it when setting scroll_limit.
 +      Limit scrolling to 100 screen lines.
 +      (redisplay_window): Even when falling back on "recentering",
 +      position point in the window according to scroll-conservatively,
 +      scroll-margin, and scroll-*-aggressively variables.  (Bug#6671)
  
 -2007-06-22  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      (try_scrolling): When point is above the window, allow searching
 +      as far as scroll_max, or one screenful, to compute vertical
 +      distance from PT to the scroll margin position.  This prevents
 +      try_scrolling from unnecessarily failing when
 +      scroll-conservatively is set to a value slightly larger than the
 +      window height.  Clean up the case of PT below the margin at bottom
 +      of window: scroll_max can no longer be INT_MAX.  When aggressive
 +      scrolling is in use, don't let point enter the opposite scroll
 +      margin as result of the scroll.
 +      (syms_of_xdisp) <scroll-conservatively>: Document the
 +      threshold of 100 lines for never-recentering scrolling.
  
 -      * macgui.h (USE_CG_DRAWING): Don't require USE_ATSUI.
 -      (USE_MAC_TOOLBAR): Require USE_CG_DRAWING.
 +2011-03-31  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * 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.
 +      * dispextern.h (move_it_by_lines):
 +      * xdisp.c (move_it_by_lines): Remove parameter `need_y_p', unused
 +      since 2000-12-29T14:24:09Z!gerd@gnu.org.  All callers changed.
 +      (message_log_check_duplicate): Remove parameters `prev_bol' and
 +      `this_bol', unused since 1998-01-01T02:27:27Z!rms@gnu.org.  All callers changed.
 +      (redisplay_internal): Remove parameter `preserve_echo_area',
 +      unused since 1999-07-21T21:43:52Z!gerd@gnu.org.  All callers changed.
  
 -2007-06-21  Jason Rumney  <jasonr@gnu.org>
 +      * indent.c (Fvertical_motion):
 +      * window.c (window_scroll_pixel_based, Frecenter):
 +      Don't pass `need_y_p' to `move_it_by_lines'.
  
 -      * image.c (convert_mono_to_color_image): Swap fore and background.
 +2011-03-30  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -2007-06-20  Jason Rumney  <jasonr@gnu.org>
 +      * eval.c (struct backtrace): Don't cheat with negative numbers, but do
 +      steal a few bits to be more compact.
 +      (interactive_p, Fbacktrace, Fbacktrace_frame, mark_backtrace):
 +      Remove unneeded casts.
  
 -      * w32bdf.c (w32_BDF_to_x_font): Unmap memory when finished.
 -      (w32_free_bdf_font): Unmap memory not handle.
 +      * bytecode.c (Fbyte_code): CAR and CDR can GC.
  
 -2007-06-20  Sam Steingold  <sds@gnu.org>
 +2011-03-30  Zachary Kanfer  <zkanfer@gmail.com>  (tiny change)
  
 -      * gmalloc.c (__morecore): Fix the declaration to comply with the
 -      definition.
 +      * keyboard.c (Fexecute_extended_command): Do log the "suggest key
 +      binding" message (bug#7967).
  
 -2007-06-20  Juanma Barranquero  <lekktu@gmail.com>
 +2011-03-30  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * w32term.c (w32_delete_display): Remove leftover declaration.
 -      (w32_define_cursor, w32_initialize): Make static.
 +      Fix more problems found by GCC 4.6.0's static checks.
  
 -      * w32.c (_wsa_errlist): Fix typo in error message.
 -      (init_environment): Ignore any environment variable from the
 -      registry having a null value.
 +      * unexelf.c (unexec) [! (defined _SYSTYPE_SYSV || defined __sgi)]:
 +      Remove unused local var.
  
 -2007-06-20  Glenn Morris  <rgm@gnu.org>
 +      * editfns.c (Fmessage_box): Remove unused local var.
  
 -      * Makefile.in (LIBGIF): Default to -lgif.
 +      * xdisp.c (try_window_reusing_current_matrix, x_produce_glyphs):
 +      (note_mode_line_or_margin_highlight, note_mouse_highlight):
 +      Omit unused local vars.
 +      * window.c (shrink_windows): Omit unused local var.
 +      * menu.c (digest_single_submenu): Omit unused local var.
 +      * dispnew.c (update_window) [PERIODIC_PREEMPTION_CHECKING]:
 +      Omit unused local var.
 +
 +      * keyboard.c (parse_modifiers_uncached, parse_modifiers):
 +      Don't assume string length fits in int.
 +      (keyremap_step, read_key_sequence): Use size_t for sizes.
 +      (read_key_sequence): Don't check last_real_key_start redundantly.
  
 -2007-06-17  Jason Rumney  <jasonr@gnu.org>
 +      * callproc.c (Fcall_process, Fcall_process_region): Use SAFE_ALLOCA
 +      instead of alloca (Bug#8344).
  
 -      * w32menu.c (add_menu_item): Don't use multibyte string functions on
 -      unicode strings.
 +      * eval.c (Fbacktrace): Don't assume nargs fits in int.
 +      (Fbacktrace_frame): Don't assume nframes fits in int.
  
 -2007-06-16  Juanma Barranquero  <lekktu@gmail.com>
 +      * syntax.c (scan_sexps_forward): Avoid pointer wraparound.
  
 -      * xdisp.c (syms_of_xdisp) <auto-resize-tool-bars>:
 -      Fix typo in docstring.
 +      * xterm.c (x_make_frame_visible, same_x_server): Redo to avoid overflow
 +      concerns.
  
 -2007-06-16  Eli Zaretskii  <eliz@gnu.org>
 +      * term.c (produce_glyphless_glyph): Remove unnecessary test.
  
 -      * w32menu.c (add_menu_item): Escape `&' characters in menu items
 -      and their keybindings.
 +      * cm.c (calccost): Turn while-do into do-while, for clarity.
  
 -2007-06-15  Chong Yidong  <cyd@stupidchicken.com>
 +      * keyboard.c (syms_of_keyboard): Use the same style as later
 +      in this function when indexing through an array.  This also
 +      works around GCC bug 48267.
  
 -      * composite.c (update_compositions): Fix last fix.
 +      * image.c (tiff_load): Fix off-by-one image count (Bug#8336).
  
 -2007-06-14  Jason Rumney  <jasonr@gnu.org>
 +      * xselect.c (x_check_property_data): Return correct size (Bug#8335).
  
 -      * 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.
 +      * chartab.c (sub_char_table_ref_and_range): Redo for slight
 +      efficiency gain, and to bypass a gcc -Wstrict-overflow warning.
  
 -      * editfns.c (Fget_internal_run_time) [WINDOWSNT]: Use it.
 +      * keyboard.c, keyboard.h (num_input_events): Now size_t.
 +      This avoids undefined behavior on integer overflow, and is a bit
 +      more convenient anyway since it is compared to a size_t variable.
  
 -2007-06-14  Kenichi Handa  <handa@etlken.m17n.org>
 +      Variadic C functions now count arguments with size_t, not int.
 +      This avoids an unnecessary limitation on 64-bit machines, which
 +      caused (substring ...) to crash on large vectors (Bug#8344).
 +      * lisp.h (struct Lisp_Subr.function.aMANY): Now takes size_t, not int.
 +      (DEFUN_ARGS_MANY, internal_condition_case_n, safe_call): Likewise.
 +      All variadic functions and their callers changed accordingly.
 +      (struct gcpro.nvars): Now size_t, not int.  All uses changed.
 +      * data.c (arith_driver, float_arith_driver): Likewise.
 +      * editfns.c (general_insert_function): Likewise.
 +      * eval.c (struct backtrace.nargs, interactive_p)
 +      (internal_condition_case_n, run_hook_with_args, apply_lambda)
 +      (funcall_lambda, mark_backtrace): Likewise.
 +      * fns.c (concat): Likewise.
 +      * frame.c (x_set_frame_parameters): Likewise.
 +      * fns.c (get_key_arg): Now accepts and returns size_t, and returns
 +      0 if not found, not -1.  All callers changed.
  
 -      * composite.c (update_compositions): Check the validness of
 -      compositions.
 +      * alloc.c (garbage_collect): Don't assume stack size fits in int.
 +      (stack_copy_size): Now size_t, not int.
 +      (stack_copy, stack_copy_size): Define only if MAX_SAVE_STACK > 0.
  
 -2007-06-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +2011-03-28  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * frame.h (struct frame) [MAC_OS]: New member external_tool_bar.
 -      (FRAME_EXTERNAL_TOOL_BAR) [MAC_OS]: Use it.
 +      * coding.c (encode_designation_at_bol): Remove parameter `charbuf_end',
 +      unused since 2002-03-01T01:17:24Z!handa@m17n.org and 2008-02-01T16:01:31Z!miles@gnu.org.
 +      All callers changed.
  
 -      * macfns.c (mac_window) [USE_MAC_TOOLBAR]: Set toolbar_win_gravity.
 -      (x_set_tool_bar_lines) [USE_MAC_TOOLBAR]: Set FRAME_EXTERNAL_TOOL_BAR.
 +      * lisp.h (multibyte_char_to_unibyte):
 +      * character.c (multibyte_char_to_unibyte): Remove parameter `rev_tbl',
 +      unused since 2002-03-01T01:16:34Z!handa@m17n.org and 2008-02-01T16:01:31Z!miles@gnu.org.
 +      * character.h (CHAR_TO_BYTE8):
 +      * cmds.c (internal_self_insert):
 +      * editfns.c (general_insert_function):
 +      * keymap.c (push_key_description):
 +      * search.c (Freplace_match):
 +      * xdisp.c (message_dolog, set_message_1): All callers changed.
  
 -      * macgui.h (USE_MAC_TOOLBAR): New define.
 +2011-03-28  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * macmenu.c [TARGET_API_MAC_CARBON] (menu_target_item_handler):
 -      Return immediately unless popup is activated.
 +      * keyboard.c (safe_run_hook_funcall): New function.
 +      (safe_run_hooks_1, safe_run_hooks_error, safe_run_hooks): On error,
 +      don't set the hook to nil, but remove the offending function instead.
 +      (Qcommand_hook_internal): Remove, unused.
 +      (syms_of_keyboard): Don't initialize Qcommand_hook_internal nor define
 +      Vcommand_hook_internal.
  
 -      * 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.
 +      * eval.c (enum run_hooks_condition): Remove.
 +      (funcall_nil, funcall_not): New functions.
 +      (run_hook_with_args): Call each function through a `funcall' argument.
 +      Remove `cond' argument, now redundant.
 +      (Frun_hooks, Frun_hook_with_args, Frun_hook_with_args_until_success)
 +      (Frun_hook_with_args_until_failure): Adjust accordingly.
 +      (run_hook_wrapped_funcall, Frun_hook_wrapped): New functions.
  
 -      * 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.
 +2011-03-28  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * xdisp.c (update_tool_bar, redisplay_tool_bar, redisplay_window)
 -      [USE_MAC_TOOLBAR]: Sync with GTK+ tool bar display.
 +      * dispextern.h (string_buffer_position): Remove declaration.
  
 -2007-06-14  Chong Yidong  <cyd@stupidchicken.com>
 +      * print.c (strout): Remove parameter `multibyte', unused since
 +      1999-08-21T19:30:21Z!gerd@gnu.org.  All callers changed.
  
 -      * image.c (search_image_cache): Remove unused variable.
 +      * search.c (boyer_moore): Remove parameters `len', `pos' and `lim',
 +      never used since function introduction in 1998-02-08T21:33:56Z!rms@gnu.org.
 +      All callers changed.
  
 -2007-06-13  Chong Yidong  <cyd@stupidchicken.com>
 +      * w32.c (_wsa_errlist): Use braces for struct initializers.
  
 -      * xfns.c, xmenu.c: Link to xaw3d if available.
 +      * xdisp.c (string_buffer_position_lim): Remove parameter `w',
 +      never used since function introduction in 2001-03-09T18:41:50Z!gerd@gnu.org.
 +      All callers changed.
 +      (string_buffer_position): Likewise.  Also, make static (it's never
 +      used outside xdisp.c).
 +      (cursor_row_p): Remove parameter `w', unused since
 +      2000-10-17T16:08:57Z!gerd@gnu.org.  All callers changed.
 +      (decode_mode_spec): Remove parameter `precision', introduced during
 +      Gerd Moellmann's rewrite at 1999-07-21T21:43:52Z!gerd@gnu.org, but never used.
 +      All callers changed.
  
 -2007-06-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +2011-03-27  Jan Djärv  <jan.h.d@swipnet.se>
  
 -      * dispextern.h (struct image) [HAVE_WINDOW_SYSTEM]: New members
 -      frame_foreground and frame_background.
 +      * nsterm.m (syms_of_nsterm): Use doc: for ns-auto-hide-menu-bar.
  
 -      * image.c (lookup_image): Save frame foreground and background colors.
 -      (search_image_cache): Check if saved and current frame colors match.
 +2011-03-27  Anders Lindgren  <andlind@gmail.com>
  
 -2007-06-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * nsterm.m (ns_menu_bar_is_hidden): New variable.
 +      (ns_constrain_all_frames, ns_menu_bar_should_be_hidden)
 +      (ns_update_auto_hide_menu_bar): New functions.
 +      (ns_update_begin): Call ns_update_auto_hide_menu_bar.
 +      (applicationDidBecomeActive): Call ns_update_auto_hide_menu_bar and
 +      ns_constrain_all_frames.
 +      (constrainFrameRect): Return at once if ns_menu_bar_should_be_hidden.
 +      (syms_of_nsterm): DEFVAR ns-auto-hide-menu-bar, init to Qnil.
  
 -      * regex.c (regex_compile): Remove the `regnum' counter.
 -      Use bufp->re_nsub instead.  Add support for \(?N:RE\).
 +2011-03-27  Jan Djärv  <jan.h.d@swipnet.se>
  
 -2007-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * nsmenu.m (runDialogAt): Remove argument to timer_check.
  
 -      * term.c: Include intervals.h to declare Fget_text_property.
 +2011-03-27  Glenn Morris  <rgm@gnu.org>
  
 -2007-06-10  Jason Rumney  <jasonr@gnu.org>
 +      * syssignal.h: Replace RETSIGTYPE with void.
 +      * atimer.c, data.c, dispnew.c, emacs.c, floatfns.c, keyboard.c:
 +      * keyboard.h, lisp.h, process.c, sysdep.c, xterm.c:
 +      Replace SIGTYPE with void everywhere.
 +      * s/usg5-4-common.h (SIGTYPE): Remove definition.
 +      * s/template.h (SIGTYPE): Remove commented out definition.
  
 -      * w32fns.c (Fx_file_dialog): Take size from struct not pointer.
 +2011-03-26  Eli Zaretskii  <eliz@gnu.org>
  
 -2007-06-08  Juanma Barranquero  <lekktu@gmail.com>
 +      * xdisp.c (redisplay_window): Don't check buffer's clip_changed
 +      flag as a prerequisite for invoking try_scrolling.  (Bug#6671)
  
 -      * 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.
 +2011-03-26  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-06-05  Juanma Barranquero  <lekktu@gmail.com>
 +      * w32.c (read_unc_volume): Use parameter `henum', instead of
 +      global variable `wget_enum_handle'.
  
 -      * xfaces.c (Finternal_lisp_face_p): Signal error for face alias loops.
 +      * keymap.c (describe_vector): Remove parameters `indices' and
 +      `char_table_depth', unused since 2002-03-01T01:43:26Z!handa@m17n.org.
 +      (describe_map, Fdescribe_vector): Adjust calls to `describe_vector'.
  
 -2007-06-03  Nick Roberts  <nickrob@snap.net.nz>
 +      * keyboard.h (timer_check, show_help_echo): Remove unused parameters.
  
 -      * keyboard.c (discard_mouse_events): Add GPM_CLICK_EVENT case.
 +      * keyboard.c (timer_check): Remove parameter `do_it_now',
 +      unused since 1996-04-12T06:01:29Z!rms@gnu.org.
 +      (show_help_echo): Remove parameter `ok_to_overwrite_keystroke_echo',
 +      unused since 2008-04-19T19:30:53Z!monnier@iro.umontreal.ca.
  
 -      * frame.c (Fmouse_position, Fmouse_pixel_position):
 -      Condition on HAVE_GPM too.
 +      * keyboard.c (read_char):
 +      * w32menu.c (w32_menu_display_help):
 +      * xmenu.c (show_help_event, menu_help_callback):
 +      Adjust calls to `show_help_echo'.
  
 -      * 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.
 +      * gtkutil.c (xg_maybe_add_timer):
 +      * keyboard.c (readable_events):
 +      * process.c (wait_reading_process_output):
 +      * xmenu.c (x_menu_wait_for_event): Adjust calls to `timer_check'.
  
 -      * Makefile.in (MOUSE_SUPPORT): Define for HAVE_GPM.
 +      * insdel.c (adjust_markers_gap_motion):
 +      Remove; no-op since 1998-01-02T21:29:48Z!rms@gnu.org.
 +      (gap_left, gap_right): Don't call it.
  
 -2007-06-03  Chong Yidong  <cyd@stupidchicken.com>
 +2011-03-25  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.
 +      * xdisp.c (handle_fontified_prop): Discard changes to clip_changed
 +      incurred during fontification.
  
 -2007-06-01  Juanma Barranquero  <lekktu@gmail.com>
 +2011-03-25  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * window.c (Fshrink_window): Reflow docstring.
 +      * buffer.c (defvar_per_buffer): Remove unused parameter `doc'.
 +      (DEFVAR_PER_BUFFER): Don't pass it.
  
 -2007-06-02  Chong Yidong  <cyd@stupidchicken.com>
 +      * dispnew.c (row_equal_p, add_row_entry): Remove unused parameter `w'.
 +      (scrolling_window): Don't pass it.
  
 -      * Version 22.1 released.
 +2011-03-25  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-06-01  Richard Stallman  <rms@gnu.org>
 +      * dispextern.h (glyph_matric): Use #if GLYPH_DEBUG, not #ifdef.
  
 -      * xfns.c (x_encode_text): Add GCPRO.
 +      * fileio.c (check_executable) [DOS_NT]: Remove unused variables `len'
 +      and `suffix'.
 +      (Fset_file_selinux_context) [HAVE_LIBSELINUX]: Move here declaration
 +      of variables specific to SELinux and computation of `encoded_absname'.
  
 -2007-06-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * image.c (XPutPixel): Remove unused variable `height'.
  
 -      * xfns.c (x_set_name_internal): Save encoded name before
 -      x_encode_text in case string data is relocated.
 +      * keyboard.c (make_lispy_event): Remove unused variable `hpos'.
  
 -2007-05-31  Richard Stallman  <rms@gnu.org>
 +      * unexw32.c (get_section_info): Remove unused variable `section'.
  
 -      * buffer.c (syms_of_buffer): Doc fix.
 +      * w32.c (stat): Remove unused variables `drive_root' and `devtype'.
 +      (system_process_attributes): Remove unused variable `sess'.
 +      (sys_read): Remove unused variable `err'.
  
 -2007-05-30  Nick Roberts  <nickrob@snap.net.nz>
 +      * w32fns.c (top): Wrap variables with #if GLYPH_DEBUG, not #ifdef.
 +      (w32_wnd_proc): Remove unused variable `isdead'.
 +      (unwind_create_frame): Use #if GLYPH_DEBUG, not #ifdef.
 +      (Fx_server_max_request_size): Remove unused variable `dpyinfo'.
 +      (x_create_tip_frame): Remove unused variable `tem'.
  
 -      * sysdep.c (init_sys_modes): Add rather than replace with
 -      O_NONBLOCK.
 +      * w32inevt.c (w32_console_read_socket):
 +      Remove unused variable `no_events'.
  
 -      * frame.c [HAVE_GPM] (Fset_mouse_pixel_position): Add call to
 -      term_mouse_moveto.
 +      * w32term.c (x_draw_composite_glyph_string_foreground):
 +      Remove unused variable `width'.
  
 -      * termhooks.h (term_mouse_moveto): New extern.
 +2011-03-24  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * 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.
 +      * w32term.c (x_set_glyph_string_clipping):
 +      Don't pass uninitialized region to CombineRgn.
  
 -2007-05-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +2011-03-23  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t
 -      around current_column call.
 +      * w32fns.c (x_set_menu_bar_lines): Remove unused variable `olines'.
 +      (w32_wnd_proc): Pass NULL to Windows API, not uninitialized buffer.
 +      (Fx_close_connection): Remove unused variable `i'.
  
 -2007-05-26  Dan Nicolaescu  <dann@ics.uci.edu>
 +      * w32font.c (w32font_draw): Return number of glyphs.
 +      (w32font_open_internal): Remove unused variable `i'.
 +      (w32font_driver): Add missing initializer.
  
 -      * 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.
 +      * w32menu.c (utf8to16): Remove unused variable `utf16'.
 +      (fill_in_menu): Remove unused variable `items_added'.
  
 -2007-05-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * w32term.c (last_mouse_press_frame): Remove static global variable.
 +      (w32_clip_to_row): Remove unused variable `f'.
 +      (x_delete_terminal): Remove unused variable `i'.
  
 -      * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event):
 -      Call mac_wakeup_from_rne on window size change.
 +      * w32uniscribe.c (uniscribe_shape): Remove unused variable `nclusters'.
 +      (NOTHING): Remove unused static global variable.
 +      (uniscribe_check_otf): Remove unused variable `table'.
 +      (uniscribe_font_driver): Add missing initializers.
  
 -2007-05-25  Chong Yidong  <cyd@stupidchicken.com>
 +2011-03-23  Julien Danjou  <julien@danjou.info>
  
 -      * image.c (uncache_image): Fix typo.
 +      * term.c (Fsuspend_tty, Fresume_tty):
 +      * minibuf.c (read_minibuf, run_exit_minibuf_hook):
 +      * window.c (temp_output_buffer_show):
 +      * insdel.c (signal_before_change):
 +      * frame.c (Fhandle_switch_frame):
 +      * fileio.c (Fdo_auto_save):
 +      * emacs.c (Fkill_emacs):
 +      * editfns.c (save_excursion_restore):
 +      * cmds.c (internal_self_insert):
 +      * callint.c (Fcall_interactively):
 +      * buffer.c (Fkill_all_local_variables):
 +      * keyboard.c (Fcommand_execute, Fsuspend_emacs, safe_run_hooks_1):
 +      Use Frun_hooks.
 +      (command_loop_1): Use Frun_hooks.  Call safe_run_hooks
 +      unconditionnaly since it does the check itself.
 +
 +2011-03-23  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix more problems found by GCC 4.5.2's static checks.
 +
 +      * coding.c (encode_coding_raw_text): Avoid unnecessary test
 +      the first time through the loop, since we know p0 < p1 then.
 +      This also avoids a gcc -Wstrict-overflow warning.
 +
 +      * lisp.h (SAFE_ALLOCA, SAFE_ALLOCA_LISP): Avoid 'int' overflow
 +      leading to a memory leak, possible in functions like
 +      load_charset_map_from_file that can allocate an unbounded number
 +      of objects (Bug#8318).
 +
 +      * xmenu.c (set_frame_menubar): Use EMACS_UINT, not int, for indexes
 +      that could (at least in theory) be that large.
 +
 +      * xdisp.c (message_log_check_duplicate): Return unsigned long, not int.
 +      This is less likely to overflow, and avoids undefined behavior if
 +      overflow does occur.  All callers changed.  Use strtoul to scan
 +      for the unsigned long integer.
 +      (pint2hrstr): Simplify and tune code slightly.
 +      This also avoids a (bogus) GCC warning with gcc -Wstrict-overflow.
 +
 +      * scroll.c (do_scrolling): Work around GCC bug 48228.
 +      See <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48228>.
 +
 +      * frame.c (Fmodify_frame_parameters): Simplify loop counter.
 +      This also avoids a warning with gcc -Wstrict-overflow.
 +      (validate_x_resource_name): Simplify count usage.
 +      This also avoids a warning with gcc -Wstrict-overflow.
 +
 +      * fileio.c (Fcopy_file): Report error if fchown or fchmod
 +      fail (Bug#8306).
 +
 +      * emacs.c (Fdaemon_initialized): Do not ignore I/O errors (Bug#8303).
 +
 +      * process.c (Fmake_network_process): Use socklen_t, not int,
 +      where POSIX says socklen_t is required in portable programs.
 +      This fixes a porting bug on hosts like 64-bit HP-UX, where
 +      socklen_t is wider than int (Bug#8277).
 +      (Fmake_network_process, server_accept_connection):
 +      (wait_reading_process_output, read_process_output):
 +      Likewise.
  
 -2007-05-23  Johannes Weiner  <hannes@saeurebad.de>  (tiny change)
 +      * process.c: Rename or move locals to avoid shadowing.
 +      (list_processes_1, Fmake_network_process):
 +      (read_process_output_error_handler, exec_sentinel_error_handler):
 +      Rename or move locals.
 +      (Fmake_network_process): Define label "retry_connect" only if needed.
 +      (Fnetwork_interface_info): Fix pointer signedness.
 +      (process_send_signal): Add cast to avoid pointer signedness problem.
 +      (FIRST_PROC_DESC, IF_NON_BLOCKING_CONNECT): Remove unused macros.
 +      (create_process): Use 'volatile' to avoid vfork clobbering (Bug#8298).
  
 -      * keyboard.c (make_lispy_movement): Condition on HAVE_GPM too.
 +      Make tparam.h and terminfo.c consistent.
 +      * cm.c (tputs, tgoto, BC, UP): Remove extern decls.
 +      Include tparam.h instead, since it declares them.
 +      * cm.h (PC): Remove extern decl; tparam.h now does this.
 +      * deps.mk (cm.o, terminfo.o): Depend on tparam.h.
 +      * terminfo.c: Include tparam.h, to check interfaces.
 +      (tparm): Make 1st arg a const pointer in decl.  Put it at top level.
 +      (tparam): Adjust signature to match interface in tparam.h;
 +      this removes some undefined behavior.  Check that outstring and len
 +      are zero, which they always are with Emacs.
 +      * tparam.h (PC, BC, UP): New extern decls.
  
 -2007-05-22  Richard Stallman  <rms@gnu.org>
 +      * xftfont.c (xftfont_shape): Now static, and defined only if needed.
 +      (xftfont_open): Rename locals to avoid shadowing.
  
 -      * xterm.c (x_connection_closed): Remove NO_RETURN.
 +      * ftfont.c (ftfont_resolve_generic_family): Fix pointer signedness.
 +      (ftfont_otf_capability, ftfont_shape): Omit decls if not needed.
 +      (OTF_TAG_SYM): Omit macro if not needed.
 +      (ftfont_list): Remove unused local.
 +      (get_adstyle_property, ftfont_pattern_entity):
 +      (ftfont_lookup_cache, ftfont_open, ftfont_anchor_point):
 +      Rename locals to avoid shadowing.
  
 -2007-05-22  Martin Rudalics  <rudalics@gmx.at>
 +      * xfont.c (xfont_list_family): Mark var as initialized.
  
 -      * syntax.c (scan_words): Fix arg to UPDATE_SYNTAX_TABLE_BACKWARD.
 +      * xml.c (make_dom): Now static.
  
 -2007-05-21  Chong Yidong  <cyd@stupidchicken.com>
 +      * composite.c (composition_compute_stop_pos): Rename local to
 +      avoid shadowing.
 +      (composition_reseat_it): Remove unused locals.
 +      (find_automatic_composition, composition_adjust_point): Likewise.
 +      (composition_update_it): Mark var as initialized.
 +      (find_automatic_composition): Mark vars as initialized,
 +      with a FIXME (Bug#8290).
  
 -      * image.c (uncache_image): New function.
 -      (Fimage_refresh): New function.
 +      character.h: Rename locals to avoid shadowing.
 +      * character.h (PREV_CHAR_BOUNDARY, FETCH_STRING_CHAR_ADVANCE):
 +      (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE, FETCH_CHAR_ADVANCE):
 +      (FETCH_CHAR_ADVANCE_NO_CHECK, INC_POS, DEC_POS, BUF_INC_POS):
 +      (BUF_DEC_POS): Be more systematic about renaming local temporaries
 +      to avoid shadowing.
  
 -2007-05-20  Jan Djärv  <jan.h.d@swipnet.se>
 +      * textprop.c (property_change_between_p): Remove; unused.
  
 -      * Makefile.in: Move GPM check outside HAVE_X_WINDOWS.
 +      * intervals.c (interval_start_pos): Now static.
  
 -2007-05-20  Nick Roberts  <nickrob@snap.net.nz>
 +      * intervals.h (CHECK_TOTAL_LENGTH): Avoid empty "else".
  
 -      * config.in, keyboard.c, Makefile.in, sysdep.c, term.c,
 -      * termhooks.h: Use HAVE_GPM instead of HAVE_GPM_H.
 +      * atimer.c (start_atimer, append_atimer_lists, set_alarm):
 +      Rename locals to avoid shadowing.
  
 -2007-05-20  Nick Roberts  <nickrob@snap.net.nz>
 +      * sound.c (wav_play, au_play, Fplay_sound_internal):
 +      Fix pointer signedness.
 +      (alsa_choose_format): Remove unused local var.
 +      (wav_play): Initialize a variable to 0, to prevent undefined
 +      behavior (Bug#8278).
  
 -      * keyboard.c (make_lispy_event): Make case GPM_CLICK_EVENT
 -      conditional on [HAVE_GPM_H].
 +      * region-cache.c (insert_cache_boundary): Redo var to avoid shadowing.
  
 -2007-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * region-cache.h (pp_cache): New decl, for gcc -Wmissing-prototypes.
  
 -      * syntax.c (skip_chars): Update syntax-table only after we checked that
 -      the new location is valid.
 +      * callproc.c (Fcall_process): Use 'volatile' to avoid vfork
 +      clobbering (Bug#8298).
 +      * sysdep.c (sys_subshell): Likewise.
 +      Previously, the sys_subshell 'volatile' was incorrectly IF_LINTted out.
  
 -2007-05-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * lisp.h (child_setup): Now NO_RETURN unless DOS_NT.
 +      This should get cleaned up, so that child_setup has the
 +      same signature on all platforms.
  
 -      * macterm.c (x_calc_absolute_position): Add BLOCK_INPUT around
 -      mac_get_window_bounds.
 +      * callproc.c (call_process_cleanup): Now static.
 +      (relocate_fd): Rename locals to avoid shadowing.
  
 -2007-05-20  Nick Roberts  <nickrob@snap.net.nz>
 +2011-03-22  Chong Yidong  <cyd@stupidchicken.com>
  
 -      * Makefile.in (LIBGPM): Allow it to be set from configure.
 -      If set then link Emacs with it.
 +      * xterm.c (x_clear_frame): Remove XClearWindow call.  This appears
 +      not to be necessary, and produces flickering.
  
 -      * config.in: Regenerate.
 +2011-03-20  Glenn Morris  <rgm@gnu.org>
  
 -      * lisp.h (add_gpm_wait_descriptor, delete_gpm_wait_descriptor):
 -      New externs.
 +      * config.in: Remove file.
  
 -      * termhooks.h [HAVE_GPM_H] (enum event_kind): Add GPM_CLICK_EVENT.
 -      Include gpm.h.
 -      (handle_one_term_event, term_gpm): New externs.
 +2011-03-20  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * sysdep.c [HAVE_GPM_H] (init_sys_modes): Make gpm_fd nonblocking
 -      and allow it to be interrupted by SIGIO.
 +      * minibuf.c (Vcompleting_read_function): Don't declare, global variables
 +      are now in src/globals.h.
 +      (syms_of_minibuf): Remove spurious & from previous change.
  
 -      * 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.
 +2011-03-20  Leo  <sdl.web@gmail.com>
  
 -      * 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.
 +      * minibuf.c (completing-read-function): New variable.
 +      (completing-read-default): Rename from completing-read.
 +      (completing-read): Call completing-read-function.
  
 -      * 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.
 +2011-03-19  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-05-19  Chong Yidong  <cyd@stupidchicken.com>
 +      * xfaces.c (Fx_load_color_file):
 +      Read color file from absolute filename (bug#8250).
  
 -      * xdisp.c (redisplay_window): If first window line is a
 -      continuation line, recompute the new window start instead of
 -      recentering.
 +2011-03-19  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-05-18  Glenn Morris  <rgm@gnu.org>
 +      * makefile.w32-in: Update dependencies.
  
 -      * m/alpha.h (ORDINARY_LINK): No longer define on OpenBSD.
 -      Suggested by Alfred M. Szmidt <ams@gnu.org>.
 +2011-03-17  Eli Zaretskii  <eliz@gnu.org>
  
 -2007-05-17  Glenn Morris  <rgm@gnu.org>
 +      * makefile.w32-in ($(BLD)/unexw32.$(O)): Depend on $(SRC)/unexec.h.
  
 -      * m/macppc.h (ORDINARY_LINK): No longer define on OpenBSD.
 +2011-03-17  Paul Eggert  <eggert@cs.ucla.edu>
  
 -2007-05-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      Fix more problems found by GCC 4.5.2's static checks.
  
 -      * macterm.c [USE_CARBON_EVENTS] (mac_convert_event_ref): Also convert
 -      dead key repeat and up events.
 +      * process.c (make_serial_process_unwind, send_process_trap):
 +      (sigchld_handler): Now static.
  
 -2007-05-14  Chong Yidong  <cyd@stupidchicken.com>
 +      * process.c (allocate_pty): Let PTY_ITERATION declare iteration vars.
 +      That way, the code declares only the vars that it needs.
 +      * s/aix4-2.h (PTY_ITERATION): Declare iteration vars.
 +      * s/cygwin.h (PTY_ITERATION): Likewise.
 +      * s/darwin.h (PTY_ITERATION): Likewise.
 +      * s/gnu-linux.h (PTY_ITERATION): Likewise.
  
 -      * image.c (pbm_load): Check image size for monochrome pbm.
 +      * s/irix6-5.h (PTY_OPEN): Declare stb, to loosen coupling.
 +      * process.c (allocate_pty): Don't declare stb unless it's needed.
  
 -2007-05-13  Chong Yidong  <cyd@stupidchicken.com>
 +      * bytecode.c (MAYBE_GC): Rewrite so as not to use empty "else".
 +      (CONSTANTLIM): Remove; unused.
 +      (METER_CODE, Bscan_buffer, Bread_char, Bset_mark):
 +      Define only if needed.
  
 -      * xterm.c (XTread_socket): Revert last change.
 +      * unexelf.c (unexec): Name an expression,
 +      to avoid gcc -Wbad-function-cast warning.
 +      Use a different way to cause a compilation error if anyone uses
 +      n rather than nn, a way that does not involve shadowing.
 +      (ELF_BSS_SECTION_NAME, OLD_PROGRAM_H): Remove; unused.
  
 -2007-05-12  Chong Yidong  <cyd@stupidchicken.com>
 +      * deps.mk (unexalpha.o): Remove; unused.
  
 -      * image.c (pbm_load): Correctly check image size for greyscale pbm.
 +      New file unexec.h, the (simple) interface for unexec (Bug#8267).
 +      * unexec.h: New file.
 +      * deps.mk (emacs.o, unexaix.o, unexcw.o, unexcoff.o, unexelf.o):
 +      (unexhp9k800.o, unexmacosx.o, unexsol.o, unexw32.o):
 +      Depend on unexec.h.
 +      * emacs.c [!defined CANNOT_DUMP]: Include unexec.h.
 +      * unexaix.c, unexcoff.c, unexcw.c, unexelf.c, unexhp9k800.c:
 +      * unexmacosx.c, unexsol.c, unexw32.c: Include unexec.h.
 +      Change as necessary to match prototype in unexec.h.
  
 -      * xterm.c (XTread_socket): Yet Another Uncaught X Error Crash (YAUXEC).
 +      * syntax.c (Fforward_comment, scan_lists): Rename locals to avoid
 +      shadowing.
 +      (back_comment, skip_chars): Mark vars as initialized.
 +
 +      * character.h (FETCH_STRING_CHAR_ADVANCE_NO_CHECK, BUF_INC_POS):
 +      Rename locals to avoid shadowing.
 +
 +      * lread.c (read1): Rewrite so as not to use empty "else".
 +      (Fload, readevalloop, read1): Rename locals to avoid shadowing.
 +
 +      * print.c (Fredirect_debugging_output): Fix pointer signedess.
 +
 +      * lisp.h (debug_output_compilation_hack): Add decl here, to avoid
 +      warning when compiling print.c.
 +
 +      * font.c (font_unparse_fcname): Abort in an "impossible" situation
 +      instead of using an uninitialized var.
 +      (font_sort_entities): Mark var as initialized.
 +
 +      * character.h (FETCH_CHAR_ADVANCE): Rename locals to avoid shadowing.
 +
 +      * font.c (font_unparse_xlfd): Don't mix pointers to variables with
 +      pointers to constants.
 +      (font_parse_fcname): Remove unused vars.
 +      (font_delete_unmatched): Now static.
 +      (font_get_spec): Remove; unused.
 +      (font_style_to_value, font_prop_validate_style, font_unparse_fcname):
 +      (font_update_drivers, Ffont_get_glyphs, font_add_log):
 +      Rename or move locals to avoid shadowing.
 +
 +      * fns.c (require_nesting_list, require_unwind): Now static.
 +      (Ffillarray): Rename locals to avoid shadowing.
 +
 +      * floatfns.c (domain_error2): Define only if needed.
 +      (Ffrexp, Fldexp): Rename locals to avoid shadowing.
 +
 +      * alloc.c (mark_backtrace): Move decl from here ...
 +      * lisp.h: ... to here, so that it can be checked.
 +
 +      * eval.c (call_debugger, do_debug_on_call, grow_specpdl): Now static.
 +      (Fdefvar): Rewrite so as not to use empty "else".
 +      (lisp_indirect_variable): Name an expression,
 +      to avoid gcc -Wbad-function-cast warning.
 +      (Fdefvar): Rename locals to avoid shadowing.
 +
 +      * callint.c (quotify_arg, quotify_args): Now static.
 +      (Fcall_interactively): Rename locals to avoid shadowing.
 +      Use const pointer when appropriate.
 +
 +      * lisp.h (get_system_name, get_operating_system_release):
 +      Move decls here, to check interfaces.
 +      * process.c (get_operating_system_release): Move decl to lisp.h.
 +      * xrdb.c (get_system_name): Likewise.
 +      * editfns.c (init_editfns, Fuser_login_name, Fuser_uid):
 +      (Fuser_real_uid, Fuser_full_name): Remove unnecessary casts,
 +      some of which prompt warnings from gcc -Wbad-function-cast.
 +      (Fformat_time_string, Fencode_time, Finsert_char):
 +      (Ftranslate_region_internal, Fformat):
 +      Rename or remove local vars to avoid shadowing.
 +      (Ftranslate_region_internal): Mark var as initialized.
 +
 +      * doc.c (Fdocumentation, Fsnarf_documentation): Move locals to
 +      avoid shadowing.
 +
 +      * lisp.h (eassert): Check that the argument compiles, even if
 +      ENABLE_CHECKING is not defined.
 +
 +      * data.c (Findirect_variable): Name an expression, to avoid
 +      gcc -Wbad-function-cast warning.
 +      (default_value, arithcompare, arith_driver, arith_error): Now static.
 +      (store_symval_forwarding): Rename local to avoid shadowing.
 +      (Fmake_variable_buffer_local, Fmake_local_variable):
 +      Mark variables as initialized.
 +      (do_blv_forwarding, do_symval_forwarding): Remove; unused.
 +
 +      * alloc.c (check_cons_list): Do not define unless GC_CHECK_CONS_LIST.
 +      (Fmake_vector, Fvector, Fmake_byte_code, Fgarbage_collect):
 +      Rename locals to avoid shadowing.
 +      (mark_stack): Move local variables into the #ifdef region where
 +      they're used.
 +      (BLOCK_INPUT_ALLOC, UNBLOCK_INPUT_ALLOC): Define only if
 +      ! defined SYSTEM_MALLOC && ! defined SYNC_INPUT, as they are not
 +      needed otherwise.
 +      (CHECK_ALLOCATED): Define only if GC_CHECK_MARKED_OBJECTS.
 +      (GC_STRING_CHARS): Remove; not used.
 +      (Fmemory_limit): Cast sbrk's returned value to char *.
 +
 +      * lisp.h (check_cons_list): Declare if GC_CHECK_CONS_LIST; this
 +      avoids undefined behavior in theory.
 +
 +      * regex.c (IF_LINT): Add defn, for benefit of ../lib-src.
 +
 +      Use functions, not macros, for up- and down-casing (Bug#8254).
 +      * buffer.h (DOWNCASE_TABLE, UPCASE_TABLE, DOWNCASE, UPPERCASEP):
 +      (NOCASEP, LOWERCASEP, UPCASE, UPCASE1): Remove.  All callers changed
 +      to use the following functions instead of these macros.
 +      (downcase): Adjust to lack of DOWNCASE_TABLE.  Return int, not
 +      EMACS_INT, since callers assume the returned value fits in int.
 +      (upcase1): Likewise, for UPCASE_TABLE.
 +      (uppercasep, lowercasep, upcase): New static inline functions.
 +      * editfns.c (Fchar_equal): Remove no-longer-needed workaround for
 +      the race-condition problem in the old DOWNCASE.
 +
 +      * regex.c (CHARSET_LOOKUP_RANGE_TABLE_RAW, POP_FAILURE_REG_OR_COUNT):
 +      Rename locals to avoid shadowing.
 +      (regex_compile, re_match_2_internal): Move locals to avoid shadowing.
 +      (regex_compile, re_search_2, re_match_2_internal):
 +      Remove unused local vars.
 +      (FREE_VAR): Rewrite so as not to use empty "else",
 +      which gcc can warn about.
 +      (regex_compile, re_match_2_internal): Mark locals as initialized.
 +      (RETALLOC_IF): Define only if needed.
 +      (WORDCHAR_P): Likewise.  This one is never needed, but is used
 +      only in a comment talking about a compiler bug, so put inside
 +      the #if 0 of that comment.
 +      (CHARSET_LOOKUP_BITMAP, FAIL_STACK_FULL, RESET_FAIL_STACK):
 +      (PUSH_FAILURE_ELT, BUF_PUSH_3, STOP_ADDR_VSTRING):
 +      Remove; unused.
 +
 +      * search.c (boyer_moore): Rename locals to avoid shadowing.
 +      * character.h (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE):
 +      (PREV_CHAR_BOUNDARY): Likewise.
 +
 +      * search.c (simple_search): Remove unused var.
 +
 +      * dired.c (compile_pattern): Move decl from here ...
 +      * lisp.h: ... to here, so that it can be checked.
 +      (struct re_registers): New forward decl.
 +
 +      * character.h (INC_POS, DEC_POS): Rename locals to avoid shadowing.
 +
 +      * indent.c (MULTIBYTE_BYTES_WIDTH): New args bytes, width.
 +      All uses changed.
 +      (MULTIBYTE_BYTES_WIDTH, scan_for_column, compute_motion):
 +      Rename locals to avoid shadowing.
 +      (Fvertical_motion): Mark locals as initialized.
 +
 +      * casefiddle.c (casify_object, casify_region): Now static.
 +      (casify_region): Mark local as initialized.
 +
 +      * cmds.c (internal_self_insert): Rename local to avoid shadowing.
 +
 +      * lisp.h (GCPRO2_VAR, GCPRO3_VAR, GCPRO4_VAR, GCPRO5_VAR, GCPRO6_VAR):
 +      New macros, so that the caller can use some names other than
 +      gcpro1, gcpro2, etc.
 +      (GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6): Reimplement in terms
 +      of the new macros.
 +      (GCPRO1_VAR, UNGCPRO_VAR): Change the meaning of the second
 +      argument, for consistency with GCPRO2_VAR, etc: it is now the
 +      prefix of the variable, not the variable itself.  All uses
 +      changed.
 +      * dired.c (directory_files_internal, file_name_completion):
 +      Rename locals to avoid shadowing.
 +
 +      Fix a race condition diagnosed by gcc -Wsequence-point (Bug#8254).
 +      An expression of the form (DOWNCASE (x) == DOWNCASE (y)), found in
 +      dired.c's scmp function, had undefined behavior.
 +      * lisp.h (DOWNCASE_TABLE, UPCASE_TABLE, DOWNCASE, UPPERCASEP):
 +      (NOCASEP, LOWERCASEP, UPCASE, UPCASE1): Move from here ...
 +      * buffer.h: ... to here, because these macros use current_buffer,
 +      and the new implementation with inline functions needs to have
 +      current_buffer in scope now, rather than later when the macros
 +      are used.
 +      (downcase, upcase1): New static inline functions.
 +      (DOWNCASE, UPCASE1): Reimplement using these functions.
 +      This avoids undefined behavior in expressions like
 +      DOWNCASE (x) == DOWNCASE (y), which previously suffered
 +      from race conditions in accessing the global variables
 +      case_temp1 and case_temp2.
 +      * casetab.c (case_temp1, case_temp2): Remove; no longer needed.
 +      * lisp.h (case_temp1, case_temp2): Remove their decls.
 +      * character.h (ASCII_CHAR_P): Move from here ...
 +      * lisp.h: ... to here, so that the inline functions mentioned
 +      above can use them.
 +
 +      * dired.c (directory_files_internal_unwind): Now static.
 +
 +      * fileio.c (file_name_as_directory, directory_file_name):
 +      (barf_or_query_if_file_exists, auto_save_error, auto_save_1):
 +      Now static.
 +      (file_name_as_directory): Use const pointers when appropriate.
 +      (Fexpand_file_name): Likewise.  In particular, newdir might
 +      point at constant storage, so make it a const pointer.
 +      (Fmake_directory_internal, Fread_file_name): Remove unused vars.
 +      (Ffile_selinux_context, Fset_file_selinux_context): Fix pointer
 +      signedness issues.
 +      (Fset_file_times, Finsert_file_contents, auto_save_error):
 +      Rename locals to avoid shadowing.
 +
 +      * minibuf.c (choose_minibuf_frame_1): Now static.
 +      (Ftry_completion, Fall_completions): Rename or remove locals
 +      to avoid shadowing.
 +
 +      * marker.c (bytepos_to_charpos): Remove; unused.
 +
 +      * lisp.h (verify_bytepos, count_markers): New decls,
 +      so that gcc does not warn that these functions aren't declared.
 +
 +      * insdel.c (check_markers, make_gap_larger, make_gap_smaller):
 +      (reset_var_on_error, Fcombine_after_change_execute_1): Now static.
 +      (CHECK_MARKERS): Redo to avoid gcc -Wempty-body diagnostic.
 +      (copy_text): Remove unused local var.
 +
 +      * filelock.c (within_one_second): Now static.
 +      (lock_file_1): Rename local to avoid shadowing.
 +
 +      * buffer.c (fix_overlays_before): Mark locals as initialized.
 +      (fix_start_end_in_overlays): Likewise.  This function should be
 +      simplified by using pointers-to-pointers, but that's a different
 +      matter.
 +      (switch_to_buffer_1): Now static.
 +      (Fkill_buffer, record_buffer, Fbury_buffer, Fset_buffer_multibyte):
 +      (report_overlay_modification): Rename locals to avoid shadowing.
 +
 +      * sysdep.c (system_process_attributes): Rename vars to avoid shadowing.
 +      Fix pointer signedness issue.
 +      (sys_subshell): Mark local as volatile if checking for lint,
 +      to suppress a gcc -Wclobbered warning that does not seem to be right.
 +      (MAXPATHLEN): Define only if needed.
 +
 +      * process.c (serial_open, serial_configure): Move decls from here ...
 +      * systty.h: ... to here, so that they can be checked.
 +
 +      * fns.c (get_random, seed_random): Move extern decls from here ...
 +      * lisp.h: ... to here, so that they can be checked.
 +
 +      * sysdep.c (reset_io): Now static.
 +      (wait_for_termination_signal): Remove; unused.
 +
 +      * keymap.c (keymap_parent, keymap_memberp, map_keymap_internal):
 +      (copy_keymap_item, append_key, push_text_char_description):
 +      Now static.
 +      (Fwhere_is_internal): Don't test CONSP (sequences) unnecessarily.
 +      (DENSE_TABLE_SIZE): Remove; unused.
 +      (get_keymap, access_keymap, Fdefine_key, Fwhere_is_internal):
 +      (describe_map_tree):
 +      Rename locals to avoid shadowing.
 +
 +      * keyboard.c: Declare functions static if they are not used elsewhere.
 +      (echo_char, echo_dash, cmd_error, top_level_2):
 +      (poll_for_input, handle_async_input): Now static.
 +      (read_char, kbd_buffer_get_event, make_lispy_position):
 +      (make_lispy_event, make_lispy_movement, apply_modifiers):
 +      (decode_keyboard_code, tty_read_avail_input, menu_bar_items):
 +      (parse_tool_bar_item, read_key_sequence, Fread_key_sequence):
 +      (Fread_key_sequence_vector): Rename locals to avoid shadowing.
 +      (read_key_sequence, read_char): Mark locals as initialized.
 +      (Fexit_recursive_edit, Fabort_recursive_edit): Mark with NO_RETURN.
 +
 +      * keyboard.h (make_ctrl_char): New decl.
 +      (mark_kboards): Move decl here ...
 +      * alloc.c (mark_kboards): ... from here.
 +
 +      * lisp.h (force_auto_save_soon): New decl.
 +
 +      * emacs.c (init_cmdargs): Rename local to avoid shadowing.
 +      (DEFINE_DUMMY_FUNCTION): New macro.
 +      (__do_global_ctors, __do_global_ctors_aux, __do_global_dtors, __main):
 +      Use it.
 +      (main): Add casts to avoid warnings
 +      if GCC considers string literals to be constants.
 +
 +      * lisp.h (fatal_error_signal): Add decl, since it's exported.
 +
 +      * dbusbind.c: Pointer signedness fixes.
 +      (xd_signature, xd_append_arg, xd_initialize):
 +      (Fdbus_call_method, Fdbus_call_method_asynchronously):
 +      (Fdbus_method_return_internal, Fdbus_method_error_internal):
 +      (Fdbus_send_signal, xd_read_message_1, Fdbus_register_service):
 +      (Fdbus_register_signal): Use SSDATA when the context wants char *.
 +
 +      * dbusbind.c (Fdbus_init_bus): Add cast to avoid warning
 +      if GCC considers string literals to be constants.
 +      (Fdbus_register_service, Fdbus_register_method): Remove unused vars.
 +
 +2011-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * print.c (PRINT_CIRCLE_CANDIDATE_P): New macro.
 +      (print_preprocess, print_object): New macro to fix last change.
 +
 +      * print.c (print_preprocess): Don't forget font objects.
 +
 +2011-03-16  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * emacs.c (USAGE3): Doc fixes.
 +
 +2011-03-15  Andreas Schwab  <schwab@linux-m68k.org>
  
 -2007-05-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * coding.c (detect_coding_iso_2022): Reorganize code to clarify
 +      structure.
  
 -      * editfns.c (Ftranspose_regions): Yet another int/Lisp_Object
 -      mixup (YAILOM).
 +2011-03-14  Juanma Barranquero  <lekktu@gmail.com>
  
 -2007-05-07  Andreas Schwab  <schwab@suse.de>
 +      * lisp.h (VWindow_system, Qfile_name_history):
 +      * keyboard.h (lispy_function_keys) [WINDOWSNT]:
 +      * w32term.h (w32_system_caret_hwnd, w32_system_caret_height)
 +      (w32_system_caret_x, w32_system_caret_y): Declare extern.
  
 -      * keymap.c (Flookup_key): Fix typo in last change.
 +      * w32select.c: Don't #include "keyboard.h".
 +      (run_protected): Add extern declaration for waiting_for_input.
  
 -2007-05-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * w32.c (Qlocal, noninteractive1, inhibit_window_system):
 +      * w32console.c (detect_input_pending, read_input_pending)
 +      (encode_terminal_code):
 +      * w32fns.c (quit_char, lispy_function_keys, Qtooltip)
 +      (w32_system_caret_hwnd, w32_system_caret_height, w32_system_caret_x)
 +      (w32_system_caret_y, Qfile_name_history):
 +      * w32font.c (w32font_driver, QCantialias, QCotf, QClang):
 +      * w32inevt.c (reinvoke_input_signal, lispy_function_keys):
 +      * w32menu.c (Qmenu_bar, QCtoggle, QCradio, Qoverriding_local_map)
 +      (Qoverriding_terminal_local_map, Qmenu_bar_update_hook):
 +      * w32proc.c (Qlocal, report_file_error):
 +      * w32term.c (Vwindow_system, updating_frame):
 +      * w32uniscribe.c (initialized, uniscribe_font_driver):
 +      Remove unneeded extern declarations.
  
 -      * keymap.c (Fdefine_key, Flookup_key): Only do the 0x80->meta_modifier
 -      mapping for unibyte strings.
 +2011-03-14  Chong Yidong  <cyd@stupidchicken.com>
  
 -2007-05-01  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * buffer.c (Fmake_indirect_buffer): Fix incorrect assertions.
  
 -      * macmenu.c (mac_dialog_show): Apply 2007-04-27 change for xmenu.c.
 -      (Fx_popup_dialog) [MAC_OSX]: Likewise.
 +2011-03-13  Chong Yidong  <cyd@stupidchicken.com>
  
 -2007-04-29  Richard Stallman  <rms@gnu.org>
 +      * buffer.h (BUF_BEGV, BUF_BEGV_BYTE, BUF_ZV, BUF_ZV_BYTE, BUF_PT)
 +      (BUF_PT_BYTE): Rewrite to handle indirect buffers (Bug#8219).
 +      These macros can no longer be used for assignment.
  
 -      * insdel.c (replace_range): For undo, record insertion first.
 +      * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
 +      Assign struct members directly, instead of using BUF_BEGV etc.
 +      (record_buffer_markers, fetch_buffer_markers): New functions for
 +      recording and fetching special buffer markers.
 +      (set_buffer_internal_1, set_buffer_temp): Use them.
  
 -2007-04-29  Andreas Schwab  <schwab@suse.de>
 +      * lread.c (unreadchar): Use SET_BUF_PT_BOTH.
  
 -      * lisp.h (VECSIZE): Use OFFSETOF.
 +      * insdel.c (adjust_point): Use SET_BUF_PT_BOTH.
  
 -2007-04-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +      * intervals.c (temp_set_point_both): Use SET_BUF_PT_BOTH.
 +      (get_local_map): Use SET_BUF_BEGV_BOTH and SET_BUF_ZV_BOTH.
  
 -      * xdisp.c (try_window_reusing_current_matrix): Fix number of
 -      disabled lines.
 +      * xdisp.c (hscroll_window_tree):
 +      (reconsider_clip_changes): Use PT instead of BUF_PT.
  
 -2007-04-28  Richard Stallman  <rms@gnu.org>
 +2011-03-13  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * makefile.w32-in ($(BLD)/editfns.$(O)): Depend on
 +      $(EMACS_ROOT)/lib/intprops.h.
 +
 +2011-03-13  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix more problems found by GCC 4.5.2's static checks.
 +
 +      * gtkutil.c (xg_get_pixbuf_from_pixmap): Add cast from char *
 +      to unsigned char * to avoid compiler diagnostic.
 +      (xg_free_frame_widgets): Make it clear that a local variable is
 +      needed only if USE_GTK_TOOLTIP.
 +      (gdk_window_get_screen): Make it clear that this macro is needed
 +      only if USE_GTK_TOOLTIP.
 +      (int_gtk_range_get_value): New function, which avoids a diagnostic
 +      from gcc -Wbad-function-cast.
 +      (xg_set_toolkit_scroll_bar_thumb): Use it.
 +      (xg_tool_bar_callback, xg_tool_item_stale_p): Rewrite to avoid
 +      diagnostic from gcc -Wbad-function-cast.
 +      (get_utf8_string, xg_get_file_with_chooser):
 +      Rename locals to avoid shadowing.
 +      (create_dialog): Move locals to avoid shadowing.
 +
 +      * xgselect.c (xg_select): Remove unused var.
 +
 +      * image.c (four_corners_best): Mark locals as initialized.
 +      (gif_load): Initialize transparent_p to zero (Bug#8238).
 +      Mark another local as initialized.
 +      (my_png_error, my_error_exit): Mark with NO_RETURN.
 +
 +      * image.c (clear_image_cache): Now static.
 +      (DIM, HAVE_STDLIB_H_1): Remove unused macros.
 +      (xpm_load): Redo to avoid "discards qualifiers" gcc warning.
 +      (x_edge_detection): Remove unnecessary cast that
 +      gcc -Wbad-function-cast diagnoses.
 +      (gif_load): Fix pointer signedness.
 +      (clear_image_cache, xbm_read_bitmap_data, x_detect_edges):
 +      (jpeg_load, gif_load): Rename locals to avoid shadowing.
 +
 +2011-03-12  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Improve quality of tests for time stamp overflow.
 +      For example, without this patch (encode-time 0 0 0 1 1
 +      1152921504606846976) returns the obviously-bogus value (-948597
 +      62170) on my RHEL 5.5 x86-64 host.  With the patch, it correctly
 +      reports time overflow.  See
 +      <http://lists.gnu.org/archive/html/emacs-devel/2011-03/msg00470.html>.
 +      * deps.mk (editfns.o): Depend on ../lib/intprops.h.
 +      * editfns.c: Include limits.h and intprops.h.
 +      (TIME_T_MIN, TIME_T_MAX): New macros.
 +      (time_overflow): Move earlier, to before first use.
 +      (hi_time, lo_time): New functions, for an accurate test for
 +      out-of-range times.
 +      (Fcurrent_time, Fget_internal_run_time, make_time): Use them.
 +      (Fget_internal_run_time): Don't assume time_t fits in int.
 +      (make_time): Use list2 instead of Fcons twice.
 +      (Fdecode_time): More accurate test for out-of-range times.
 +      (check_tm_member): New function.
 +      (Fencode_time): Use it, to test for out-of-range times.
 +      (lisp_time_argument): Don't rely on undefined left-shift and
 +      right-shift behavior when checking for time stamp overflow.
 +
 +      * editfns.c (time_overflow): New function, refactoring common code.
 +      (Fformat_time_string, Fdecode_time, Fencode_time):
 +      (Fcurrent_time_string): Use it.
 +
 +      Move 'make_time' to be next to its inverse 'lisp_time_argument'.
 +      * dired.c (make_time): Move to ...
 +      * editfns.c (make_time): ... here.
 +      * systime.h: Note the move.
 +
 +2011-03-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
 -      * lread.c (read_escape): In a string, \s is always space.
 +      * fringe.c (update_window_fringes): Remove unused variables.
  
 -2007-04-27  Jan Djärv  <jan.h.d@swipnet.se>
 +      * unexmacosx.c (copy_data_segment): Also copy __got section.
 +      (Bug#8223)
  
 -      * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog.
 +2011-03-12  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * termcap.c [MSDOS]: Include "msdos.h".
 +      (find_capability, tgetnum, tgetflag, tgetstr, tputs, tgetent):
 +      Constify `char *' arguments and their references according to
 +      prototypes in tparam.h.
 +
 +      * deps.mk (termcap.o): Depend on tparam.h and msdos.h.
 +
 +      * msdos.c (XMenuAddPane): 3rd argument is `const char *' now.
 +      Adapt all references accordingly.
 +
 +      * msdos.h (XMenuAddPane): 3rd argument is `const char *' now.
 +
 +2011-03-11  Tom Tromey  <tromey@redhat.com>
 +
 +      * buffer.c (syms_of_buffer): Remove obsolete comment.
 +
 +2011-03-11  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * termhooks.h (encode_terminal_code): Declare prototype.
 +
 +      * msdos.c (encode_terminal_code): Don't declare prototype.
 +
 +      * term.c (encode_terminal_code): Now external again, used by
 +      w32console.c and msdos.c.
 +
 +      * makefile.w32-in ($(BLD)/term.$(O), ($(BLD)/tparam.$(O)):
 +      Depend on $(SRC)/tparam.h, see 2011-03-11T07:24:21Z!eggert@cs.ucla.edu.
 +
 +2011-03-11  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Fix some minor problems found by GCC 4.5.2's static checks.
 +
 +      * fringe.c (update_window_fringes): Mark locals as initialized
 +      (Bug#8227).
 +      (destroy_fringe_bitmap, init_fringe_bitmap): Now static.
 +
 +      * alloc.c (mark_fringe_data): Move decl from here ...
 +      * lisp.h (mark_fringe_data) [HAVE_WINDOW_SYSTEM]: ... to here,
 +      to check its interface.
 +      (init_fringe_once): Do not declare unless HAVE_WINDOW_SYSTEM.
 +
 +      * fontset.c (free_realized_fontset): Now static.
 +      (Fset_fontset_font): Rename local to avoid shadowing.
 +      (fontset_font): Mark local as initialized.
 +      (FONTSET_SPEC, FONTSET_REPERTORY, RFONT_DEF_REPERTORY): Remove; unused.
 +
 +      * xrdb.c: Include "xterm.h", to check x_load_resources's interface.
 +
 +      * xselect.c (x_disown_buffer_selections): Remove; not used.
 +      (TRACE3) [!defined TRACE_SELECTION]: Remove; not used.
 +      (x_own_selection, Fx_disown_selection_internal): Rename locals
 +      to avoid shadowing.
 +      (x_handle_dnd_message): Remove local to avoid shadowing.
 +
 +      * lisp.h (GCPRO1_VAR, UNGCPRO_VAR): New macros,
 +      so that the caller can use some name other than gcpro1.
 +      (GCPRO1, UNGCPRO): Reimplement in terms of the new macros.
 +      * xfns.c (Fx_create_frame, x_create_tip_frame, Fx_show_tip):
 +      (Fx_backspace_delete_keys_p):
 +      Use them to avoid shadowing, and rename vars to avoid shadowing.
 +      (x_decode_color, x_set_name, x_window): Now static.
 +      (Fx_create_frame): Add braces to silence GCC warning.
 +      (Fx_file_dialog, Fx_select_font): Fix pointer signedness.
 +      (x_real_positions, xg_set_icon_from_xpm_data, x_create_tip_frame):
 +      Remove unused locals.
 +      (Fx_create_frame, x_create_tip_frame, Fx_show_tip):
 +      (Fx_backspace_delete_keys_p): Rename locals to avoid shadowing.
 +      Some of these renamings use the new GCPRO1_VAR and UNGCPRO_VAR
 +      macros.
 +
 +      * xterm.h (x_mouse_leave): New decl.
 +
 +      * xterm.c (x_copy_dpy_color, x_focus_on_frame, x_unfocus_frame):
 +      Remove unused functions.
 +      (x_shift_glyphs_for_insert, XTflash, XTring_bell):
 +      (x_calc_absolute_position): Now static.
 +      (XTread_socket): Don't define label "out" unless it's used.
 +      Don't declare local "event" unless it's used.
 +      (x_iconify_frame, x_free_frame_resources): Don't declare locals
 +      unless they are used.
 +      (XEMBED_VERSION, xembed_set_info): Don't define unless needed.
 +      (x_fatal_error_signal): Remove; not used.
 +      (x_draw_image_foreground, redo_mouse_highlight, XTmouse_position):
 +      (x_scroll_bar_report_motion, handle_one_xevent, x_draw_bar_cursor):
 +      (x_error_catcher, x_connection_closed, x_error_handler):
 +      (x_error_quitter, xembed_send_message, x_iconify_frame):
 +      (my_log_handler): Rename locals to avoid shadowing.
 +      (x_delete_glyphs, x_ins_del_lines): Mark with NO_RETURN.
 +      (x_connection_closed): Tell GCC not to suggest NO_RETURN.
 +
 +      * xfaces.c (clear_face_cache, Fx_list_fonts, Fface_font):
 +      Rename or move locals to avoid shadowing.
 +      (tty_defined_color, merge_face_heights): Now static.
 +      (free_realized_faces_for_fontset): Remove; not used.
 +      (Fx_list_fonts): Mark variable that gcc -Wuninitialized
 +      does not deduce is never used uninitialized.
 +      (STRDUPA, LSTRDUPA, FONT_POINT_SIZE_QUANTUM): Remove; not used.
 +      (LFACEP): Define only if XASSERTS, as it's not needed otherwise.
 +
 +      * terminal.c (store_terminal_param): Now static.
 +
 +      * xmenu.c (menu_highlight_callback): Now static.
 +      (set_frame_menubar): Remove unused local.
 +      (xmenu_show): Rename parameter to avoid shadowing.
 +      (xmenu_show, xdialog_show, xmenu_show): Make local pointers "const"
 +      since they might point to immutable storage.
 +      (next_menubar_widget_id): Declare only if USE_X_TOOLKIT,
 +      since it's unused otherwise.
 +
 +      * xdisp.c (produce_glyphless_glyph): Initialize lower_xoff.
 +      Add a FIXME, since the code still doesn't look right.  (Bug#8215)
 +      (Fcurrent_bidi_paragraph_direction): Simplify slightly; this
 +      avoids a gcc -Wuninitialized diagnostic.
 +      (display_line, BUILD_COMPOSITE_GLYPH_STRING, draw_glyphs):
 +      (note_mouse_highlight): Mark variables that gcc -Wuninitialized
 +      does not deduce are never used uninitialized.
 +
 +      * lisp.h (IF_LINT): New macro, copied from ../lib-src/emacsclient.c.
 +
 +      * xdisp.c (redisplay_window): Rename local to avoid shadowing.
 +      * window.c (window_loop, size_window):
 +      (run_window_configuration_change_hook, enlarge_window): Likewise.
 +
 +      * window.c (display_buffer): Now static.
 +      (size_window): Mark variables that gcc -Wuninitialized
 +      does not deduce are never used uninitialized.
 +      * window.h (check_all_windows): New decl, to forestall
 +      gcc -Wmissing-prototypes diagnostic.
 +      * dispextern.h (bidi_dump_cached_states): Likewise.
 +
 +      * charset.h (CHECK_CHARSET_GET_CHARSET): Rename locals to avoid
 +      shadowing.
 +      * charset.c (map_charset_for_dump, Fchar_charset): Likewise.
 +      Include <limits.h>.
 +      (Fsort_charsets): Redo min/max calculation to shorten the code a bit
 +      and to avoid gcc -Wuninitialized warning.
 +      (load_charset_map): Mark variables that gcc -Wuninitialized
 +      does not deduce are never used uninitialized.
 +      (load_charset): Abort instead of using uninitialized var (Bug#8229).
 +
 +      * coding.c (coding_set_source, coding_set_destination):
 +      Use "else { /* comment */ }" rather than "else /* comment */;"
 +      for clarity, and to avoid gcc -Wempty-body warning.
 +      (Fdefine_coding_system_internal): Don't redeclare 'i' inside
 +      a block, when the outer 'i' will do.
 +      (decode_coding_utf_8, decode_coding_utf_16, detect_coding_emacs_mule):
 +      (emacs_mule_char, decode_coding_emacs_mule, detect_coding_iso_2022):
 +      (decode_coding_iso_2022, decode_coding_sjis, decode_coding_big5):
 +      (decode_coding_raw_text, decode_coding_charset, get_translation_table):
 +      (Fdecode_sjis_char, Fdefine_coding_system_internal):
 +      Rename locals to avoid shadowing.
 +      * character.h (FETCH_STRING_CHAR_ADVANCE): Likewise.
 +      * coding.c (emacs_mule_char, encode_invocation_designation):
 +      Now static, since they're not used elsewhere.
 +      (decode_coding_iso_2022): Add "default: abort ();" as a safety check.
 +      (decode_coding_object, encode_coding_object, detect_coding_system):
 +      (decode_coding_emacs_mule): Mark variables that gcc
 +      -Wuninitialized does not deduce are never used uninitialized.
 +      (detect_coding_iso_2022): Initialize a local variable that might
 +      be used uninitialized.  Leave a FIXME because it's not clear that
 +      this initialization is needed.  (Bug#8211)
 +      (ISO_CODE_LF, ISO_CODE_CR, CODING_ISO_FLAG_EUC_TW_SHIFT):
 +      (ONE_MORE_BYTE_NO_CHECK, UTF_BOM, UTF_16_INVALID_P):
 +      (SHIFT_OUT_OK, ENCODE_CONTROL_SEQUENCE_INTRODUCER):
 +      (ENCODE_DIRECTION_R2L, ENCODE_DIRECTION_L2R):
 +      Remove unused macros.
 +
 +      * category.c (hash_get_category_set): Remove unused local var.
 +      (copy_category_table): Now static, since it's not used elsewhere.
 +      * character.c (string_count_byte8): Likewise.
 +
 +      * ccl.c (CCL_WRITE_STRING, CCL_ENCODE_CHAR, Fccl_execute_on_string):
 +      (Fregister_code_conversion_map): Rename locals to avoid shadowing.
 +
 +      * chartab.c (copy_sub_char_table): Now static, since it's not used
 +      elsewhere.
 +      (sub_char_table_ref_and_range, char_table_ref_and_range):
 +      Rename locals to avoid shadowing.
 +      (ASET_RANGE, GET_SUB_CHAR_TABLE): Remove unused macros.
 +
 +      * bidi.c (bidi_check_type): Now static, since it's not used elsewhere.
 +      (BIDI_BOB): Remove unused macro.
 +
 +      * cm.c (cmgoto): Mark variables that gcc -Wuninitialized does not
 +      deduce are never used uninitialized.
 +      * term.c (encode_terminal_code): Likewise.
 +
 +      * term.c (encode_terminal_code): Now static.  Remove unused local.
 +
 +      * tparam.h: New file.
 +      * term.c, tparam.h: Include it.
 +      * deps.mk (term.o, tparam.o): Depend on tparam.h.
 +      * term.c (tputs, tgetent, tgetflag, tgetnum, tparam, tgetstr):
 +      Move these decls to tparam.h, and make them agree with what
 +      is actually in tparam.c.  The previous trick of using incompatible
 +      decls in different modules does not conform to the C standard.
 +      All callers of tparam changed to use tparam's actual API.
 +      * tparam.c (tparam1, tparam, tgoto):
 +      Use const pointers where appropriate.
 +
 +      * cm.c (calccost, cmgoto): Use const pointers where appropriate.
 +      * cm.h (struct cm): Likewise.
 +      * dispextern.h (do_line_insertion_deletion_costs): Likewise.
 +      * scroll.c (ins_del_costs, do_line_insertion_deletion_costs): Likewise.
 +      * term.c (tty_ins_del_lines, calculate_costs, struct fkey_table):
 +      (term_get_fkeys_1, append_glyphless_glyph, produce_glyphless_glyph):
 +      (turn_on_face, init_tty): Likewise.
 +      * termchar.h (struct tty_display_info): Likewise.
 +
 +      * term.c (term_mouse_position): Rename local to avoid shadowing.
 +
 +      * alloc.c (mark_ttys): Move decl from here ...
 +      * lisp.h (mark_ttys): ... to here, so that it's checked against defn.
 +
 +2011-03-11  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * .gdbinit (pwinx, xbuffer): Fix access to buffer name.
 +
 +2011-03-09  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * search.c (compile_pattern_1): Remove argument regp, unused since
 +      revid:rms@gnu.org-19941211082627-3x1g1wyqkjmwloig.
 +      (compile_pattern): Don't pass it.
 +
 +2011-03-08  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * xterm.h (DEFAULT_GDK_DISPLAY): New define.
 +      (GDK_WINDOW_XID, gtk_widget_get_preferred_size): New defines
 +      for ! HAVE_GTK3.
 +      (GTK_WIDGET_TO_X_WIN): Use GDK_WINDOW_XID.
 +
 +      * xmenu.c (menu_position_func): Call gtk_widget_get_preferred_size.
 +
 +      * gtkutil.c: Include gtkx.h if HAVE_GTK3.  If ! HAVE_GTK3, define
 +      gdk_window_get_screen, gdk_window_get_geometry,
 +      gdk_x11_window_lookup_for_display and GDK_KEY_g.
 +      (xg_set_screen): Use DEFAULT_GDK_DISPLAY.
 +      (xg_get_pixbuf_from_pixmap): New function.
 +      (xg_get_pixbuf_from_pix_and_mask): Change parameters from GdkPixmap
 +      to Pixmap, take frame as parameter, remove GdkColormap parameter.
 +      Call xg_get_pixbuf_from_pixmap instead of
 +      gdk_pixbuf_get_from_drawable.
 +      (xg_get_image_for_pixmap): Do not make GdkPixmaps, call
 +      xg_get_pixbuf_from_pix_and_mask with Pixmap parameters instead.
 +      (xg_check_special_colors): Use GtkStyleContext and its functions
 +      for HAVE_GTK3.
 +      (xg_prepare_tooltip, xg_hide_tooltip): Call gdk_window_get_screen.
 +      (xg_prepare_tooltip, create_dialog, menubar_map_cb)
 +      (xg_update_frame_menubar, xg_tool_bar_detach_callback)
 +      (xg_tool_bar_attach_callback, xg_update_tool_bar_sizes):
 +      Call gtk_widget_get_preferred_size.
 +      (xg_frame_resized): gdk_window_get_geometry only takes 5
 +      parameters.
 +      (xg_win_to_widget, xg_event_is_for_menubar):
 +      Call gdk_x11_window_lookup_for_display.
 +      (xg_set_widget_bg): New function.
 +      (delete_cb): New function.
 +      (xg_create_frame_widgets): Connect delete-event to delete_cb.
 +      Call xg_set_widget_bg.  Only set backgrund pixmap for ! HAVE_GTK3
 +      (xg_set_background_color): Call xg_set_widget_bg.
 +      (xg_set_frame_icon): Call xg_get_pixbuf_from_pix_and_mask.
 +      (xg_create_scroll_bar): vadj is a GtkAdjustment for HAVE_GTK3.
 +      Only call gtk_range_set_update_policy if ! HAVE_GTK3.
 +      (xg_make_tool_item): Only connect xg_tool_bar_item_expose_callback
 +      if ! HAVE_GTK3.
 +      (update_frame_tool_bar): Call gtk_widget_hide.
 +      (xg_initialize): Use GDK_KEY_g.
 +
 +      * xsmfns.c (gdk_set_sm_client_id): Define to gdk_set_sm_client_id
 +      if ! HAVE_GTK3
 +      (x_session_initialize): Call gdk_x11_set_sm_client_id.
 +
 +      * xterm.c (XFillRectangle): Use cairo routines for HAVE_GTK3.
 +      (x_term_init): Disable Xinput(2) with GDK_CORE_DEVICE_EVENTS.
 +      Load ~/emacs.d/gtkrc only for ! HAVE_GTK3.
 +
 +2011-03-08  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * gtkutil.c (xg_update_menubar, create_menus): Create empty
 -      submenu for menu bar items.
 +      * w32xfns.c (select_palette): Check success of RealizePalette against
 +      GDI_ERROR, not zero.
  
 -See ChangeLog.10 for earlier changes.
 +See ChangeLog.11 for earlier changes.
  
  ;; Local Variables:
  ;; coding: utf-8
diff --cc src/xmenu.c
index 7fcd2ad372483b46987406155862662e0112bc8a,bd3aea89e3a0eeb158acecb2b7b93c5e43673bc3..0dd652b566d1e710444e851b491d9b18bc7e7c3e
@@@ -1604,9 -1658,20 +1604,20 @@@ create_and_show_popup_menu (FRAME_PTR f
  
  #endif /* not USE_GTK */
  
+ static Lisp_Object
+ cleanup_widget_value_tree (Lisp_Object arg)
+ {
+   struct Lisp_Save_Value *p = XSAVE_VALUE (arg);
+   widget_value *wv = p->pointer;
+   free_menubar_widget_value_tree (wv);
+   return Qnil;
+ }
  Lisp_Object
  xmenu_show (FRAME_PTR f, int x, int y, int for_click, int keymaps,
 -          Lisp_Object title, char **error, EMACS_UINT timestamp)
 +          Lisp_Object title, const char **error_name, Time timestamp)
  {
    int i;
    widget_value *wv, *save_wv = 0, *first_wv = 0, *prev_wv = 0;