]> code.delx.au - gnu-emacs/blobdiff - src/ChangeLog
Merge from emacs-24; up to 2012-12-31T11:35:13Z!rudalics@gmx.at
[gnu-emacs] / src / ChangeLog
index 28899150e96fe47bdd720856b53127a5ec846128..e6b594258dca6860446092f6fbe42c70255f5f8a 100644 (file)
-2013-07-15  Glenn Morris  <rgm@gnu.org>
+2013-07-20  Glenn Morris  <rgm@gnu.org>
 
        * image.c (Fimage_flush): Fix doc typo.
 
-2013-03-11  Glenn Morris  <rgm@gnu.org>
-
-       * Version 24.3 released.
-
-2013-03-05  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix a build failure on OpenBSD 4.x and MirBSD (Bug#13881).
-       * sysdep.c (list_system_processes)
-       [BSD_SYSTEM && !DARWIN_OS && !__FreeBSD__]:
-       Make it a stub in this case; otherwise the build might fail,
-       and this code hasn't been tested on such hosts anyway.
-       Problem reported by Nelson H. F. Beebe in
-       <http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00021.html>
-       and analyzed by Jérémie Courrèges-Anglas in
-       <http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00062.html>.
-
-2013-03-02  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * lisp.h (XPNTR) [!USE_LSB_TAG]: Remove extra paren.  (Bug#13734)
-
-2013-02-27  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32.c (sys_open): Don't reset the flags for FD in fd_info[].
-       (Bug#13546).
-
-2013-02-24  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * xdisp.c (set_message): Only check for debug-on-message if STRING
-       is a string.  (Bug#13797)
-
-2013-02-24  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix regression introduced by July 10 filelock.c patch.
-       * filelock.c (fill_in_lock_file_name): Fix crash caused by the
-       2012-07-10 patch to this file.  Reported by Eli Zaretskii in
-       <http://lists.gnu.org/archive/html/emacs-devel/2013-02/msg00533.html>
-       and diagnosed by Andreas Schwab in
-       <http://lists.gnu.org/archive/html/emacs-devel/2013-02/msg00534.html>.
-
-2013-02-18  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32proc.c (new_child): Avoid leaking handles if the subprocess
-       resources were not orderly released.
-
-2013-02-17  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32proc.c (new_child): Remove the loop that attempted to salvage
-       slots of dead processes.
-       (new_child, delete_child, find_child_pid): Don't insist on
-       procinfo.hProcess be NULL for a process slot to be considered
-       inactive, or be non-NULL to be considered active.
-       (reader_thread): Don't set the FILE_AT_EOF flag of a file
-       descriptor if the corresponding child was deleted and its
-       char_avail handle is NULL.
-       (reap_subprocess): Don't reset the FILE_AT_EOF flag.  (Bug#13546)
-       (sys_select): Don't pass a NULL process handle to
-       WaitForMultipleObjects.  (Bug#13735)
-
-       * xdisp.c (x_draw_vertical_border): For a window that is neither
-       the leftmost nor the rightmost, redraw both the left and the right
-       vertical borders.  (Bug#13723)
-
-2013-02-15  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32proc.c (new_child): Free up to 2 slots of dead processes at a
-       time.  Improve diagnostics in DebPrint.
-       (reader_thread): If cp->char_avail is NULL, set the FILE_AT_EOF
-       flag, so that sys_select could have a chance of noticing that this
-       process is dead, and call a SIGCHLD handler for it.  Improve
-       diagnostics in DebPrint.
-       (reap_subprocess): Reset the FILE_AT_EOF flag set by
-       reader_thread.
-       (sys_select): Watch a process whose procinfo.hProcess is non-NULL
-       even if its char_avail is NULL.  Allows to reap subprocesses that
-       were forcibly deleted by delete-process.  (Bug#13546)
-
-       * w32.c (sys_socket, sys_bind, sys_connect, sys_gethostname)
-       (sys_gethostbyname, sys_getservbyname, sys_getpeername)
-       (sys_shutdown, sys_setsockopt, sys_listen, sys_getsockname)
-       (sys_accept, sys_recvfrom, sys_sendto, fcntl): In case of failure,
-       make sure errno is set to an appropriate value.  (Bug#13546)
-       (socket_to_fd): Add assertion against indexing fd_info[] with a
-       value that is out of bounds.
-       (sys_accept): If fd is negative, do not set up the child_process
-       structure for reading.
-
-2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Backport GCPRO fix from trunk (Bug#13650).
-       The bug was reported for AIX before today's changes.
-       I reproduced the problem on Fedora 17 x86-64 when setting
-       GC_MARK_STACK by hand, and I presume it occurs with default
-       configurations on HP-UX and Unixware.
-       Trunk fix on 2013-01-14 by Dmitry Antipov <dmantipov@yandex.ru>:
-       Fix compilation with GC_MARK_STACK == GC_USE_GCPROS_AS_BEFORE.
-       * eval.c (eval_sub): Protect `form' from being GCed before its
-       car and cdr becomes protected with the backtrace entry.
-
-       Fix AIX port (Bug#13650).
-       * lisp.h (XPNTR) [!USE_LSB_TAG && DATA_SEG_BITS]:
-       Fix bug introduced in 2012-07-27 change.  DATA_SEG_BITS, if set,
-       was #undeffed earlier, so it cannot be used as a macro here.
-       Use the constant and not the macro.
-       * unexaix.c: Revert 2013-02-11 and 2013-02-12 changes to this
-       file.  They're almost surely OK but we're just before a release so
-       we should avoid changes unless they're clearly needed.  Instead,
-       make the following minor change:
-       (ADDR_CORRECT): New macro.
-
-2013-02-13  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32proc.c (new_child): If no vacant slots are found in
-       child_procs[], make another pass looking for slots whose process
-       has exited or died.  (Bug#13546)
-
-       * w32.c (sys_pipe): When failing due to file descriptors above
-       MAXDESC, set errno to EMFILE.
-       (_sys_read_ahead): Update cp->status when failing to read serial
-       communications input, so that the status doesn't stay at
-       STATUS_READ_IN_PROGRESS.  (Bug#13546)
-
-2013-02-13  Glenn Morris  <rgm@gnu.org>
-
-       * keyboard.c (input-decode-map, key-translation-map): Doc fixes.
-
-2013-02-12  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Improve AIX port some more (Bug#13650).
-       With this, it should be as good as it was in 23.3, though it's
-       still pretty bad: the dumped emacs does not run.  See Mark Fleishman in
-       http://lists.gnu.org/archive/html/help-gnu-emacs/2011-04/msg00287.html
-       * unexaix.c (start_of_text): Remove.
-       (_data, _text): Declare as char[], not int, as AIX manual suggests.
-       (bias, lnnoptr, text_scnptr, data_scnptr, load_scnptr)
-       (orig_load_scnptr, orig_data_scnptr):
-       Now off_t, not long, since they are file offsets.
-       (make_hdr): Use _data, not start_of_data ().
-       This is the key part of the fix.
-       (make_hdr, unrelocate_symbols): Use off_t for file offsets.
-       (unrelocate_symbols): Cast pointers to intptr_t, not to ulong.
-
-       * pre-crt0.c (data_start): Initialize to 1.
-       This ports to compilers that optimize the external declaration
-       'int x = 0;' as if it were 'int x;' to shrink the executable.
-
-2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Improve AIX port (Bug#13650).
-       This doesn't fix the bug, but it makes progress: Emacs builds now.
-       * unexaix.c: Include inttypes.h, stdarg.h.
-       (report_error, report_error_1): Mark as _Noreturn.
-       (report_error): Don't report the wrong errno.
-       (report_error_1): Now varargs.  All callers changed.
-       (make_hdr): Use uintptr_t, not unsigned, when converting pointers
-       to unsigned.  Don't use ADDR_CORRECT, as it no longer exists.
-       (write_ptr): Use %p to print address rather than %lx and a cast
-       to unsigned long.  Grow buffer a bit, to be safer.
-
-2013-02-11  Eli Zaretskii  <eliz@gnu.org>
-
-       * bidi.c (bidi_resolve_neutral): After finding the next
-       non-neutral character, accept NEUTRAL_ON type as well, because
-       directional control characters, such as LRE and RLE, have their
-       type converted to that by bidi_resolve_weak.  This avoids aborts
-       when LRE/RLE follows a run of neutrals.
-       (bidi_move_to_visually_next): Assert that return value of
-       bidi_peek_at_next_level is non-negative.  Negative values will
-       cause an infloop.
-
-2013-02-05  Daniel Colascione  <dancol@dancol.org>
-
-       * emacs.c: Use execvp, not execv, when DAEMON_MUST_EXEC, so that
-       daemon mode works on cygw32 when Emacs is installed and not just
-       during development.
-
-2013-02-01  Eli Zaretskii  <eliz@gnu.org>
-
-       * callproc.c (Fcall_process): Make sure program name in PATH and
-       new_argv[0] is encoded, if needed.  Otherwise, un-encoded string
-       is passed to exec/spawnve, which fails unless the file-name
-       encoding is UTF-8.
+2013-07-20  Paul Eggert  <eggert@cs.ucla.edu>
 
-       * w32proc.c (sys_spawnve): Make sure escape_char is initialized,
-       even if w32-quote-process-args is nil.
-
-2013-01-27  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32.c (sys_open): Zero out the flags for the new file descriptor.
-       (sys_close): Zero out the flags for the file descriptor before
-       closing it.  (Bug#13546)
-
-2013-01-26  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32.c (parse_root, get_volume_info, readdir, read_unc_volume)
-       (logon_network_drive, stat_worker, symlink, chase_symlinks): Use
-       CharNextExA and CharPrevExA to iterate over file names encoded in
-       DBCS.  (Bug#13553)
-
-2013-01-25  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32.c (w32_get_long_filename, init_environment, readlink):
-       Support file names encoded in DBCS codepages.
-       (readlink): Use the current file-name-coding-system, not the ANSI
-       codepage, to decode and handle targets of symlinks.
-
-2013-01-23  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32.c (max_filename_mbslen): New function.
-       (normalize_filename, readdir): Use it to detect locales where ANSI
-       encoding of file names uses a double-byte character set (DBCS).
-       If a DBCS encoding is used, advance by characters using
-       CharNextExA, instead of incrementing a 'char *' pointer.  Use
-       _mbslwr instead of _strlwr.  (Bug#13515)
-
-2013-01-22  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32heap.c (allocate_heap) [!_WIN64]: Decrease the initial
-       request of memory reservation to 1.7GB.  (Bug#13065)
-
-2013-01-20  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * coding.c (detect_coding_iso_2022): Move back mis-reordered code
-       at check_extra_latin label.  (Bug#13505)
-
-2013-01-17  Glenn Morris  <rgm@gnu.org>
-
-       * fns.c (Frandom): Doc fix.
-
-2013-01-13  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsfont.m (LCD_SMOOTHING_MARGIN): New define.
-       (nsfont_draw): Remove disabling of LCD smoothing.
-       (ns_glyph_metrics): Add LCD_SMOOTHING_MARGIN to bearings to fix
-       Bug#11484 with LCD smoothing on.
-
-2013-01-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>  (tiny change)
-
-       * gtkutil.c (xg_initialize): Backport from trunk.
-       Add ifdef HAVE_FREETYPE around x_last_font_name (Bug#13403).
-
-2013-01-11  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Backport typo fix from trunk, for AIX (Bug#13408).
-       * eval.c (mark_backtrace) [BYTE_MARK_STACK]: Remove stray '*'.
-       This follows up on the 2012-09-29 patch that removed indirection
-       for the 'function' field.  Reported by Sergey Vinokurov in
-       <http://lists.gnu.org/archive/html/emacs-devel/2012-11/msg00263.html>.
-
-       Fix SIGDANGER handlers, for AIX (Bug#13408).
-       * sysdep.c.c (handle_danger_signal, deliver_danger_signal) [SIGDANGER]:
-       Move handlers here from emacs.c; they were out of place.
-
-2013-01-05  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (dump_glyph): Align glyph data better.  Use "pD" instead
-       of a non-portable "t" to print ptrdiff_t values.  Allow up to 9
-       digits for buffer positions, before misalignment starts.  Display
-       "0" for integer "object" field.
-       (dump_glyph_row): Adapt the header line to changes in dump_glyph.
-       Display the newline glyph more unambiguously.
-
-2013-01-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * nsterm.m (ns_draw_underwave):
-       * w32term.c (w32_draw_underwave):
-       * xterm.c (x_draw_underwave): Make underwave look more triangular
-       and also degrade gracefully for small fonts.  (Bug#13000)
-
-       * nsterm.m (ns_draw_text_decoration):
-       * w32term.c (x_draw_glyph_string):
-       * xterm.c (x_draw_glyph_string): Don't use previous underline
-       thickness and position if previous underline type is underwave.
-
-2012-12-31  Glenn Morris  <rgm@gnu.org>
-
-       * keymap.c (Fkey_description): Doc fix.  (Bug#13323)
-
-2012-12-29  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * src/Makefile.in (TEMACS_LDFLAGS2): Remove.
-       (LIBS_GNUSTEP): Define.
-       (LIBES): Add $(LIBS_GNUSTEP).
-       (temacs$(EXEEXT)): Use $(LDFLAGS) instead of $(TEMACS_LDFLAGS2).
-
-2012-12-27  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (set_cursor_from_row): Don't confuse a truncation or
-       continuation glyph on a TTY with an indication of an empty line.
-       (Bug#13277)
-
-2012-12-27  Glenn Morris  <rgm@gnu.org>
-
-       * cygw32.c (Fcygwin_convert_file_name_to_windows)
-       (Fcygwin_convert_file_name_from_windows): Doc fixes.
-
-2012-12-24  Eli Zaretskii  <eliz@gnu.org>
-
-       * fileio.c (file_name_as_directory, directory_file_name): Accept
-       an additional argument MULTIBYTE to indicate whether the input C
-       came from a multibyte or a unibyte Lisp string; all callers
-       adjusted.  Don't assume the input string is always multibyte.
-       (Bug#13262)
-       (Ffile_name_directory) [DOS_NT]: Handle unibyte strings correctly:
-       don't ENCODE_FILE them, and return a unibyte string if the input
-       was unibyte.
-       (Fexpand_file_name): Don't mix unibyte with multibyte strings, and
-       don't assume the input strings will always be multibyte.  If the
-       input strings are multibyte, decode strings obtained from C
-       library functions.
-
-2012-12-22  Martin Rudalics  <rudalics@gmx.at>
-
-       * window.c (Fselect_window): Reword doc-string (Bug#13248).
-
-2012-12-21  Eli Zaretskii  <eliz@gnu.org>
-
-       * fileio.c (Finsert_file_contents): Doc fix.
-
-       * w32proc.c (new_child, delete_child, find_child_pid): For a
-       subprocess, consider its slot being in use as long as its process
-       handle (procinfo.hProcess) is not NULL.  This avoids reusing the
-       slot when a new process is started immediately after killing
-       another one, without waiting enough time for the first process to
-       be reaped and resources allocated for it be orderly freed.
-       (Bug#13086)
-       Suggested by Fabrice Popineau <fabrice.popineau@supelec.fr>.
-
-2012-12-21  Chong Yidong  <cyd@gnu.org>
-
-       * buffer.c (Fset_buffer_major_mode): Doc fix (Bug#13231).
-
-2012-12-15  Chong Yidong  <cyd@gnu.org>
-
-       * fns.c (Fcompare_strings): Doc fix (Bug#13081).
-
-2012-12-14  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32.c (get_name_and_id): Always pass NULL as the first argument
-       of lookup_account_sid.  Avoids crashes with UNC file names that
-       refer to DFS domains, not to specific machine names.  (Bug#12621)
-       Remove now unused argument FNAME; all callers changed.
-       (get_file_owner_and_group): Remove now unused argument FNAME; all
-       callers changed.
-
-2012-12-11  Eli Zaretskii  <eliz@gnu.org>
-
-       * search.c (search_buffer): Check the inverse translations of each
-       character in pattern when the buffer being searched is unibyte.
-       (Bug#13084)
-
-2012-12-10  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * fileio.c (Fvisited_file_modtime): Return (-1 ...) for nonexistent
-       files, fixing a regression from 24.2.
-       (Fverify_visited_file_modtime): Don't read uninitialized st.st_size.
-
-2012-12-08  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsterm.m (fd_handler:): FD_ZERO fds (Bug#13103).
-
-2012-12-08  Fabrice Popineau  <fabrice.popineau@gmail.com>
-
-       * w32fns.c (cache_system_info): Cast sysinfo_cache.dwPageSize to
-       DWORD_PTR, for compatibility with 64-bit builds.
-
-       * w32.c (_PROCESS_MEMORY_COUNTERS_EX):
-       (GetProcessWorkingSetSize_Proc, get_process_working_set_size)
-       (system_process_attributes): Use SIZE_T rather than DWORD, for
-       compatibility with 64-bit builds.
-
-2012-12-08  Christopher Schmidt  <christopher@ch.ristopher.com>
-
-       * lread.c (Vload_source_file_function): Doc fix (Bug#11647).
-
-2012-12-07  Eli Zaretskii  <eliz@gnu.org>
-
-       * indent.c (Fvertical_motion): If a display string will be
-       displayed on the left or the right margin, don't consider it as a
-       factor in cursor positioning.  (Bug#13108)
-
-2012-12-07  Martin Rudalics  <rudalics@gmx.at>
-
-       * editfns.c (Fcompare_buffer_substrings): Reword doc-string.
-
-2012-12-05  Eli Zaretskii  <eliz@gnu.org>
-
-       * callproc.c (Fcall_process_region) [!HAVE_MKSTEMP]: If mktemp
-       fails, signal an error instead of continuing with an empty
-       string.  (Bug#13079)
-       Encode expanded temp file pattern before passing it to mkstemp or
-       mktemp.
-
-2012-12-04  Eli Zaretskii  <eliz@gnu.org>
-
-       * fileio.c (file_name_as_directory, directory_file_name) [DOS_NT]:
-       Encode the file name before passing it to dostounix_filename, in
-       case it will downcase it (under w32-downcase-file-names).
-       (Bug#12933)
-
-2012-12-01  Chong Yidong  <cyd@gnu.org>
-
-       * fileio.c (Vauto_save_list_file_name): Doc fix.
-
-2012-11-30  Fabrice Popineau  <fabrice.popineau@gmail.com>
-
-       * w32fns.c: Remove prototype of atof.
-       (syspage_mask): Declared DWORD_PTR, for compatibility with 64-bit
-       builds.
-       (file_dialog_callback): Declared UINT_PTR.
-
-       * w32common.h (syspage_mask): Declare DWORD_PTR, for compatibility
-       with 64-bit builds.
-
-       * w32.c (FILE_DEVICE_FILE_SYSTEM, METHOD_BUFFERED)
-       (FILE_ANY_ACCESS, CTL_CODE) [_MSC_VER]: Define only if not already
-       defined.
-
-2012-11-27  Glenn Morris  <rgm@gnu.org>
-
-       * data.c (Fboundp, Fsymbol_value): Doc fix re lexical-binding.
-
-2012-11-26  Eli Zaretskii  <eliz@gnu.org>
-
-       * fontset.c (Finternal_char_font): Return nil on non-GUI frames.
-       (Bug#11964)
-
-2012-11-24  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Revert recent change for Bug#8855.
-       As reported by Harald Hanche-Olsen in
-       <http://lists.gnu.org/archive/html/emacs-devel/2012-11/msg00445.html>
-       the change introduces a further bug, of creating lots of zombie
-       processes in some cases.  Further work is needed to come up with a
-       better fix for Bug#8855.
-
-2012-11-24  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (draw_glyphs): Don't draw in mouse face if mouse
-       highlighting on the frame was cleared.  Prevents assertion
-       violations when repeatedly clicking on the "Top" link of the
-       "bread-crumbs" in Info buffers.
-
-2012-11-23  Paul Eggert  <eggert@cs.ucla.edu>
-           Eli Zaretskii  <eliz@gnu.org>
-
-       Fix a race condition with glib (Bug#8855).
-       The symptom is a diagnostic "GLib-WARNING **: In call to
-       g_spawn_sync(), exit status of a child process was requested but
-       SIGCHLD action was set to SIG_IGN and ECHILD was received by
-       waitpid(), so exit status can't be returned."  The diagnostic
-       is partly wrong, as the SIGCHLD action is not set to SIG_IGN.
-       The real bug is a race condition between Emacs and glib: Emacs
-       does a waitpid (-1, ...) and reaps glib's subprocess by mistake,
-       so that glib can't find it.  Work around the bug by invoking
-       waitpid only on subprocesses that Emacs itself creates.
-
-       This is a backport from the trunk, consisting of:
-
-       * w32proc.c (create_child): Don't clip the PID of the child
-       process to fit into an Emacs integer, as this is no longer a
-       restriction.
-       (waitpid): Rename from sys_wait.  Emulate a Posix 'waitpid' by
-       reaping only the process specified by PID argument, if that is
-       positive.  Use PID instead of dead_child to know which process to
-       reap.  Wait for the child to die only if WNOHANG is not in
-       OPTIONS.
-       (sys_select): Don't set dead_child.
-
-       * sysdep.c (wait_for_termination_1): Remove the WINDOWSNT portion,
-       as it is no longer needed.
-
-       * process.c (waitpid, WUNTRACED) [!WNOHANG]: Remove definitions,
-       no longer needed.
-       (create_process, record_child_status_change): Don't use special
-       value -1 in pid field, as the caller now must know the pid rather
-       than having the callee infer it.  The inference was sometimes
-       incorrect anyway, due to another race.
-       (create_process): Set new 'alive' member if child is created.
-       (process_status_retrieved): New function.
-       (record_child_status_change): Use it.
-       Accept negative 1st argument, which means to wait for the
-       processes that Emacs already knows about.  Move special-case code
-       for DOS_NT (which lacks WNOHANG) here, from caller.  Keep track of
-       processes that have already been waited for, by testing and
-       clearing new 'alive' member. Remove the setting of
-       record_at_most_one_child for the !WNOHANG case.
-       (CAN_HANDLE_MULTIPLE_CHILDREN): Remove, as record_child_status_change
-       now does this internally.
-       (handle_child_signal): Let record_child_status_change do all
-       the work, since we do not want to reap all exited child processes,
-       only the child processes that Emacs itself created.
-       * process.h (Lisp_Process): New boolean member 'alive'.
-
-2012-11-23  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (set_cursor_from_row): Skip step 2 only if point is not
-       between bpos_covered and bpos_max.  This fixes cursor display when
-       several display strings follow each other.
-
-       * .gdbinit (pgx): If the glyph's object is a string, display the
-       pointer to string data, rather than the value of the string object
-       itself (which barfs under CHECK_LISP_OBJECT_TYPE).
-
-2012-11-21  Eli Zaretskii  <eliz@gnu.org>
-
-       * indent.c (Fvertical_motion): If the starting position is covered
-       by a display string, return to one position before that, to avoid
-       overshooting it inside move_it_to.  (Bug#12930)
-
-2012-11-20  Daniel Colascione  <dancol@dancol.org>
-
-       * w32fns.c (Fx_file_dialog):
-       (Fx_file_dialog): Accomodate rename of cygwin_convert_path* to
-       cygwin_convert_file_name*.
-
-       * cygw32.c (Fcygwin_convert_path_to_windows, syms_of_cygw32):
-       Rename cygwin_convert_path* to cygwin_convert_file_name*.
-
-2012-11-20  Ken Brown  <kbrown@cornell.edu>
-
-       * emacs.c (main): Set the G_SLICE environment variable for all
-       Cygwin builds, not just GTK builds.  See
-       https://lists.gnu.org/archive/html/emacs-devel/2012-11/msg00368.html.
-
-2012-11-19  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (start_hourglass) [HAVE_NTGUI]: Don't mix declaration of
-       w32_note_current_window with code.  (Backport from trunk.)
-
-       * w32.c (FILE_DEVICE_FILE_SYSTEM, METHOD_BUFFERED)
-       (FILE_ANY_ACCESS, CTL_CODE, FSCTL_GET_REPARSE_POINT) [_MSC_VER]:
-       Define for the MSVC compiler.
-
-       * w32term.h (EnumSystemLocalesW) [_MSC_VER]: Add a missing
-       semi-colon.
-
-2012-11-18  Eli Zaretskii  <eliz@gnu.org>
-
-       * fileio.c (Fsubstitute_in_file_name, Ffile_name_directory)
-       (Fexpand_file_name) [DOS_NT]: Pass encoded file name to
-       dostounix_filename.  Prevents crashes down the road, because
-       dostounix_filename assumes it gets a unibyte string.  Reported by
-       Michel de Ruiter <michel@sentient.nl>, see
-       http://lists.gnu.org/archive/html/help-emacs-windows/2012-11/msg00017.html
-
-2012-11-17  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32select.c: Include w32common.h before w32term.h, so that
-       windows.h gets included before w32term.h uses some of its
-       features, see below.
-
-       * w32term.h (LOCALE_ENUMPROCA, LOCALE_ENUMPROCW) [_MSC_VER]: New
-       typedefs.
-       (EnumSystemLocalesA, EnumSystemLocalesW) [_MSC_VER]: New
-       prototypes.
-       (EnumSystemLocales) [_MSC_VER]: Define if undefined.  (Bug#12878)
-
-2012-11-17  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsterm.m (hold_event): Set send_appdefined to YES (Bug#12834).
-       (ns_select): Return at once if events are held (Bug#12834).
-
-2012-11-16  enami tsugutomo  <tsugutomo.enami@jp.sony.com>
-
-       * unexelf.c (ELFSIZE) [__NetBSD__ && _LP64]: Set to 64.
-       Needed following 2012-10-20 change.  (Bug#12902)
-
-2012-11-16  Glenn Morris  <rgm@gnu.org>
-
-       * editfns.c (Fmessage): Mention message-log-max.  (Bug#12849)
-
-2012-11-15  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * eval.c (Finteractive_p): Revert lexbind-merge mishap.
-
-2012-11-14  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32proc.c (timer_loop): Make sure SuspendThread and ResumeThread
-       use the same value of thread handle.
-       (start_timer_thread): If the timer thread exited (due to error),
-       clean up by closing the two handles it used.  Duplicate the caller
-       thread's handle here, so it gets duplicated only once, when
-       launching the timer thread.  Set priority of the timer thread, not
-       the caller thread.
-       (getitimer): Don't duplicate the caller thread's handle here.
-       (Bug#12832)
-
-2012-11-13  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsterm.m (hold_event): Send SIGIO to make sure ns_read_socket is
-       called (Bug#12834).
-
-2012-11-12  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (decode_mode_spec): Limit the value of WIDTH argument
-       passed to pint2str and pint2hrstr to be at most the size of the
-       frame's decode_mode_spec_buffer.  This avoids crashes with very
-       large values of FIELD_WIDTH argument to decode_mode_spec.
-       (Bug#12867)
-
-2012-11-07  Martin Rudalics  <rudalics@gmx.at>
-
-       * window.c (Fsplit_window_internal): Set combination limit of
-       new parent window to t iff Vwindow_combination_limit is t;
-       fixing a regression introduced with the change from 2012-09-22.
-       (Fwindow_combination_limit, Fset_window_combination_limit):
-       Fix doc-strings.
-
-2012-11-06  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (try_scrolling): Fix correction of aggressive-scroll
-       amount when the scroll margins are too large.  When scrolling
-       backwards in the buffer, give up if cannot reach point or the
-       scroll margin within a reasonable number of screen lines.
-       Fixes point position in window under scroll-up/down-aggressively when
-       point is positioned many lines beyond the window top/bottom.
-       (Bug#12811)
-
-2012-11-05  Eli Zaretskii  <eliz@gnu.org>
-
-       * ralloc.c (relinquish): If real_morecore fails to return memory
-       to the system, don't crash; instead, leave the last heap
-       unchanged and return.  (Bug#12774)
-
-2012-11-03  Eli Zaretskii  <eliz@gnu.org>
-
-       * lisp.mk: Adjust comments to the fact that term/internal is now
-       loaded from loadup.el.
-
-       * msdos.c (msdos_abort): Rename from emacs_abort, and make static.
-       (msdos_fatal_signal): New function.
-       (XMenuActivate): Adjust the call to kbd_buffer_events_waiting to
-       its argument list.
-
-       * conf_post.h (_GL_EXECINFO_INLINE) [MSDOS]: Define to "inline"
-       for GCC versions before 4.
-       (emacs_raise): Define to call msdos_fatal_signal.
-
-       * xdisp.c (init_from_display_pos): Fix initialization of the bidi
-       iterator when starting in the middle of a display or overlay
-       string.  (Bug#12745)
-
-2012-11-03  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * widget.c (resize_cb): New function.
-       (EmacsFrameRealize): Add resize_cb as event handler (Bug#12733).
-       (EmacsFrameResize): Check if all is up to date before changing frame
-       size.
-
-2012-11-01  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32proc.c (getpgrp, setpgid): New functions.  (Bug#12776)
-
-2012-10-31  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix crash when using Emacs as commit editor for git (Bug#12697).
-       * callproc.c (setpgrp): Remove macro, as we now use setpgid
-       and it is configured in conf_post.h.
-       (Fcall_process): Don't invoke both setsid and setpgid; the former
-       is enough, if it exists.
-       * callproc.c (Fcall_process, child_setup):
-       * process.c (create_process): Use setpgid.
-       * conf_post.h (setpgid) [!HAVE_SETPGID]: New macro, which substitutes
-       for the real thing.
-       * dispnew.c (init_display): Initialize the foreground group
-       if we are running a tty display.
-       * emacs.c (main): Do not worry about setpgrp; init_display does it now.
-       * lisp.h (init_foreground_group): New decl.
-       * sysdep.c (inherited_pgroup): New static var.
-       (init_foreground_group, tcsetpgrp_without_stopping)
-       (narrow_foreground_group, widen_foreground_group): New functions.
-       (init_sys_modes): Narrow foreground group.
-       (reset_sys_modes): Widen foreground group.
-
-2012-10-31  Michael Albinus  <michael.albinus@gmx.de>
-
-       * dbusbind.c: Fix cut'n'waste error.  Use HAVE_DBUS_VALIDATE_INTERFACE.
-
-2012-10-31  Martin Rudalics  <rudalics@gmx.at>
-
-       * minibuf.c (read_minibuf): Restore current buffer since
-       choose_minibuf_frame calling Fset_frame_selected_window may
-       change it (Bug#12766).
-
-2012-10-30  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * frame.c (Fframe_pixel_height): Fix documentation (Bug#12733).
-
-2012-10-30  Kenichi Handa  <handa@gnu.org>
-
-       * font.c (Ffont_at): If WINDOW is specified and it is not
-       displaying the current buffer, signal an error.
-
-2012-10-29  Daniel Colascione  <dancol@dancol.org>
-
-       * cygw32.h, cygw32.c (Qutf_16le, from_unicode, to_unicode):
-       In preparation for fixing bug#12739, move these functions from
-       here...
-
-       * coding.h, coding.c: ... to here, and compile them only when
-       WINDOWSNT or CYGWIN.  Moving these functions out of cygw32 proper
-       lets us write cygw32-agnostic code for the HAVE_NTGUI case.
-
-2012-10-28  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32proc.c (TIMER_TICKS_PER_SEC): New macro.
-       (timer_loop, getitimer, setitimer): Use it instead of
-       CLOCKS_PER_SEC, which is no longer pertinent, since we don't use
-       'clock'.
-       (w32_get_timer_time): Use 10*TIMER_TICKS_PER_SEC instead of a
-       literal 10000.
-
-2012-10-28  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsterm.m (NO_APPDEFINED_DATA): New define.
-       (last_appdefined_event_data): New variable
-       (last_appdefined_event): Remove.
-       (ns_select): Initialize t from last_appdefined_event_data instead
-       of [last_appdefined_event data1].
-       (sendEvent:): Save [theEvent data1] to last_appdefined_event_data,
-       remove last_appdefined_event (Bug#12698).
-
-2012-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * frame.c (x_set_font): Catch internal error.
-
-2012-10-27  Eli Zaretskii  <eliz@gnu.org>
-
-       Avoid overflow in w32 implementation of interval timers.
-       When possible, for ITIMER_PROF count only times the main thread
-       actually executes.
-       * w32proc.c <struct itimer_data>: 'expire' and 'reload' are now
-       'volatile ULONGLONG' types.  All the other data which was
-       previously clock_t is now ULONGLONG.  'terminate' is 'volatile int'.
-       (GetThreadTimes_Proc): New typedef.
-       (w32_get_timer_time): New function, returns a suitable time value
-       for the timer.
-       (timer_loop): Enter critical section when accessing ULONGLONG
-       values of the itimer_data struct, as these accesses are no longer
-       atomic.  Call 'w32_get_timer_time' instead of 'clock'.
-       Remove unused variable.
-       (init_timers): Initialize s_pfn_Get_Thread_Times.
-       (start_timer_thread): Don't assign itimer->caller_thread here.
-       (getitimer): Assign itimer->caller_thread here.
-       (setitimer): Always call getitimer to get the value of ticks_now.
-       (sys_spawnve): Avoid compiler warning about format mismatch.
-
-2012-10-26  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32fns.c (w32_wnd_proc) <WM_MOUSEMOVE>: Don't enable tracking of
-       mouse movement events if the menu bar is active.  This avoids
-       producing a busy "hour-glass" cursor by Windows if the mouse
-       pointer is positioned over a tooltip shown for some menu item.
-
-2012-10-25  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Don't assume process IDs fit in int.
-       * emacs.c (shut_down_emacs) [!DOS_NT]:
-       * sysdep.c (sys_suspend) [SIGTSTP && !MSDOS]:
-       * term.c (dissociate_if_controlling_tty) [!DOS_NT]:
-       Use pid_t, not int, to store process IDs, as 'int'
-       is not wide enough on a few platforms (e.g., AIX and IRIX).
-
-2012-10-23  Kenichi Handa  <handa@gnu.org>
-
-       The following change is to make face-font-rescale-alist work
-       correctly for non-ASCII fonts.
-
-       * font.c (font_open_entity): Don't handle Vface_font_rescale_alist.
-       (font_open_for_lface): Handle Vface_font_rescale_alist.
-
-2012-10-23  Chong Yidong  <cyd@gnu.org>
-
-       * xfaces.c (Vfont_list_limit): Move unused variable to faces.el.
-
-2012-10-21  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsfont.m (nsfont_open, ns_glyph_metrics): Force integer advancement
-       for screen font.
-       (nsfont_draw): Turn off LCD-smoothing (Bug#11484).
-
-       * xterm.c (x_focus_changed): Check if daemonp when sending focus in
-       event (Bug#12681).
-
-2012-10-21  Glenn Morris  <rgm@gnu.org>
-
-       * lisp.mk (lisp): Add cp51932.el and eucjp-ms.el.
-
-2012-10-20  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Port to OpenBSD 5.1.
-       * frame.c (Fmouse_position, Fmouse_pixel_position):
-       * xdisp.c (produce_stretch_glyph):
-       Declare local vars only when they're needed.
-       This is clearer and avoids a warning on OpenBSD about unused vars.
-       * frame.h (FRAME_WINDOW_P): Always evaluate its argument.
-       This is safer, and avoids OpenBSD warnings about unused vars.
-       * keyboard.c (record_menu_key): Remove unnecessary decl.
-       (poll_timer): Define only if POLL_FOR_INPUT is defined.
-       * unexelf.c (ELFSIZE) [!ElfW]: Do not define if already defined,
-       as our definition clashes with OpenBSD's.
-       * xfaces.c (load_face_colors, check_lface_attrs)
-       (get_lface_attributes_no_remap, get_lface_attributes)
-       (lface_fully_specified_p, x_supports_face_attributes_p)
-       (tty_supports_face_attributes_p, face_fontset, realize_face)
-       (realize_x_face, realize_tty_face):
-       Declare parameters to be Lisp_Object[LFACE_VECTOR_SIZE], not
-       merely Lisp_Object *.  This is more informative and avoids
-       a warning on OpenBSD about accessing beyond an object's size.
-
-2012-10-20  Chong Yidong  <cyd@gnu.org>
-
-       * lread.c (Fload): Doc fix (Bug#12592).
-
-2012-10-19  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>  (tiny change)
-
-       * font.c (Ffont_at): Fix previous change.
-
-2012-10-19  Eli Zaretskii  <eliz@gnu.org>
-
-       * puresize.h (BASE_PURESIZE): Bump the base value to 1700000.
-       See http://lists.gnu.org/archive/html/emacs-devel/2012-10/msg00593.html
-       for the reasons.
-
-       * alloc.c (NSTATICS): Decrease to 0x800.
-
-2012-10-19  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * fns.c (Fnreverse): Include the problem element when signalling an
-       error (bug#12677).
-
-2012-10-18  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsterm.m (ns_select): Check writefds before call to
-       FD_ISSET (Bug#12668).
-
-2012-10-18  Daniel Colascione  <dancol@dancol.org>
-
-       * alloc.c (NSTATICS): Increase from 0x650 to 0x1000
-       (staticpro): If we run out of staticpro slots, die with an
-       informative error instead of just calling emacs_abort.
-
-2012-10-18  Martin Rudalics  <rudalics@gmx.at>
-
-       Fix two flaws reported by Dmitry Antipov.
-       * window.c (Ftemp_output_buffer_show): Remove.
-       (Fwindow_vscroll, Fset_window_vscroll): Use decode_live_window.
-       (syms_of_window): Remove defsubr for Stemp_output_buffer_show.
-
-2012-10-17  Eli Zaretskii  <eliz@gnu.org>
-
-       * makefile.w32-in ($(BLD)/w32.$(O)):
-       ($(BLD)/vm-limit.$(O)):
-       ($(BLD)/term.$(O)):
-       ($(BLD)/unexw32.$(O)):
-       ($(BLD)/fileio.$(O)):
-       ($(BLD)/dispnew.$(O)): Update dependencies.
-
-       * w32term.h (w32_initialize_display_info, initialize_w32_display):
-       Add prototypes.
-
-       * w32proc.c: Include ctype.h.
-
-       * w32.h (init_environment, check_windows_init_file)
-       (syms_of_ntproc, syms_of_ntterm, dostounix_filename)
-       (unixtodos_filename, init_winsock, srandom, random, sys_pipe)
-       (set_process_dir, sys_spawnve, register_child, sys_sleep, getwd)
-       (sys_link): Add prototypes.
-
-       * w32.c: Include w32select.h.
-       (sys_access, e_malloc, sys_select): Add prototypes.
-       (emacs_gnutls_pull): 'timeout' is now EMACS_TIME, not struct timeval.
-
-       * vm-limit.c [WINDOWSNT]: Include w32heap.h.
-
-       * unexw32.c: Include lisp.h and w32.h.
-
-       * term.c [WINDOWSNT]: Include w32term.h.
-
-       * process.c [WINDOWSNT]: Add prototype of sys_select.
-
-       * fileio.c [WINDOWSNT]: Include w32.h.
-
-       * dispnew.c [WINDOWSNT]: Include w32.h.
-
-       * cygw32.c (Fcygwin_convert_path_to_windows)
-       (Fcygwin_convert_path_from_windows): Use EQ to compare 2
-       Lisp_Object values.  (Bug#12661)
-
-       * w32fns.c (w32_msg_pump): Use XIL instead of casting an integer
-       to Lisp_Object.  (Bug#12661)
-
-2012-10-17  Kenichi Handa  <handa@gnu.org>
-
-       * xdisp.c (reseat_1): Make the information stored in it->cmp_it
-       invalidate.
-
-2012-10-17  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * buffer.c (Fkill_buffer): When unchaining the marker,
-       reset its buffer pointer to NULL (Bug#12652).
-
-2012-10-17  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Do not verify indirection counters of killed buffers (Bug#12579).
-       * buffer.h (BUFFER_CHECK_INDIRECTION): New macro.
-       * buffer.c (compact_buffer, set_buffer_internal_1): Use it.
-
-2012-10-16  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * alloc.c (Fmake_byte_code): Fix typo in comment.
-       * print.c (print_interval): Define as static to match prototype.
-       * indent.c (disptab_matches_widthtab, recompute_width_table):
-       Convert to eassert.
-
-2012-10-16  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * editfns.c (get_system_name): Remove.
-       * lisp.h (get_system_name): Remove prototype.
-       * xrdb.c (getenv, getpwuid, getpwnam): Remove prototypes.
-       (get_environ_db): Use Vsystem_name.  Avoid call to strlen.
-
-2012-10-15  Daniel Colascione  <dancol@dancol.org>
-
-       * dbusbind.c: Add comment explaining reason for previous change.
-
-2012-10-15  Martin Rudalics  <rudalics@gmx.at>
-
-       * window.c (Fwindow_end): Rewrite check whether cached position
-       can be used (Bug#12600).
-       (resize_frame_windows, grow_mini_window, shrink_mini_window):
-       Set windows_or_buffers_changed.
-
-2012-10-15  Daniel Colascione  <dancol@dancol.org>
-
-       * dbusbind.c: Fix cygw32 build break when compiling with dbus
-       enabled by undefining the symbol "interface", which the platform
-       headers define to something incompatible.
-
-2012-10-14  Daniel Colascione  <dancol@dancol.org>
-
-       * image.c (init_tiff_functions, init_imagemagick_functions)
-       (init_svg_functions): Fix cygw32 build break by using these
-       functions only when WINDOWSNT _and_ HAVE_NTGUI.
-
-2012-10-14  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsterm.m (ns_select): Count fd:s in writefs also (Bug#12422).
-
-2012-10-13  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * gtkutil.c (xg_set_widget_bg): Divide by 65535 (Bug#12612).
-
-2012-10-13  HANATAKA, Shinya  <bogytech@gmail.com>  (tiny change)
-
-       * coding.c (detect_coding): Set coding->id before calling
-       this->detector.
-
-2012-10-13  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * fileio.c: Formatting fixes.
-
-2012-10-13  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix some stat-related races.
-       * fileio.c (Fwrite_region): Avoid race condition if a file is
-       removed or renamed by some other process immediately after Emacs
-       writes it but before Emacs stats it.  Do not assume that stat (or
-       fstat) succeeds.
-       * image.c (slurp_file): Resolve the file name with fopen + fstat
-       rather than stat + fopen.
-       (pbm_read_file) [0]: Remove unused code with stat race.
-       * process.c (allocate_pty) [HAVE_PTYS && !PTY_ITERATION && !PTY_OPEN]:
-       Remove ineffective code with stat race.
-
-2012-10-12  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * doc.c (get_doc_string): Don't signal an error if the file is missing.
-
-2012-10-12  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsterm.m (hold_event_q): New static variable.
-       (EV_TRAILER, sendScrollEventAtLoc:fromEvent:): Call hold_event if
-       ! q_event_ptr.
-       (hold_event): New function.
-       (ns_read_socket): If hold_event_q have events, store them and
-       return (Bug#12384).
-       (setPosition:portion:whole:): Send SIGIO to ourselves if apploopnr
-       is zero (Bug#12384).
-
-2012-10-12  Juanma Barranquero  <lekktu@gmail.com>
-
-       * makefile.w32-in ($(BLD)/w32select.$(O)): Update dependencies.
-
-2012-10-12  Eli Zaretskii  <eliz@gnu.org>
-
-       * makefile.w32-in ($(BLD)/fileio.$(O)): Add sys/file.h.
-
-       * fileio.c (check_existing): New function.
-       (make_temp_name, Ffile_exists_p, Ffile_writable_p): Call it
-       instead of calling 'stat', when what's needed is to check whether
-       a file exists.  This avoids expensive system calls on MS-Windows.
-       (Bug#12587)
-
-       * w32.c (init_environment): Call 'check_existing' instead of 'stat'.
-
-       * lread.c (openp) [WINDOWSNT]: Call 'access' instead of 'stat' to
-       determine whether a file exists and is not a directory.
-
-       * lisp.h (check_existing): Add prototype.
-
-2012-10-12  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsfont.m (nsfont_open): Remove font cache, it is not GC correct.
-
-2012-10-12  Glenn Morris  <rgm@gnu.org>
-
-       * buffer.c (Fset_buffer): Doc fix.  (Bug#12624)
-
-2012-10-11  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * buffer.c (Fkill_buffer): Null out the overlay list(s) as well.
-
-       * eval.c (Fautoload): Remember previous autoload status in load-history.
-
-2012-10-11  Paul Eggert  <eggert@cs.ucla.edu>
-
-       lread.c, macros.c, marker.c, menu.c, minibuf.c: Use bool for booleans.
-       * lread.c (load_each_byte, new_backquote_flag, readchar)
-       (read_filtered_event, lisp_file_lexically_bound_p)
-       (safe_to_load_version, Fload, complete_filename_p, openp)
-       (build_load_history, readevalloop, read_escape, read1)
-       (string_to_number, read_vector, read_list):
-       * macros.c (Fstart_kbd_macro):
-       * marker.c (CONSIDER):
-       * menu.c (parse_single_submenu, digest_single_submenu)
-       (find_and_return_menu_selection, Fx_popup_menu):
-       * minibuf.c (read_minibuf_noninteractive, read_minibuf)
-       (Ftry_completion):
-       * nsmenu.m (ns_update_menubar, runMenuAt:forFrame:keymaps:):
-       (ns_menu_show):
-       * xmenu.c (set_frame_menubar, create_and_show_popup_menu)
-       (xmenu_show, xdialog_show):
-       Use bool for booleans.
-       * lread.c (safe_to_load_version): Rename from safe_to_load_p,
-       as it's not a predicate.  All uses changed.  Omit unnecessary
-       buffer termination.
-
-2012-10-11  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * editfns.c (save_excursion_save): Use nil if mark points to nowhere.
-       (save_excursion_restore): Do not restore mark if it was not saved.
-
-2012-10-11  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * marker.c (cached_modiff): EMACS_INT, not int.
-
-       * w32select.c (waiting_for_input): Declare by including "keyboard.h"
-       instead of having a wrong decl.
-       * nsmenu.m (waiting_for_input): Remove wrong decl.
-
-2012-10-10  Paul Eggert  <eggert@cs.ucla.edu>
-
-       keyboard.c, keymap.c: Use bool for booleans.
-       * dispnew.c (sit_for): Distinguish between 3-way display_option
-       and boolean do_display.
-       * keyboard.c (single_kboard, this_command_key_count_reset)
-       (waiting_for_input, echoing, immediate_quit, input_pending)
-       (interrupt_input, interrupts_deferred, pop_kboard)
-       (temporarily_switch_to_single_kboard, ignore_mouse_drag_p)
-       (command_loop_1, adjust_point_for_property)
-       (safe_run_hooks_error, input_polling_used, read_char):
-       (help_char_p, readable_events, kbd_buffer_events_waiting)
-       (kbd_buffer_get_event, timer_check_2, make_lispy_event)
-       (lucid_event_type_list_p, get_input_pending):
-       (gobble_input, menu_separator_name_p, menu_bar_item)
-       (parse_menu_item, parse_tool_bar_item, read_char_x_menu_prompt)
-       (read_char_minibuf_menu_prompt, access_keymap_keyremap)
-       (keyremap_step, test_undefined, read_key_sequence)
-       (detect_input_pending, detect_input_pending_ignore_squeezables)
-       (detect_input_pending_run_timers, requeued_events_pending_p)
-       (quit_throw_to_read_char, Fset_input_interrupt_mode):
-       * keymap.c (get_keymap, keymap_parent, keymap_memberp)
-       (access_keymap_1, access_keymap, map_keymap, get_keyelt)
-       (Fdefine_key, Flookup_key, struct accessible_keymaps_data)
-       (accessible_keymaps_1, Fkey_description, push_key_description):
-       (shadow_lookup, struct where_is_internal_data)
-       (where_is_internal, Fwhere_is_internal, where_is_internal_1)
-       (Fdescribe_buffer_bindings, describe_map_tree, struct describe_map_elt)
-       (describe_map, describe_vector):
-       * menu.c (single_menu_item):
-       * nsmenu.m (ns_update_menubar):
-       * process.c (wait_reading_process_output):
-       * search.c (scan_buffer, scan_newline):
-       Use bool for boolean.
-       * keyboard.c (timers_run, swallow_events)
-       (detect_input_pending_run_timers):
-       * process.c (wait_reading_process_output):
-       Use unsigned for counter where wraparound-on-overflow is desired,
-       since unsigned is guaranteed to have that behavior and signed is not.
-       (read_char): Use ptrdiff_t for string length.
-       (get_input_pending): Remove first argument, since it was always
-       the same pointer-to-int (now pointer-to-boolean) &input_pending,
-       and behave as if it had that value.  Return new value of
-       input_pending.  All callers changed.
-       * keyboard.h (struct kboard): Use unsigned : 1 for boolean member
-       immediate_echo.  Use ptrdiff_t for echo_after_prompt, since it's
-       a string length.
-       * keymap.c (push_key_description): Omit last arg, which was always 1.
-       All callers changed.
-
-       * regex.c (immediate_quit) [emacs]: Remove duplicate decl.
-
-2012-10-10  Juanma Barranquero  <lekktu@gmail.com>
-
-       * makefile.w32-in ($(BLD)/dispnew.$(O), $(BLD)/indent.$(O))
-       ($(BLD)/term.$(O)): Update dependencies.
-
-2012-10-10  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * alloc.c (mark_object): Use meaningful PVEC_NORMAL_VECTOR.
-       * lisp.h (enum pvec_type): Adjust comments and omit explicit
-       initializer for PVEC_NORMAL_VECTOR.
-
-2012-10-10  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Clean out old termopts cruft.
-       * termopts.h (flow_control, meta_key): Remove unused decls.
-       * dispnew.c, indent.c, nsterm.m, term.c, xsettings.c, xsmfns.c:
-       Don't include termopts.h.
-
-2012-10-10  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * alloc.c (gc_sweep): Use pointer-to-a-pointer loop for buffers.
-
-2012-10-10  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * commands.h (immediate_quit): Remove duplicate decl.
-
-2012-10-09  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsfont.m (Vfonts_in_cache): Remove, not needed as font.c handles
-       caching.
-       (nsfont_open): Remove setting of Vfonts_in_cache.
-       (syms_of_nsfont): Remove initialization of Vfonts_in_cache.
-
-2012-10-09  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32fns.c (w32_last_error): Change the return value to DWORD, to
-       match what GetLastError returns.  Explain why the function is
-       needed.
-
-       * frame.c (delete_frame): Rename local variable 'tooltip_frame' to
-       'is_tooltip_frame', to avoid confusion with its global namesake.
-
-2012-10-08  Daniel Colascione  <dancol@dancol.org>
-
-       * xdisp.c (start_hourglass): Call w32_note_current_window when
-       HAVE_NTGUI, not just WINDOWSNT, resolving a problem in the cygw32
-       build that caused Emacs to display the hourglass cursor forever.
-
-       * w32fns.c (Fx_display_color_cells): Instead of using NCOLORS,
-       which is broken under remote desktop, calculate the number of
-       colors available for a display based on the display's number of
-       planes and number of bits per pixel per plane.  (bug#10397).
-
-2012-10-08  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsfont.m (Vfonts_in_cache): New variable.
-       (nsfont_open): Use unsignedLongLongValue for cache in case wide ints
-       are used.  Add cached fonts to Vfonts_in_cache.
-       (syms_of_nsfont): Initialize and staticpro Vfonts_in_cache.
-
-2012-10-08  Juanma Barranquero  <lekktu@gmail.com>
-
-       * makefile.w32-in (LOCAL_FLAGS): Don't define HAVE_NTGUI, it's now
-       in nt/config.nt.
-       (FONT_H): Define after FRAME_H.
-       ($(BLD)/emacs.$(O), $(BLD)/process.$(O), $(BLD)/w32heap.$(O)):
-       Update dependencies.
-
-       * w32term.c: Remove leftover declaration of keyboard_codepage.
-
-2012-10-08  Eli Zaretskii  <eliz@gnu.org>
-
-       * makefile.w32-in (FONT_H): Add $(FRAME_H).
-       (W32TERM_H): Add $(ATIMER_H) and $(FRAME_H).
-       ($(BLD)/emacs.$(O), $(BLD)/w32console.$(O)): Update dependencies.
-       (GLOBAL_SOURCES): Add cygw32.c.
-       ($(BLD)/unexw32.$(O)):
-       ($(BLD)/w32.$(O)):
-       ($(BLD)/w32console.$(O)):
-       ($(BLD)/w32fns.$(O)):
-       ($(BLD)/w32heap.$(O)):
-       ($(BLD)/w32menu.$(O)):
-       ($(BLD)/w32proc.$(O)): Add w32common.h.
-
-       * w32fns.c (w32_color_map_lookup, x_to_w32_color): Argument is now
-       'const char *'.
-       (x_to_w32_color): Don't modify the argument, modify a copy instead.
-
-2012-10-08  Daniel Colascione  <dancol@dancol.org>
-
-       * w32term.h (WM_EMACS_BRINGTOTOP, WM_EMACS_INPUT_READY)
-       (WM_EMACS_END): Change WM_EMACS_BRINGTOTOP from 22 to 21 to close
-       accidental message numbering hole.  Change other messages to
-       match.
-
-       * w32select.h (HAVE_W32SELECT): Remove.
-
-       * w32select.c, w32proc.c, w32menu.c, w32console.c, w32.c: Include
-       w32common.h instead of w32heap.h.
-
-       * w32heap.h (ROUND_UP, ROUND_DOWN, get_page_size)
-       (get_allocation_unit, get_processor_type, get_w32_major_version)
-       (get_w32_minor_version, sysinfo_cache, osinfo_cache)
-       (w32_major_version, w32_minor_version, w32_build_number, OS_9X)
-       (OS_NT, os_subtype, cache_system_info): Move declarations to
-       w32common.
-
-       * w32heap.c: Include w32common.h.
-       (sysinfo_cache, syspage_mask, osinfo_cache, w32_major_version)
-       (w32_minor_version, w32_build_number, w32_subtype):
-       Remove duplicate definitions.
-
-       * w32fns.c: Include w32common.h; include w32heap.h only in
-       WINDOWSNT.
-
-       (Fx_file_dialog): Clarify comment on GetOpenFileName structure.
-       Use `report_file_error' instead of `error' in order to better
-       inform users of what went wrong.  Increase NTGUI_UNICODE file
-       dialog box file name length to 32k, the maximum allowed by the NT
-       kernel.
-
-       * w32common.h: New file.
-       (ROUND_UP, ROUND_DOWN, get_page_size)
-       (get_allocation_unit, get_processor_type, get_w32_major_version)
-       (get_w32_minor_version, sysinfo_cache, osinfo_cache)
-       (w32_major_version, w32_minor_version, w32_build_number, OS_9X)
-       (OS_NT, os_subtype, cache_system_info): Move here.
-
-       * unexw32.c, unexcw.c: Include w32common.h.
-
-       * emacs.c (main): Use (defined (WINDOWSNT) || defined
-       HAVE_NTGUI) instead of removed HAVE_W32SELECT to decide whether
-       to call syms_of_w32select.
-
-       * cygw32.h: Remove obsolete EXFUN declarations.
-
-       * cygw32.c (Qutf_16_le): Rename to Qutf_16le.
-
-       * Makefile.in (SOME_MACHINE_OBJECTS): Reverse accidental removal
-       of w32inevt.o from SOME_MACHINE_OBJECTS.
-
-2012-10-08  Daniel Colascione  <dancol@dancol.org>
-
-       * image.c: Permanent fix for JPEG compilation issue --- limit
-       jpeglib `boolean' redefinition to Cygwin builds.
-
-2012-10-08  Eli Zaretskii  <eliz@gnu.org>
-
-       * image.c (CHECK_LIB_AVAILABLE): Remove, no longer used.
-
-       * emacs.c (DAEMON_MUST_EXEC) [HAVE_NTGUI]: Define this only on
-       Cygwin.
-
-2012-10-08  Daniel Colascione  <dancol@dancol.org>
-
-       * xfaces.c, xdisp.c, window.c, w32xfns.c, w32term.h, w32term.c,
-       w32select.h w32select.c, w32proc.c, w32menu.c, w32inevt.c,
-       w32help.c, w32font.c, w32font.c, w32fns.c, w32console.c, w32.h,
-       w32.c, unexw32.c, termhooks.h, process.c, menu.c, keyboard.h,
-       keyboard.c, image.c, frame.h, frame.c, fontset.c, font.h, font.c,
-       emacs.c, dispextern.h, cygw32.h, cygw32.c, conf_post.h,
-       Makefile.in: use HAVE_NTGUI for W32 GUI and WINDOWSNT for the
-       operating system.  defined(HAVE_NTGUI) && !defined(WINDOWSNT) is
-       now a supported configuration.
-
-       * Makefile.in: consolidate image variables into LIBIMAGE; add
-       W32_OBJ and W32_LIBS. Compile new files.
-
-       * conf_post.h:
-       (_DebPrint) declare tracing facility for W32 debugging.  We need
-       to unify tracing later.
-
-       (NTGUI_UNICODE) Define when compiling for Cygwin to allow the
-       unconditional use of W32 Unicode functions.  Cygwin runs only on
-       100% Unicode operating systems.
-
-       * cygw32.c: New file.  Define Cygwin-specific facilities.
-       (Fcygwin_convert_path_to_windows)
-       (Fcygwin_convert_path_from_windows): New user functions for
-       accessing Cygwin path-munging routines.
-
-       * cygw32.h: New file.
-       (WCSDATA, to_unicode, from_unicode): Define facilities for storing
-       UTF-16LE strings temporarily inside non-Lisp-visible string
-       objects.
-
-       (w32_strerror): Just what it says on the tin.
-
-       * emacs.c: Make the NS fork-then-exec code for daemon-launching
-       also run for Cygwin; both systems have the same problem with using
-       GUI facilities in a forked child.  Also call syms_of_cygw32,
-       syms_of_w32select in correct places.
-
-       (DAEMON_MUST_EXEC): new macro defined to signal that a platform
-       needs fork-then-exec for daemon launching.
-
-       * font.h: Include frame.h.
-
-       * image.c: Use the image library cache machinery only when we're
-       compiling for native WINDOWSNT; Cygwin can use shared libraries
-       like any other Unixlike system.
-
-       * keyboard.c: Clarify a comment regarding the input loop.
-
-       * menu.c: When NTGUI_UNICODE is defined, use Unicode menu
-       functions directly instead of trying to detect at runtime that our
-       host operating system supports them.  We make this change for two
-       reasons: Cygwin lacks support for the multibyte character
-       conversion functions used by the legacy menu code, and Cygwin
-       never needs to rely on non-Unicode APIs.
-
-       * unexw32.c (hinst): Declare extern.
-
-       * w32.c: Change header order;
-       (w32_strerror): Move to w32fns.c because we need it for
-       non-WINDOWSNT builds.
-
-       * w32.h: Add #error macro to make sure we don't include w32.h for
-       Cygwin builds.  Remove w32select declarations.
-
-       * w32console.c (w32_sys_ring_bell, Fset_message_beep): Move to
-       w32fns.c.  w32console.c is WINDOWSNT-only.
-
-       * w32fns.c: Include cygw32.h or w32.h depending on CYGWIN; more
-       NTGUI_UNICODE tweaks.  (See above.) Change _snprintf to the more
-       POSIXy alternative.
-       (faked_key, sysinfo_cache, osinfo_cahce, syspage_mask)
-       (w32_major_version, w32_minor_version, w32_build_number)
-       (os_subtype, sound_type): Define here
-       (w32_defined_color): Make color parameter const for consistency
-       with other _defined_color functions.
-       (w32_createwindow): Unconditionally call w32_init_class instead of
-       doing so only when hprevinst is non-NULL.  Plumbing hprevinst
-       through the code is complex and unnecessary because class
-       registration is practically free.
-       (w32_name_of_message): New EMACSDEBUG-only function.
-       (Fset_message_beep): Move here
-       (Fx_open_connection): Require that the display name for Windows be
-       "w32" for consistency, emacsclient disambiguation, and maybe, one
-       day, multi-window-system support.
-       (file_dialog_callback): NTGUI_UNICODE changes; encode and decode
-       Cygwin files for W32 GUI facilities, since these clearly don't
-       expect Cygwin names.
-       (_DebPrint): Define.
-       (w32_strerror, w32_console_toggle_lock_key, w32_kbd_mods_to_emacs)
-       (w32_kbd_patch_key, w32_sys_ring_bell): Move here.
-       (Ssystem_move_file_to_trash): Define only for native WINDOWSNT.
-       (w32_last_error): Remove.
-
-       * w32font.c: Define _strlwr to strlwr for non-WINDOWSNT builds.
-
-       * w32heap.c (syspage_mask): Declare here.
-       (cache_system_info): Remove.
-
-       * w32inevt.c (faked_key): Define globally, not statically.
-       (w32_kbd_mods_to_emacs, w32_kbd_patch_key, faked_key)
-       (w32_console_toggle_lock_key): Move to w32fns.c.
-
-       * w32menu.c: Include setjmp.h.  NTGUI_UNICODE changes throughout.
-
-       * w32proc.c (_DebPrint): Move to w32fns.c.
-       * w32select.c: Include string.h, stdio.h for Cygwin.
-       * w32select.h: New File.
-
-       * w32term.c: Include io.h for non-CYGWIN builds; needed for
-       get_osfhandle.
-       (w32_message_fd): New variable.  Under Cygwin, holds the file
-       descriptor the system used to tell us about pending thread
-       messages.
-
-       (w32_init_term): Remove incorrect calls to fcntl and init_sigio
-       that prevented compilation under non-WINDOWSNT systems.
-
-       (w32_initialize): Open /dev/windows and assign it to
-       w32_message_fd.  Provide w32 feature.
-
-       * w32term.h: Include frame.h, atimer.h.  Declare various frame functions.
-       (WM_EMACS_INPUT_READY): add.
-       (prepend_msg, w32_message_fd): Declare globally.
-
-       * w32xfns.c:
-       (keyboard_handle): Use only when WINDOWSNT.
-       (notify_msg_ready): New function.  Posts a message to the main
-       thread's message queue under CYGWIN, which wakes up the main
-       thread from select(2) by making the /dev/windows file descriptor
-       ready.  Under WINDOWSNT, it sets an event the same way the old
-       code did.
-
-       (post, prepend_msg): Actually call notify_msg_ready instead of
-       setting the input event directly.
-
-2012-10-07  Eli Zaretskii  <eliz@gnu.org>
-
-       * ralloc.c (relinquish): If a heap is ready to be relinquished,
-       but it still has blocs in it, don't return it to the system,
-       instead of aborting.  (Bug#12402)
-
-2012-10-07  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsterm.m (ns_dumpglyphs_image): Only draw slice of image (Bug#12506).
-
-       * nsterm.m (ns_update_auto_hide_menu_bar): Remove defintion of
-       MAC_OS_X_VERSION_10_6.
-       (syms_of_nsterm): Remove comment about Panther and above for
-       ns-antialias-text.
-       * nsterm.h (MAC_OS_X_VERSION_10_3, onTiger): Remove.
-       (EmacsApp): Remove check for >= MAC_OS_X_VERSION_10_4.
-       (struct nsfont_info): Remove check for >= MAC_OS_X_VERSION_10_3.
-
-       * nsselect.m (ns_string_from_pasteboard): Remove check for >=
-       MAC_OS_X_VERSION_10_4.
-
-       * nsmenu.m (fillWithWidgetValue:): Remove code for <
-       MAC_OS_X_VERSION_10_2.
-
-       * nsimage.m (setPixmapData, getPixelAtX, setAlphaAtX): Remove onTiger.
-
-       * nsfns.m (Fns_list_services): Remove comment and check for OSX < 10.4.
-       (ns_do_applescript): Remove check for >= MAC_OS_X_VERSION_10_4.
-
-       * nsterm.m (ns_in_resize): Remove (Bug#12479).
-       (ns_resize_handle_rect, mouseDown, mouseUp, mouseDragged): Remove.
-       (ns_clear_frame, sendEvent, windowDidResize, drawRect:):
-       Remove ns_in_resize check.
-       (ns_clear_frame_area): Remove resize handle code.
-
-       * nsfns.m (ns_in_resize): Remove.
-       (x_set_icon_name, ns_set_name, ns_set_name_as_filename):
-       Remove ns_in_resize check.
-
-2012-10-07  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Improve sys_siglist detection.
-       * sysdep.c (sys_siglist, init_signals): Use _sys_siglist if it's
-       defined as a macro, as is done in Solaris.
-       (sys_siglist_entries): New macro.
-       (save_strsignal): Use it.
-       * syssignal.h (safe_strsignal): Now ATTRIBUTE_CONST, to pacify
-       GCC 4.7.2 on Fedora 17 with the fixed sys_siglist detection.
-
-2012-10-06  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsfns.m (Fx_create_frame): Call x_default_parameter with
-       fullscreen/Fullscreen.
-
-       * nsterm.h (EmacsView): Rename tbar_height to tibar_height.
-       tobar_height is new.
-
-       * nsterm.m (x_make_frame_visible): Check for fullscreen.
-       (ns_fullscreen_hook): Activate old style fullscreen with a timer.
-       (ns_term_init): Set activateIgnoringOtherApps if old style fullscreen.
-       (windowDidResize:): Check for correct window if old style fullscreen.
-       Capitalize word in comment.  Remove incorrect comment.
-       (initFrameFromEmacs:): tbar_height renamed tibar_height.
-       (windowDidEnterFullScreen:): Toggle toolbar for fullscreen to fix
-       error in drawing background.
-       (toggleFullScreen:): Remove comment.  Rearrange calls.
-       Set toolbar values to zero, save old height in tobar_height.
-       Restore tool bar height when leaving fullscreen.
-       (canBecomeMainWindow): New function.
-
-2012-10-06  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * keyboard.c (read_char): Remove unnecessary 'volatile's and label.
-
-2012-10-05  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32proc.c (stop_timer_thread): Fix declaration of 'err'.
-
-       * w32.c (utime): Open the file with FILE_FLAG_BACKUP_SEMANTICS, so
-       that time stamps of directories could also be changed.
-       Don't request the too broad GENERIC_WRITE, only the more restrictive
-       FILE_WRITE_ATTRIBUTES access rights.
-
-       * fileio.c (Fset_file_times): Special-case ignoring errors for
-       directories only on MSDOS, not on MS-Windows.
-
-2012-10-05  Ikumi Keita  <ikumi@ikumi.que.jp>  (tiny change)
-
-       * minibuf.c (Fcompleting_read): Doc fix.  (Bug#12555)
-
-2012-10-04  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32.c (utime): Test for INVALID_HANDLE_VALUE, not for NULL, to
-       see whether CreateFile failed.
-
-2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * profiler.c (handle_profiler_signal): Inhibit pending signals too,
-       to avoid similar races.
-       * keyboard.c (pending_signals): Now bool, not int.
-
-       Port timers to OpenBSD, plus check for timer failures.
-       OpenBSD problem reported by Han Boetes.
-       * profiler.c (setup_cpu_timer): Check for failure of timer_settime
-       and/or setitimer.
-       (Fprofiler_cpu_stop): Don't assume HAVE_SETITIMER.
-       * syssignal.h (HAVE_ITIMERSPEC): New macro.  This is for platforms
-       like OpenBSD, which has timer_settime but does not declare it.
-       OpenBSD does not define SIGEV_SIGNAL, so use that when deciding
-       whether to use itimerspec-related primitives.  All uses of
-       HAVE_TIMER_SETTIME replaced with HAVE_ITIMERSPEC.
-
-2012-10-02  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * profiler.c (handle_profiler_signal): Fix a malloc race
-       that caused Emacs to hang on Fedora 17 when profiling Lisp.
-
-2012-10-02  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsterm.m (windowDidEnterFullScreen): Remove fprintf.
-
-2012-10-02  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32proc.c (sys_wait): Declare 'signame' 'const char *', to be
-       consistent with the change in return value of 'safe_strsignal'.
-
-2012-10-02  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Prefer plain 'static' to 'static inline' (Bug#12541).
-       * bidi.c (bidi_get_type, bidi_check_type, bidi_get_category)
-       (bidi_set_sor_type, bidi_push_embedding_level)
-       (bidi_pop_embedding_level, bidi_remember_char, bidi_copy_it)
-       (bidi_cache_reset, bidi_cache_shrink, bidi_cache_fetch_state)
-       (bidi_cache_search, bidi_cache_ensure_space)
-       (bidi_cache_iterator_state, bidi_cache_find)
-       (bidi_peek_at_next_level, bidi_set_paragraph_end)
-       (bidi_count_bytes, bidi_char_at_pos, bidi_fetch_char)
-       (bidi_explicit_dir_char, bidi_resolve_neutral_1):
-       Now 'static', not 'static inline'.
-
-       Count overruns when profiling; change units to ns.
-       * profiler.c (handle_profiler_signal): Count sampling intervals, not ms.
-       Give extra weight to samples after overruns, to attempt to count
-       the time more accurately.
-       (setup_cpu_timer): Change sampling interval units from ms to ns, since
-       the underlying primitives nominally do ns.
-       (Fprofiler_cpu_start): Document the change.  Mention that
-       the sampling intervals are only approximate.
-
-2012-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * frame.c (Fmake_terminal_frame): Prefer safer CONSP over !NILP.
-
-       * coding.h (ENCODE_FILE, DECODE_FILE, DECODE_SYSTEM): Remove special
-       case for the special 0 coding-system.
-
-       * buffer.c (Fset_buffer_multibyte): Signal an error instead of widening.
-       (Fmake_overlay): Remove redundant tests.
-       (fix_start_end_in_overlays): Remove redundant recentering.
-
-2012-10-02  Juanma Barranquero  <lekktu@gmail.com>
-
-       * makefile.w32-in ($(BLD)/alloc.$(O), $(BLD)/gmalloc.$(O)):
-       Update dependencies.
-
-2012-10-01  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix a malloc race condition involving strsignal.
-       A signal can arrive in the middle of a malloc, and Emacs's signal
-       handler can invoke strsignal, which can invoke malloc, which is
-       not portable.  This race condition bug makes Emacs hang on GNU/Linux.
-       Fix it by altering the signal handler so that it does not invoke
-       strsignal.
-       * emacs.c (shut_down_emacs): Use safe_strsignal, not strsignal.
-       * process.c (status_message): Use const pointer, in case strsignal
-       is #defined to safe_strsignal.
-       * sysdep.c (sys_siglist, init_signals): Always define and
-       initialize a substitute sys_siglist if the system does not define
-       one, even if HAVE_STRSIGNAL.
-       (safe_strsignal): Rename from strsignal.  Always define,
-       using sys_siglist.  Return a const pointer.
-       * syssignal.h (safe_strsignal): New decl.
-       (strsignal) [!HAVE_STRSIGNAL]: Define in terms of safe_strsignal.
-
-2012-10-01  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32proc.c (timer_loop): Fix code that waits for timer
-       expiration, to avoid high CPU usage.
-
-2012-10-01  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * fns.c (check_hash_table, get_key_arg, maybe_resize_hash_table)
-       (sweep_weak_table): Remove redundant prototypes.
-
-2012-10-01  Fabrice Popineau  <fabrice.popineau@gmail.com>
-
-       * emacs.c: Move the inclusion of TERM_HEADER after including
-       windows.h on WINDOWSNT.  This avoids compilation problems with
-       MSVC.
-
-2012-10-01  Eli Zaretskii  <eliz@gnu.org>
-
-       * unexw32.c (OFFSET_TO_RVA, RVA_TO_OFFSET)
-       (RVA_TO_SECTION_OFFSET): Encode all macro arguments in parentheses.
-       (RVA_TO_PTR): Cast the result of RVA_TO_OFFSET to 'unsigned char *',
-       as the previous version used 'void *'.
-
-       * ralloc.c (ROUNDUP): Fix last change.
-       (MEM_ROUNDUP): Don't cast MEM_ALIGN, it is already of type
-       'size_t'.
-
-       * w32proc.c <disable_itimers>: New static flag.
-       (init_timers): Initialize it to zero, after creating the critical
-       sections used by the timer threads.
-       (term_timers): Set to 1 before deleting the critical sections.
-       (getitimer, setitimer): If disable_itimers is non-zero, return an
-       error indication without doing anything.  Reported by Fabrice
-       Popineau <fabrice.popineau@supelec.fr> as part of bug#12544.
-       (alarm) [HAVE_SETITIMER]: Be more conformant to the expected
-       return results.
-       [!HAVE_SETITIMER]: Behave as the previous version that didn't
-       support timers.
-
-       * emacs.c (shut_down_emacs) [WINDOWSNT]: Move the call to
-       term_ntproc after all the other bookkeeping, to get timers working
-       as long as possible.
-
-2012-10-01  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * xdisp.c (syms_of_xdisp): Default message-log-max to 1000, not 100.
-       Suggested by Juri Linkov in
-       <http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00821.html>.
-
-       Prefer plain 'static' to 'static inline' (Bug#12541).
-       With static functions, modern compilers inline pretty well by
-       themselves; advice from programmers often hurts as much as it helps.
-       On my host (x86-64, Fedora 17, GCC 4.7.2, default 'configure'),
-       this change shrinks the text size of the Emacs executable by 1.1%
-       without affecting CPU significantly in my benchmark.
-       * alloc.c (mem_find, live_string_p, live_cons_p, live_symbol_p)
-       (live_float_p, live_misc_p, live_vector_p, live_buffer_p)
-       (mark_maybe_object, mark_maybe_pointer, bounded_number):
-       * buffer.c (bset_abbrev_mode, bset_abbrev_table)
-       (bset_auto_fill_function, bset_auto_save_file_format)
-       (bset_auto_save_file_name, bset_backed_up, bset_begv_marker)
-       (bset_bidi_display_reordering, bset_buffer_file_coding_system)
-       (bset_cache_long_line_scans, bset_case_fold_search)
-       (bset_ctl_arrow, bset_cursor_in_non_selected_windows)
-       (bset_cursor_type, bset_display_table, bset_extra_line_spacing)
-       (bset_file_format, bset_file_truename, bset_fringe_cursor_alist)
-       (bset_fringe_indicator_alist, bset_fringes_outside_margins)
-       (bset_header_line_format, bset_indicate_buffer_boundaries)
-       (bset_indicate_empty_lines, bset_invisibility_spec)
-       (bset_left_fringe_width, bset_major_mode, bset_mark)
-       (bset_minor_modes, bset_mode_line_format, bset_mode_name)
-       (bset_name, bset_overwrite_mode, bset_pt_marker)
-       (bset_right_fringe_width, bset_save_length)
-       (bset_scroll_bar_width, bset_scroll_down_aggressively)
-       (bset_scroll_up_aggressively, bset_selective_display)
-       (bset_selective_display_ellipses, bset_vertical_scroll_bar_type)
-       (bset_word_wrap, bset_zv_marker, set_buffer_overlays_before)
-       (set_buffer_overlays_after):
-       * category.c (bset_category_table):
-       * charset.c (read_hex):
-       * coding.c (produce_composition, produce_charset)
-       (handle_composition_annotation, handle_charset_annotation)
-       (char_encodable_p):
-       * dispnew.c (swap_glyph_pointers, copy_row_except_pointers)
-       (assign_row, set_frame_matrix_frame, make_current)
-       (add_row_entry):
-       * eval.c (set_specpdl_symbol, set_specpdl_old_value):
-       * fns.c (maybe_resize_hash_table):
-       * frame.c (fset_buffer_predicate, fset_minibuffer_window):
-       * gmalloc.c (register_heapinfo):
-       * image.c (lookup_image_type):
-       * intervals.c (set_interval_object, set_interval_left)
-       (set_interval_right, copy_interval_parent, rotate_right)
-       (rotate_left, balance_possible_root_interval):
-       * keyboard.c (kset_echo_string, kset_kbd_queue)
-       (kset_keyboard_translate_table, kset_last_prefix_arg)
-       (kset_last_repeatable_command, kset_local_function_key_map)
-       (kset_overriding_terminal_local_map, kset_real_last_command)
-       (kset_system_key_syms, clear_event, set_prop):
-       * lread.c (digit_to_number):
-       * marker.c (attach_marker, live_buffer, set_marker_internal):
-       * nsterm.m (ns_compute_glyph_string_overhangs):
-       * process.c (pset_buffer, pset_command)
-       (pset_decode_coding_system, pset_decoding_buf)
-       (pset_encode_coding_system, pset_encoding_buf, pset_filter)
-       (pset_log, pset_mark, pset_name, pset_plist, pset_sentinel)
-       (pset_status, pset_tty_name, pset_type, pset_write_queue):
-       * syntax.c (bset_syntax_table, dec_bytepos):
-       * terminal.c (tset_param_alist):
-       * textprop.c (interval_has_some_properties)
-       (interval_has_some_properties_list):
-       * window.c (wset_combination_limit, wset_dedicated)
-       (wset_display_table, wset_hchild, wset_left_fringe_width)
-       (wset_left_margin_cols, wset_new_normal, wset_new_total)
-       (wset_normal_cols, wset_normal_lines, wset_parent, wset_pointm)
-       (wset_right_fringe_width, wset_right_margin_cols)
-       (wset_scroll_bar_width, wset_start, wset_temslot, wset_vchild)
-       (wset_vertical_scroll_bar_type, wset_window_parameters):
-       * xdisp.c (wset_base_line_number, wset_base_line_pos)
-       (wset_column_number_displayed, wset_region_showing)
-       (window_box_edges, run_window_scroll_functions)
-       (append_glyph_string_lists, prepend_glyph_string_lists)
-       (append_glyph_string, set_glyph_string_background_width)
-       (append_glyph, append_composite_glyph)
-       (take_vertical_position_into_account):
-       * xfaces.c (x_create_gc, x_free_gc, merge_face_vectors)
-       (face_attr_equal_p, lface_equal_p, hash_string_case_insensitive)
-       (lface_hash, lface_same_font_attributes_p, lookup_face):
-       * xml.c (libxml2_loaded_p):
-       * xterm.c (x_set_mode_line_face_gc, x_set_glyph_string_gc)
-       (x_set_glyph_string_clipping, x_clear_glyph_string_rect):
-       Now 'static', not 'static inline'.
-
-       * bidi.c: Tune.
-       (bidi_copy_it): Do the whole copy with a single memcpy.
-       (bidi_char_at_pos): Merge the two STRING_CHAR calls into one.
-
-       Revert the FOLLOW-SYMLINKS change for file-attributes.
-       Doing it right would require several changes to Tramp, and there's
-       not enough time to get that tested before the freeze today.
-       * dired.c (directory_files_internal, Ffile_attributes):
-       Undo last change.
-
-       * frame.c (x_report_frame_params): Port better to wider ints.
-       Do not assume that EMACS_UINT is the same width as uprintmax_t,
-       or that pointers can be printed in 15 decimal digits.
-       Avoid GCC warnings if EMACS_UINT is wider than a pointer.
-
-2012-09-30  Fabrice Popineau  <fabrice.popineau@supelec.fr>
-
-       Support x64 build on MS-Windows.
-       * w32term.h (SCROLL_BAR_PACK, SCROLL_BAR_UNPACK): Define for x64.
-       (SET_SCROLL_BAR_W32_WINDOW): Cast ID to intptr_t, for
-       compatibility with x64.
-       (x_get_focus_frame): Add prototype.
-
-       * w32term.c (w32_draw_underwave): Don't use GCC extensions for
-       defining an XRectangle structure.
-
-       * w32proc.c (RVA_TO_PTR, w32_executable_type): Fix pointer
-       arithmetics for compatibility with x64.
-
-       * w32menu.c (add_menu_item): Use UINT_PTR instead of UINT, for
-       compatibility with x64.
-
-       * w32heap.h: Adjust prototypes and declarations.
-
-       * w32heap.c (RVA_TO_PTR, allocate_heap, sbrk, init_heap)
-       (round_heap): Use DWORD_PTR, ptrdiff_t and size_t instead of
-       DWORD, long, and unsigned long, for compatibility with x64.
-       (allocate_heap) [_WIN64]: Reserve 32GB of memory.
-       (sbrk): Argument is now of type ptrdiff_t.
-
-       * w32fns.c (HMONITOR): Condition declaration on _WIN32_WINNT being
-       less than 0x0500.
-       (w32_msg_pump): Use WPARAM type for 'result'.
-
-       * w32.c (init_environment, get_emacs_configuration): Support AMD64
-       architecture.
-       (init_ntproc): Cast arguments of _open_osfhandle to intptr_t, for
-       compatibility with x64.
-
-       * vm-limit.c (lim_data): Now size_t.
-       (check_memory_limits): Adjust prototypes of real_morecore and
-       __morecore to receive argument of type ptrdiff_t.  Use size_t for
-       five_percent and data_size.
-
-       * unexw32.c: Use DWORD_PTR instead of DWORD for file-scope
-       variables, for compatibility with x64.
-       (rva_to_section, offset_to_section, relocate_offset)
-       (OFFSET_TO_RVA, RVA_TO_OFFSET, RVA_TO_SECTION_OFFSET)
-       (PTR_TO_RVA, RVA_TO_PTR, OFFSET_TO_PTR, get_section_info)
-       (copy_executable_and_dump_data): Use DWORD_PTR instead of DWORD
-       for compatibility with x64.
-
-       * sysdep.c (STDERR_FILENO): Define if not already defined.
-
-       * ralloc.c (real_morecore): Argument type is now ptrdiff_t.
-       (__morecore): Argument type is now ptrdiff_t.
-       (ROUNDUP, MEM_ROUNDUP): Use size_t instead of 'unsigned long'.
-       (relinquish): Use ptrdiff_t type for 'excess'.
-       (r_alloc_sbrk): Argument type is now ptrdiff_t.
-
-       * makefile.w32-in (HEAPSIZE): Get value from EMACS_HEAPSIZE.
-       (bootstrap-temacs-CMD, bootstrap-temacs-SH): Use $(EMACS_PURESIZE)
-       instead of a literal number.
-
-       * gmalloc.c [WINDOWSNT]: Include w32heap.h.
-       (min): Define only if not already defined.
-
-       * frame.c (x_report_frame_params): Use EMACS_UINT for the return
-       value of FRAME_X_WINDOW, to fit a 64-bit pointer on 64-bit Windows
-       hosts.
-
-       * image.c (x_bitmap_pixmap): Return ptrdiff_t, not int, since
-       'bitmaps' is a pointer.
-
-       * dispextern.h (x_bitmap_pixmap): Adjust prototype.
-
-       * alloc.c (gdb_make_enums_visible): Now conditional on __GNUC__.
-
-2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
-
-       file-attributes has a new optional arg FOLLOW-SYMLINKS.
-       * dired.c (directory_files_internal, Ffile_attributes):
-       New arg follow_symlinks.  All uses changed.
-
-2012-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * .gdbinit (xbacktrace): Adjust to recent "struct backtrace" change.
-
-2012-09-30  Eli Zaretskii  <eliz@gnu.org>
-
-       Support atimers and CPU profiler via profile.c on MS-Windows.
-       * w32proc.c (sig_mask, crit_sig): New static variables.
-       (sys_signal): Support SIGALRM and SIGPROF.
-       (sigemptyset, sigaddset, sigfillset, sigprocmask)
-       (pthread_sigmask, setpgrp): Move here from w32.c.  sigaddset,
-       sigfillset, and sigprocmask are no longer no-ops.
-       (sigismember): New function.
-       (struct itimer_data): New definition.
-       (ticks_now, real_itimer, prof_itimer, clocks_min, crit_real)
-       (crit_prof): New static variables.
-       (MAX_SINGLE_SLEEP): New definition.
-       (timer_loop, stop_timer_thread, term_timers, init_timers)
-       (start_timer_thread, getitimer, setitimer): New functions.
-       (alarm): No longer a no-op, calls setitimer.
-
-       * w32.c (term_ntproc): Call term_timers.
-       (init_ntproc): Make sure all signals are unblocked at startup, to
-       erase any traces of dumping.  Call init_timers.
-
-       * w32fns.c (hourglass_timer, HOURGLASS_ID): Remove.
-       Windows-specific code to display the hourglass mouse pointer is no
-       longer used.
-       (w32_wnd_proc): Remove code that handled the WM_TIMER message due
-       to hourglass timer expiration.
-       (start_hourglass, cancel_hourglass, DEFAULT_HOURGLASS_DELAY):
-       Remove, no longer used.
-       (w32_note_current_window, show_hourglass, hide_hourglass):
-       New functions, in support of hourglass cursor display similar to other
-       window systems.
-       (syms_of_w32fns): Don't initialize hourglass_timer.
-
-       * xdisp.c (start_hourglass, cancel_hourglass): Now used on
-       WINDOWSNT as well.
-       (start_hourglass) [WINDOWSNT]: Call w32_note_current_window.
-
-       * w32.h (init_timers, term_timers): Add prototypes.
-
-2012-09-30  Kenichi Handa  <handa@gnu.org>
-
-       * coding.c (decode_coding_ccl, encode_coding_ccl): Pay attention
-       to the buffer relocation which may be caused by ccl_driver.
-
-2012-09-30  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * xfns.c (Fx_file_dialog): Update comment.
-
-       * w32fns.c (Fx_file_dialog): Update comment.
-
-       * nsfns.m (Fns_read_file_name): Add argument DIR_ONLY_P.
-       Initialize panel name field if OSX >= 10.6.
-
-       * fileio.c (Fnext_read_file_uses_dialog_p): Add HAVE_NS.
-
-       * nsfns.m (ns_frame_parm_handlers): Add x_set_fullscreen.
-
-       * nsterm.m (NEW_STYLE_FS): New define.
-       (ns_fullscreen_hook, windowWillEnterFullScreen)
-       (windowDidEnterFullScreen, windowWillExitFullScreen)
-       (windowDidExitFullScreen, toggleFullScreen, handleFS)
-       (setFSValue): New functions.
-       (EmacsFSWindow): New implementation.
-       (canBecomeKeyWindow): New function for EmacsFSWindow.
-       (ns_create_terminal): Set fullscreen_hook to ns_fullscreen_hook.
-       (dealloc): Release nonfs_window if in fullscreen.
-       (updateFrameSize:): Call windowDidMove to update top/left.
-       (windowWillResize:toSize:): Check if frame is still maximized.
-       (initFrameFromEmacs:): Initialize fs_state, fs_before_fs,
-       next_maximized, maximized_width, maximized_height and nonfs_window.
-       Call setCollectionBehavior if NEW_STYLE_FS.  Initialize bwidth and
-       tbar_height.
-       (windowWillUseStandardFrame:defaultFrame:): Update frame parameter
-       fullscreen.  Set maximized_width/height.  Act on next_maximized.
-
-       * nsterm.h (MAC_OS_X_VERSION_10_7, MAC_OS_X_VERSION_10_8): New.
-       (EmacsView): Add variables for fullscreen.
-       (handleFS, setFSValue, toggleFullScreen): New in EmacsView.
-       (EmacsFSWindow): New interface for fullscreen.
-
-2012-09-30  Juanma Barranquero  <lekktu@gmail.com>
-
-       * makefile.w32-in ($(BLD)/profiler.$(O)): Update dependencies.
-
-2012-09-30  Chong Yidong  <cyd@gnu.org>
-
-       * fns.c (Frandom): Doc fix.
-
-2012-09-30  Martin Rudalics  <rudalics@gmx.at>
-
-       * window.c (Vwindow_combination_limit): New default value.
-       (Qwindow_size): New symbol replacing Qtemp_buffer_resize.
-
-2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * syssignal.h (PROFILER_CPU_SUPPORT): Don't define if PROFILING.
-       Suggested by Eli Zaretskii in
-       <http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00811.html>.
-
-2012-09-30  Eli Zaretskii  <eliz@gnu.org>
-
-       * profiler.c (Fprofiler_cpu_stop): Use timer_settime only if
-       HAVE_TIMER_SETTIME is defined.
-
-2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Profiler improvements: more-accurate timers, overflow checks.
-       * profiler.c: Don't include stdio.h, limits.h, sys/time.h,
-       signal.h, setjmp.h.  Include systime.h instead.
-       (saturated_add): New function.
-       (record_backtrace, current_sample_interval): Use EMACS_INT, not size_t.
-       (record_backtrace, handle_profiler_signal): Saturate on fixnum overflow.
-       (profiler_timer, profiler_timer_ok) [HAVE_TIMER_SETTIME]:
-       New static vars.
-       (enum profiler_cpu_running): New enum.
-       (profiler_cpu_running): Now of that enum type, not bool.
-       All uses changed to store the new value.
-       (handle_profiler_signal): Rename from sigprof_handler_1,
-       for consistency with other handlers.  Do not check whether
-       cpu_log is a hash-table if garbage collecting, since it
-       doesn't matter in that case.
-       (deliver_profiler_signal): Rename from sigprof_handler,
-       for consistency with other handlers.
-       (setup_cpu_timer): New function, with much of what used to be in
-       Fprofiler_cpu_start.  Check for out-of-range argument.
-       Prefer timer_settime if available, and prefer
-       thread cputime clocks, then process cputime clocks, then
-       monotonic clocks, to the old realtime clock.  Use make_timeval
-       to round more-correctly when falling back to setitimer.
-       (Fprofiler_cpu_start): Use it.
-       (Fprofiler_cpu_stop): Prefer timer_settime if available.
-       Don't assume that passing NULL as the 2nd argument of setitimer
-       is the same as passing a pointer to all-zero storage.
-       Ignore SIGPROF afterwards.
-       (malloc_probe): Saturate at MOST_POSITIVE_FIXNUM.
-       * sysdep.c (emacs_sigaction_init): Also mask out SIGPROF in
-       non-fatal signal handlers.  Ignore SIGPROF on startup.
-       * syssignal.h (PROFILER_CPU_SUPPORT): Define this macro here, not
-       in profiler.c, since sysdep.c now uses it.
-
-       * sysdep.c (handle_fatal_signal): Bump backtrace size to 40.
-       Suggested by Eli Zaretskii in
-       <http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00796.html>.
-
-2012-09-29  Juanma Barranquero  <lekktu@gmail.com>
-
-       * makefile.w32-in ($(BLD)/profiler.$(O)): Update dependencies.
-
-2012-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * lisp.h (struct backtrace): Remove indirection for `function' field.
-       * xdisp.c (redisplay_internal):
-       * profiler.c (record_backtrace, sigprof_handler_1):
-       * alloc.c (Fgarbage_collect):
-       * eval.c (interactive_p, Fsignal, eval_sub, Ffuncall, Fbacktrace)
-       (Fbacktrace_frame): Adjust accordingly.
-
-2012-09-28  Glenn Morris  <rgm@gnu.org>
-
-       * eval.c (Frun_hook_with_args, Frun_hook_with_args_until_success)
-       (Frun_hook_with_args_until_failure): Doc fixes.
-
-2012-09-28  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (syms_of_xdisp) <Qredisplay_internal>: Rename from
-       Qautomatic_redisplay and change the symbol name.  All users changed.
-
-2012-09-28  Tomohiro Matsuyama  <tomo@cx4a.org>
-
-       * profiler.c (sigprof_handler): Fix race condition.
-
-2012-09-28  Glenn Morris  <rgm@gnu.org>
-
-       * lread.c (lisp_file_lexically_bound_p): Handle #! lines.  (Bug#12528)
-
-2012-09-27  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Check more robustly for timer_settime.
-       * Makefile.in (LIB_TIMER_TIME): New macro.
-       (LIBES): Add it.
-       * atimer.c (alarm_timer, alarm_timer_ok, set_alarm, init_atimer):
-       Use HAVE_TIMER_SETTIME, not SIGEV_SIGNAL, to decide whether to
-       call timer_settime.
-
-2012-09-26  Tomohiro Matsuyama  <tomo@cx4a.org>
-
-       * profiler.c (Fprofiler_cpu_start): Remove unnecessary flag SA_SIGINFO.
-
-2012-09-26  Juanma Barranquero  <lekktu@gmail.com>
-
-       * makefile.w32-in ($(BLD)/profiler.$(O)): Update dependencies.
-
-2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * character.h (MAYBE_UNIFY_CHAR): Remove.
-       * charset.c, charset.h (maybe_unify_char): Now static.
-       * charset.c (decode_char): Use maybe_unify_char, not MAYBE_UNIFY_CHAR.
-       Since this stuff is now private to charset.c, there's no need for
-       a public macro and no need to inline by hand.
-
-2012-09-26  Tomohiro Matsuyama  <tomo@cx4a.org>
-            Stefan Monnier  <monnier@iro.umontreal.ca>
-            Juanma Barranquero  <lekktu@gmail.com>
-
-       * profiler.c: New file.
-       * Makefile.in (base_obj): Add profiler.o.
-       * makefile.w32-in (OBJ2, GLOBAL_SOURCES): Add profiler.c.
-       ($(BLD)/profiler.$(O)): New target.
-       * emacs.c (main): Call syms_of_profiler.
-       * alloc.c (Qautomatic_gc): New constant.
-       (MALLOC_PROBE): New macro.
-       (xmalloc, xzalloc, xrealloc, lisp_malloc, lisp_align_malloc): Use it.
-       (total_bytes_of_live_objects): New function.
-       (Fgarbage_collect): Use it.  Record itself in backtrace_list.
-       Call malloc_probe for the memory profiler.
-       (syms_of_alloc): Define Qautomatic_gc.
-       * eval.c (eval_sub, Ffuncall): Reorder assignments to avoid
-       race condition.
-       (struct backtrace): Move definition...
-       * lisp.h (struct backtrace): ..here.
-       (Qautomatic_gc, profiler_memory_running): Declare vars.
-       (malloc_probe, syms_of_profiler): Declare functions.
-       * xdisp.c (Qautomatic_redisplay): New constant.
-       (redisplay_internal): Record itself in backtrace_list.
-       (syms_of_xdisp): Define Qautomatic_redisplay.
-
-2012-09-25  Eli Zaretskii  <eliz@gnu.org>
-2012-09-25  Juanma Barranquero  <lekktu@gmail.com>
-
-       * makefile.w32-in ($(BLD)/callproc.$(O)): Update dependencies.
-
-2012-09-25  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Prefer POSIX timers if available.
-       They avoid a race if the timer is too close to the current time.
-       * atimer.c (alarm_timer, alarm_timer_ok) [SIGEV_SIGNAL]: New static vars.
-       (set_alarm) [SIGEV_SIGNAL]: Use POSIX timers if available.
-       (init_atimer) [SIGEV_SIGNAL]: Initialize them.
-
-2012-09-25  Eli Zaretskii  <eliz@gnu.org>
-
-       * coding.c (CHAR_STRING_ADVANCE_NO_UNIFY): Make it an alias of
-       CHAR_STRING_ADVANCE.
-       (STRING_CHAR_ADVANCE_NO_UNIFY): Make it an alias of
-       STRING_CHAR_ADVANCE.
-
-2012-09-25  Juanma Barranquero  <lekktu@gmail.com>
-
-       Move Vlibrary_cache to emacs.c and reset before dumping.
-
-       * lisp.h (reset_image_types): Declare.
-       [WINDOWSNT] (Vlibrary_cache): Declare.
-
-       * image.c (reset_image_types): New function.
-
-       * emacs.c [WINDOWSNT] (Vlibrary_cache): Move from w32.c.
-       (syms_of_emacs) [WINDOWSNT] <Vlibrary_cache>: Initialize and staticpro.
-       (Fdump_emacs): Reset Vlibrary_cache and image_types.
-
-       * w32.c (Vlibrary_cache): Do not define; moved to emacs.c
-       (globals_of_w32) <Vlibrary_cache>: Do not initialize.
-
-       * w32.h (Vlibrary_cache): Do not declare.
-
-2012-09-25  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32proc.c (sys_signal): Handle all signals defined by the
-       MS-Windows runtime, not just SIGCHLD.  Actually install the signal
-       handlers for signals supported by Windows.  Don't override
-       term_ntproc as the handler for SIGABRT.
-       (sigaction): Rewrite to call sys_signal instead of duplicating its
-       code.
-       (sys_kill): Improve commentary.
-
-       * w32.c (term_ntproc): Accept (and ignore) one argument, for
-       consistency with a signature of a signal handler.  All callers
-       changed.
-       (init_ntproc): Accept an argument DUMPING.  If dumping, don't
-       install term_ntproc as a signal handler for SIGABRT, as that
-       should be done by the dumped Emacs.
-
-       * w32.h (init_ntproc, term_ntproc): Adjust prototypes.
-
-       * w32select.c (term_w32select): Protect against repeated
-       invocation by setting clipboard_owner to NULL after calling
-       DestroyWindow.
-
-       * emacs.c (shut_down_emacs, main): Adapt the calls to init_ntproc
-       and term_ntproc to their modified signatures.
-
-       * character.c (char_string, string_char): Remove calls to
-       MAYBE_UNIFY_CHAR.  See the discussion starting at
-       http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00433.html
-       for the details.
-
-2012-09-25  Chong Yidong  <cyd@gnu.org>
-
-       * xdisp.c (mode_line_inverse_video): Delete obsolete variable.
-
-2012-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * bytecode.c (exec_byte_code): Signal an error instead of aborting,
-       when encountering an unknown bytecode.
-
-2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
-
-       image.c, indent.c: Use bool for booleans.
-       * dispextern.h (struct image_type): Members valid_p, load, init
-       now return bool, not int.  All uses changed.
-       * image.c: Omit unnecessary static decls.
-       (x_create_bitmap_mask, x_build_heuristic_mask):
-       Return void, not int, since callers don't care about the return value.
-       (x_create_bitmap_mask, define_image_type, valid_image_p)
-       (struct image_keyword, parse_image_spec, image_spec_value)
-       (check_image_size, image_background)
-       (image_background_transparent, x_clear_image_1)
-       (postprocess_image, lookup_image, x_check_image_size)
-       (x_create_x_image_and_pixmap, xbm_image_p)
-       (Create_Pixmap_From_Bitmap_Data, xbm_read_bitmap_data)
-       (xbm_load_image, xbm_file_p, xbm_load, xpm_lookup_color)
-       (init_xpm_functions, xpm_valid_color_symbols_p, xpm_image_p)
-       (xpm_load, xpm_load_image, lookup_rgb_color, lookup_pixel_color)
-       (x_to_xcolors, x_build_heuristic_mask, pbm_image_p, pbm_load)
-       (png_image_p, init_png_functions, png_load_body, png_load)
-       (jpeg_image_p, init_jpeg_functions, jpeg_load_body, jpeg_load)
-       (tiff_image_p, init_tiff_functions, tiff_load, gif_image_p)
-       (init_gif_functions, gif_load, imagemagick_image_p)
-       (imagemagick_load_image, imagemagick_load, svg_image_p)
-       (init_svg_functions, svg_load, svg_load_image, gs_image_p)
-       (gs_load):
-       * nsimage.m (ns_load_image):
-       * nsterm.m (ns_defined_color):
-       * xfaces.c (tty_lookup_color, tty_defined_color, defined_color):
-       * xfns.c (x_defined_color):
-       * xterm.c (x_alloc_lighter_color_for_widget)
-       (x_alloc_nearest_color_1, x_alloc_nearest_color)
-       (x_alloc_lighter_color):
-       * indent.c (disptab_matches_widthtab, current_column)
-       (scan_for_column, string_display_width, indented_beyond_p)
-       (compute_motion, vmotion, Fvertical_motion):
-       Use bool for booleans.
-
-2012-09-24  Chong Yidong  <cyd@gnu.org>
-
-       * chartab.c (Fset_char_table_default): Obsolete function removed.
-
-2012-09-23  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Move pid_t related decls out of lisp.h.
-       * lisp.h, syswait.h (record_child_status_change, wait_for_termination)
-       (interruptible_wait_for_termination):
-       Move these decls from lisp.h to syswait.h, since they use pid_t.
-       Needed on FreeBSD; see Herbert J. Skuhra in
-       <http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00571.html>.
-       * callproc.c: Include syswait.h.
-
-       gnutls.c, gtkutil.c: Use bool for boolean.
-       * gnutls.c (gnutls_global_initialized, init_gnutls_functions)
-       (emacs_gnutls_handle_error):
-       * gtkutil.c (xg_check_special_colors, xg_prepare_tooltip)
-       (xg_hide_tooltip, xg_create_frame_widgets)
-       (create_dialog, xg_uses_old_file_dialog)
-       (xg_get_file_with_chooser, xg_get_file_with_selection)
-       (xg_get_file_name, xg_have_tear_offs, create_menus, xg_create_widget)
-       (xg_item_label_same_p, xg_update_menubar)
-       (xg_modify_menubar_widgets, xg_event_is_for_menubar)
-       (xg_ignore_gtk_scrollbar, xg_set_toolkit_scroll_bar_thumb)
-       (xg_event_is_for_scrollbar, xg_pack_tool_bar, xg_make_tool_item)
-       (is_box_type, xg_tool_item_stale_p, xg_update_tool_bar_sizes)
-       (update_frame_tool_bar, free_frame_tool_bar):
-       * gtkutil.c, w32term.c, xterm.c (x_wm_set_size_hint):
-       * nsmenu.m (ns_update_menubar):
-       * nsmenu.m, w32menu.c, xmenu.c (set_frame_menubar):
-       * xfns.c (Fx_show_tip) [USE_GTK]:
-       Use bool for boolean.
-       * gtkutil.c (xg_update_frame_menubar):
-       * xmenu.c (update_frame_menubar):
-       Return void, not int, since caller ignores return value.
-       * gtkutil.c (xg_change_toolbar_position):
-       Return void, not 1.
-
-2012-09-23  Juanma Barranquero  <lekktu@gmail.com>
-
-       * makefile.w32-in (BLOCKINPUT_H): Remove.
-       (SYSSIGNAL_H): New macro.
-       ($(BLD)/alloc.$(O), $(BLD)/atimer.$(O), $(BLD)/buffer.$(O))
-       ($(BLD)/callproc.$(O), $(BLD)/data.$(O), $(BLD)/dired.$(O))
-       ($(BLD)/dispnew.$(O), $(BLD)/editfns.$(O), $(BLD)/emacs.$(O))
-       ($(BLD)/eval.$(O), $(BLD)/fileio.$(O), $(BLD)/floatfns.$(O))
-       ($(BLD)/fns.$(O), $(BLD)/fontset.$(O), $(BLD)/frame.$(O))
-       ($(BLD)/fringe.$(O), $(BLD)/image.$(O), $(BLD)/insdel.$(O))
-       ($(BLD)/keyboard.$(O), $(BLD)/keymap.$(O), $(BLD)/lread.$(O))
-       ($(BLD)/menu.$(O), $(BLD)/w32inevt.$(O), $(BLD)/w32proc.$(O))
-       ($(BLD)/print.$(O), $(BLD)/process.$(O), $(BLD)/ralloc.$(O))
-       ($(BLD)/search.$(O), $(BLD)/sound.$(O), $(BLD)/sysdep.$(O))
-       ($(BLD)/term.$(O), $(BLD)/window.$(O), $(BLD)/xdisp.$(O))
-       ($(BLD)/xfaces.$(O), $(BLD)/w32fns.$(O), $(BLD)/w32menu.$(O))
-       ($(BLD)/w32term.$(O), $(BLD)/w32select.$(O), $(BLD)/w32reg.$(O))
-       ($(BLD)/w32xfns.$(O)): Update dependencies.
-
-2012-09-23  Eli Zaretskii  <eliz@gnu.org>
-
-       * .gdbinit: Set breakpoint on terminate_due_to_signal, not on
-       fatal_error_backtrace.
-
-       * w32proc.c (sys_kill): Undo last change: don't do anything when
-       invoked to deliver SIGABRT to our own process.  This is now
-       handled by emacs_raise.
-
-2012-09-23  Juanma Barranquero  <lekktu@gmail.com>
-
-       * w32term.c (w32_read_socket): Remove leftover reference to
-       interrupt_input_pending.
-
-2012-09-23  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Do not use SA_NODEFER.
-       Problem reported by Dani Moncayo in
-       <http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00557.html>.
-       * alloc.c (die):
-       * sysdep.c (emacs_abort): Do not reset signal handler.
-       * emacs.c (terminate_due_to_signal): Reset signal handler here.
-       * sysdep.c (init_signals): Do not use SA_NODEFER.  It wasn't
-       wanted even on POSIXish hosts, and it doesn't work on Windows.
-
-2012-09-23  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * xterm.c (x_term_init): Call fixup_locale before and after calling
-       gtk_init (Bug#12392).
-
-2012-09-23  Chong Yidong  <cyd@gnu.org>
-
-       * w32.c (w32_delayed_load): Remove LIBRARIES argument; always use
-       Vdynamic_library_alist.
-
-       * gnutls.c (init_gnutls_functions): Caller changed; remove arg.
-       (Fgnutls_available_p): Caller changed.
-
-       * xml.c (init_libxml2_functions, Flibxml_parse_html_region)
-       (Flibxml_parse_xml_region): Likewise.
-
-       * dispextern.h (struct image_type): Remove arg from init function.
-
-       * image.c (Finit_image_library, lookup_image_type)
-       (define_image_type): Remove now-unneeded second arg.
-       (init_xpm_functions, init_png_functions, init_jpeg_functions)
-       (init_tiff_functions, init_gif_functions, init_svg_functions):
-       Arglist and w32_delayed_load calling convention changed.
-       (gs_type): Remove init_gs_functions; there is no such function.
-       (valid_image_p, make_image): Fix caller to lookup_image_type.
-
-2012-09-23  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Simplify and avoid signal-handling races (Bug#12471).
-       * alloc.c (die):
-       * sysdep.c (emacs_abort) [HAVE_NTGUI]:
-       Avoid recursive loop if there's a fatal error in the function itself.
-       * atimer.c (pending_atimers):
-       * blockinput.h: Don't include "atimer.h"; no longer needed.
-       (interrupt_input_pending): Remove.  All uses removed.
-       pending_signals now counts both atimers and ordinary interrupts.
-       This is less racy than having three separate pending-signal flags.
-       (block_input, unblock_input, totally_unblock_input, unblock_input_to)
-       (input_blocked_p):
-       Rename from their upper-case counterparts BLOCK_INPUT,
-       UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT, UNBLOCK_INPUT_TO,
-       INPUT_BLOCKED_P, and turn into functions.  All uses changed.
-       This makes it easier to access volatile variables more accurately.
-       (BLOCK_INPUT_RESIGNAL): Remove.  All uses replaced by unblock_input ().
-       (input_blocked_p): Prefer this to 'interrupt_input_blocked', as
-       that's more reliable if the code is buggy and sets
-       interrupt_input_blocked to a negative value.  All uses changed.
-       * atimer.c (deliver_alarm_signal):
-       Remove.  No need to deliver this to the parent; any thread can
-       handle this signal now.  All uses replaced by underlying handler.
-       * atimer.c (turn_on_atimers):
-       * dispnew.c (handle_window_change_signal):
-       * emacs.c (handle_danger_signal):
-       * keyboard.c (kbd_buffer_get_event):
-       Don't reestablish signal handler; not needed with sigaction.
-       * blockinput.h (UNBLOCK_INPUT_TO, TOTALLY_UNBLOCK_INPUT)
-       (UNBLOCK_INPUT_TO):
-       Rework to avoid unnecessary accesses to volatile variables.
-       (UNBLOCK_INPUT_TO): Now a function.
-       (totally_unblock_input, unblock_input): New decls.
-       * data.c (handle_arith_signal, deliver_arith_signal): Move to sysdep.c
-       (init_data): Remove.  Necessary stuff now done in init_signal.
-       * emacs.c, xdisp.c: Include "atimer.h", since we invoke atimer functions.
-       * emacs.c (handle_fatal_signal, deliver_fatal_signal): Move to sysdep.c.
-       (fatal_error_code): Remove; no longer needed.
-       (terminate_due_to_signal): Rename from fatal_error_backtrace, since
-       it doesn't always backtrace.  All uses changed.  No need to reset
-       signal to default, since sigaction and/or die does that for us now.
-       Use emacs_raise (FOO), not kill (getpid (), FOO).
-       (main): Check more-accurately whether we're dumping.
-       Move fatal-error setup to sysdep.c
-       * floatfns.c: Do not include "syssignal.h"; no longer needed.
-       * gtkutil.c (xg_get_file_name, xg_get_font):
-       Remove no-longer-needed signal-mask manipulation.
-       * keyboard.c, process.c (POLL_FOR_INPUT):
-       Don't depend on USE_ASYNC_EVENTS, a symbol that is never defined.
-       * keyboard.c (read_avail_input): Remove.
-       All uses replaced by gobble_input.
-       (Ftop_level): Use TOTALLY_UNBLOCK_INPUT rather than open code.
-       (kbd_buffer_store_event_hold, gobble_input):
-       (record_asynch_buffer_change) [USABLE_SIGIO]:
-       (store_user_signal_events):
-       No need to mess with signal mask.
-       (gobble_input): If blocking input and there are terminals, simply
-       set pending_signals to 1 and return.  All hooks changed to not
-       worry about whether input is blocked.
-       (process_pending_signals): Clear pending_signals before processing
-       them, in case a signal comes in while we're processing.
-       By convention callers now test pending_signals before calling us.
-       (UNBLOCK_INPUT_TO, unblock_input, totally_unblock_input):
-       New functions, to support changes to blockinput.h.
-       (handle_input_available_signal): Now extern.
-       (reinvoke_input_signal): Remove.  All uses replaced by
-       handle_async_input.
-       (quit_count): Now volatile, since a signal handler uses it.
-       (handle_interrupt): Now takes bool IN_SIGNAL_HANDLER as arg.
-       All callers changed.  Block SIGINT only if not already blocked.
-       Clear sigmask reliably, even if Fsignal returns, which it can.
-       Omit unnecessary accesses to volatile var.
-       (quit_throw_to_read_char): No need to restore sigmask.
-       * keyboard.c (gobble_input, handle_user_signal):
-       * process.c (wait_reading_process_output):
-       Call signal-handling code rather than killing ourselves.
-       * lisp.h: Include <float.h>, for...
-       (IEEE_FLOATING_POINT): New macro, moved here to avoid duplication.
-       (pending_signals): Now volatile.
-       (syms_of_data): Now const if IEEE floating point.
-       (handle_input_available_signal) [USABLE_SIGIO]:
-       (terminate_due_to_signal, record_child_status_change): New decls.
-       * process.c (create_process): Avoid disaster if memory is exhausted
-       while we're processing a vfork, by tightening the critical section
-       around the vfork.
-       (send_process_frame, process_sent_to, handle_pipe_signal)
-       (deliver_pipe_signal): Remove.  No longer needed, as Emacs now
-       ignores SIGPIPE.
-       (send_process): No need for setjmp/longjmp any more, since the
-       SIGPIPE stuff is now gone.  Instead, report an error if errno
-       is EPIPE.
-       (record_child_status_change): Now extern.  PID and W are now args.
-       Return void, not bool.  All callers changed.
-       * sysdep.c (wait_debugging) [(BSD_SYSTEM || HPUX) && !defined (__GNU__)]:
-       Remove.  All uses removed.  This bug should be fixed now in a
-       different way.
-       (wait_for_termination_1): Use waitpid rather than sigsuspend,
-       and record the child status change directly.  This avoids the
-       need to futz with the signal mask.
-       (process_fatal_action): Move here from emacs.c.
-       (emacs_sigaction_flags): New function, containing
-       much of what used to be in emacs_sigaction_init.
-       (emacs_sigaction_init): Use it.  Block nonfatal system signals that are
-       caught by emacs, to make races less likely.
-       (deliver_process_signal): Rename from handle_on_main_thread.
-       All uses changed.
-       (BACKTRACE_LIMIT_MAX): Now at top level.
-       (thread_backtrace_buffer, threadback_backtrace_pointers):
-       New static vars.
-       (deliver_thread_signal, deliver_fatal_thread_signal):
-       New functions, for more-accurate delivery of thread-specific signals.
-       (handle_fatal_signal, deliver_fatal_signal): Move here from emacs.c.
-       (deliver_arith_signal): Handle in this thread, not
-       in the main thread, since it's triggered by this thread.
-       (maybe_fatal_sig): New function.
-       (init_signals): New arg DUMPING so that we can be more accurate
-       about whether we're dumping.  Caller changed.
-       Treat thread-specific signals differently from process-general signals.
-       Block all signals while handling fatal error; that's safer.
-       xsignal from SIGFPE only on non-IEEE hosts, treating it as fatal
-       on IEEE hosts.
-       When batch, ignore SIGHUP, SIGINT, SIGTERM if they were already ignored.
-       Ignore SIGPIPE unless batch.
-       (emacs_backtrace): Output backtrace for the appropriate thread,
-       which is not necessarily the main thread.
-       * syssignal.h: Include <stdbool.h>.
-       (emacs_raise): New macro.
-       * xterm.c (x_connection_signal): Remove; no longer needed
-       now that we use sigaction.
-       (x_connection_closed): No need to mess with sigmask now.
-       (x_initialize): No need to reset SIGPIPE handler here, since
-       init_signals does this for us now.
-
-2012-09-23  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsterm.m (ns_dumpglyphs_image): dr is a new rect to draw image into,
-       background rect may be larger (Bug#12245).
-
-2012-09-23  Chong Yidong  <cyd@gnu.org>
-
-       * keyboard.c (timer_check): Avoid quitting during Fcopy_sequence.
-
-2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * .gdbinit: Just stop at fatal_error_backtrace.
-       See Stefan Monnier's request in
-       <http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00549.html>.
-       Remove no-longer-used query of system type.
-
-2012-09-22  Chong Yidong  <cyd@gnu.org>
-
-       * search.c (Freplace_match): Doc fix (Bug#12325).
-
-       * minibuf.c (Finternal_complete_buffer): Doc fix (Bug#12391).
-
-       * editfns.c (Fline_beginning_position): Doc fix (Bug#12416).
-       (Fline_end_position): Doc fix.
-
-       * cmds.c (Fforward_char, Fbackward_char): Doc fix (Bug#12414).
-
-2012-09-22  Chong Yidong  <cyd@gnu.org>
-
-       * dispextern.h (struct image_type): Add new slot, storing a type
-       initialization function.
-
-       * image.c (define_image_type): Call the image initializer function
-       if it is defined.  Arguments and return value changed.
-       (valid_image_p, make_image): Callers changed.
-       (xbm_type, xpm_type, pbm_type, png_type, jpeg_type, tiff_type)
-       (gif_type, imagemagick_type, svg_type, gs_type):
-       Add initialization functions.
-       (Finit_image_library): Call lookup_image_type.
-       (CHECK_LIB_AVAILABLE): Macro deleted.
-       (lookup_image_type): Call define_image_type here, rather than via
-       Finit_image_library, and without using CHECK_LIB_AVAILABLE.
-       (syms_of_image): Move define_image_type calls for xbm_type and
-       pbm_type to lookup_image_type.
-
-2012-09-22  Eli Zaretskii  <eliz@gnu.org>
-
-       * keyboard.c (timer_check_2): Move calculation of 'timers' and
-       'idle_timers' from here ...
-       (timer_check): ... to here.  Use Fcopy_sequence to copy the timer
-       lists, to avoid infloops when the timer does something stupid,
-       like reinvoke itself with the same or smaller time-out.
-       (Bug#12447)
-
-2012-09-22  Martin Rudalics  <rudalics@gmx.at>
-
-       * window.c (Fsplit_window_internal): Handle only Qt value of
-       Vwindow_combination_limit separately.
-       (Qtemp_buffer_resize): New symbol.
-       (Vwindow_combination_limit): New default value.
-       Rewrite doc-string.
-
-2012-09-22  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (next_overlay_string): Initialize it->end_charpos for
-       the new overlay string.  (Bug#10159)
-
-2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * emacs.c (shut_down_emacs): Don't assume stderr is buffered,
-       or that fprintf is async-signal-safe.  POSIX doesn't require
-       either assumption.
-
-2012-09-22  Chong Yidong  <cyd@gnu.org>
-
-       * buffer.c (Fset_buffer_modified_p): Handle indirect buffers
-       (Bug#8207).
-
-2012-09-22  Kenichi Handa  <handa@gnu.org>
-
-       * composite.c (composition_reseat_it): Handle the case that a
-       grapheme cluster is not covered by a single font (Bug#12352).
-
-2012-09-21  Chong Yidong  <cyd@gnu.org>
-
-       * image.c (define_image_type): Avoid adding duplicate types to
-       image_types (Bug#12463).  Suggested by Jörg Walter.
-
-2012-09-21  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * unexmacosx.c: Define LC_DATA_IN_CODE if not defined.
-       (print_load_command_name): Add case LC_DATA_IN_CODE.
-       (dump_it) [LC_DATA_IN_CODE]: Call copy_linkedit_data.
-
-2012-09-21  Glenn Morris  <rgm@gnu.org>
-
-       * eval.c (Frun_hook_with_args_until_success)
-       (Frun_hook_with_args_until_failure): Doc fixes.  (Bug#12393)
-
-2012-09-21  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * fileio.c (Ffile_selinux_context): Only call freecon when
-       lgetfilecon succeeded.
-       (Fset_file_selinux_context): Likewise.  (Bug#12444)
-
-2012-09-21  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (try_window_reusing_current_matrix): Under bidi
-       reordering, locate the cursor by calling set_cursor_from_row; if
-       that fails, clear the desired glyph matrix before returning a
-       failure indication to the caller.  Fixes leaving garbled display
-       when fast scrolling with a down-key.  (Bug#12403)
-       (compute_stop_pos_backwards): Fix a typo that caused crashes while
-       scrolling through multibyte text.
-
-2012-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * alloc.c (mark_object) <PVEC_WINDOW>: Mark prev/next_buffers *after*
-       calling mark_vectorlike since that's the one that marks the window.
-       (mark_discard_killed_buffers): Mark the final cdr.
-       * window.h (struct window): Move prev/next_buffers to the
-       non-standard fields.
-       * window.c (make_window): Initialize prev/next_buffers manually.
-
-2012-09-20  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Omit unused arg EXPECTED from socket hooks.
-       * keyboard.c (gobble_input, read_avail_input, tty_read_avail_input):
-       * nsterm.m (ns_term_init):
-       * termhooks.h (struct terminal.read_socket_hook):
-       * w32inevt.c (w32_console_read_socket):
-       * w32term.c (w32_read_socket):
-       * xterm.c (XTread_socket):
-       Omit unused arg EXPECTED.  All callers changed.
-       (store_user_signal_events): Return void, not int, since callers no
-       longer care about the return value.  All uses changed.
-
-2012-09-20  Juanma Barranquero  <lekktu@gmail.com>
-
-       * w32gui.h (XParseGeometry): Do not declare.
-
-2012-09-19  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * w32inevt.c (w32_console_read_socket): Return -1 on failure, not 0.
-       Ignore 'expected'.  See Eli Zaretskii in
-       <http://bugs.gnu.org/12471#8> (last line).
-
-       * frame.c (read_integer): Remove.  All uses replaced by strtol/strtoul.
-       (XParseGeometry): Now static.  Substitute extremal values for
-       values that are out of range.
-
-2012-09-19  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * w32xfns.c (read_integer, XParseGeometry): Move to frame.c.
-
-       * nsfns.m (XParseGeometry): Remove.
-       (Fx_create_frame): Call x_set_offset to correctly interpret
-       top_pos in geometry.
-
-       * frame.c (read_integer, XParseGeometry): Move from w32xfns.c.
-       (Fx_parse_geometry): If there is a space in string, call
-       Qns_parse_geometry, otherwise do as on other terms (Bug#12368).
-
-2012-09-17  Eli Zaretskii  <eliz@gnu.org>
-
-       * search.c (scan_buffer): Use character positions in calls to
-       region_cache_forward and region_cache_backward, not byte
-       positions.  (Bug#12196)
-
-       * w32term.c (w32_read_socket): Set pending_signals to 1, like
-       xterm.c does.  Reported by Daniel Colascione <dancol@dancol.org>.
-
-       * ralloc.c (r_alloc_init) [!SYSTEM_MALLOC]: Initialize
-       __malloc_extra_blocks to 32 instead of 64, like alloc.c did in
-       emacs_blocked_malloc, now deleted.
-
-2012-09-17  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Remove no-longer-needed Solaris 2.4 vfork bug workaround.
-       The workaround was for improving performance on Solaris 2.4, but
-       is getting in the way now.  Emacs will still work if someone is
-       still running Solaris 2.4 in a museum somewhere; Sun dropped
-       support for Solaris 2.4 in 2003.
-       * callproc.c (Fcall_process) [HAVE_WORKING_VFORK]:
-       * process.c (create_process) [HAVE_WORKING_VFORK]:
-       Omit now-unnecessary workaround for the Solaris 2.4 vfork bug,
-       since Emacs no longer uses vfork on that platform.
-
-2012-09-17  Glenn Morris  <rgm@gnu.org>
-
-       * emacs.c: Use COPYRIGHT.
-
-2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Remove configure's --without-sync-input option (Bug#12450).
-       When auditing signal-handling in preparation for cleaning it up,
-       I found that SYNC_INPUT has race conditions and would be a real
-       pain to fix.  Since it's an undocumented and deprecated
-       configure-time option, now seems like a good time to remove it.
-       Also see <http://bugs.gnu.org/11080#16>.
-       * alloc.c (_bytes_used, __malloc_extra_blocks, _malloc_internal)
-       (_free_internal) [!DOUG_LEA_MALLOC]: Remove decls.
-       (alloc_mutex) [!SYSTEM_MALLOC && !SYNC_INPUT && HAVE_PTHREAD]:
-       (malloc_hysteresis):
-       (check_depth) [XMALLOC_OVERRUN_CHECK]:
-       (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT):
-       (__malloc_hook, __realloc_hook, __free_hook, BYTES_USED)
-       (dont_register_blocks, bytes_used_when_reconsidered)
-       (bytes_used_when_full, emacs_blocked_free, emacs_blocked_malloc)
-       (emacs_blocked_realloc, reset_malloc_hooks, uninterrupt_malloc):
-       [!SYSTEM_MALLOC && !SYNC_INPUT]:
-       Remove.  All uses removed.
-       (MALLOC_BLOCK_INPUT, MALLOC_UNBLOCK_INPUT): Use a different
-       implementation, one that depends on whether the new macro
-       XMALLOC_BLOCK_INPUT_CHECK is defined, not on whether SYNC_INPUT
-       is defined.
-       * atimer.c (run_timers, handle_alarm_signal):
-       * keyboard.c (pending_signal, poll_for_input_1, poll_for_input)
-       (handle_async_input, process_pending_signals)
-       (handle_input_available_signal, init_keyboard):
-       * nsterm.m (ns_read_socket):
-       * process.c (wait_reading_process_output):
-       * regex.c (immediate_quit, IMMEDIATE_QUIT_CHECK):
-       * sysdep.c (emacs_sigaction_init) [SA_RESTART]:
-       (emacs_write):
-       * xterm.c (XTread_socket):
-       Assume SYNC_INPUT.
-       * conf_post.h (SA_RESTART) [IRIX6_5]: Do not #undef.
-       * eval.c (handling_signal): Remove.  All uses removed.
-       * lisp.h (ELSE_PENDING_SIGNALS): Remove.
-       All uses replaced with the SYNC_INPUT version.
-       (reset_malloc_hooks, uninterrupt_malloc, handling_signal):
-       Remove decls.
-       * sysdep.c, syssignal.h (main_thread) [FORWARD_SIGNAL_TO_MAIN_THREAD]:
-       Now static.
-
-       * font.c (Ffont_shape_gstring): Remove unused local.
-
-2012-09-16  Glenn Morris  <rgm@gnu.org>
-
-       * Makefile.in (clean): No longer run nextstep's clean.
-
-       * Makefile.in (ns_appdir, ns_appbindir, ns_appsrc): Remove variables.
-       (ns_frag): Remove.
-       (ns-app): Move here from ns.mk, and simplify.
-       (clean): Simplify nextstep entry.
-       * ns.mk: Remove file.
-
-2012-09-17  Kenichi Handa  <handa@gnu.org>
-
-       * font.c (Ffont_shape_gstring): Fix previous change; GLYPHs may
-       not covert the last few charactes.
-
-2012-09-16  Kenichi Handa  <handa@gnu.org>
-
-       * font.c (Ffont_shape_gstring): Don't adjust grapheme cluster
-       here, but just check the validity of glyphs in the glyph-string.
-
-2012-09-16  Martin Rudalics  <rudalics@gmx.at>
-
-       * window.c (Fwindow_parameter, Fset_window_parameter):
-       Accept any window as argument (Bug#12452).
-
-2012-09-16  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsfns.m (Fx_open_connection): Move initialization of ns_*_types
-       to ns_term_init to avoid memory leak.
-
-       * nsterm.m (ns_update_begin): Initialize bp after lcokFocus, use
-       explicit retain/release.
-       (ns_term_init): Only allow one display.  Initialize outerpool and
-       ns_*_types.
-
-2012-09-15  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Port _setjmp fix to POSIXish hosts as well as Microsoft.
-       * image.c (_setjmp) [!HAVE__SETJMP]: Restore definition, as
-       it's needed on POSIXish hosts that lack _setjmp.  Attempt to solve
-       the Microsoft problem in a different way, by altering ../nt/config.nt.
-
-2012-09-15  Eli Zaretskii  <eliz@gnu.org>
-
-       * 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: Remove inclusion of setjmp.h, as it is now included
-       by lisp.h.  This completes removal of setjmp.h inclusion
-       erroneously announced in the previous commit.  (Bug#12446)
-
-       * lisp.h [!HAVE__SETJMP, !HAVE_SIGSETJMP]: Make the commentary
-       more accurate.
-
-       * image.c (_setjmp) [!HAVE__SETJMP]: Define only if 'setjmp' is
-       not defined as a macro.  The latter happens on MS-Windows.
-       (Bug#12446)
-
-2012-09-15  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Port better to POSIX hosts lacking _setjmp (Bug#12446).
-       * lisp.h: Include <setjmp.h> here, since we use its symbols here.
-       Some instances of '#include <setjmp.h>' removed, if the
-       only reason for the instance was because "lisp.h" was included.
-       (sys_jmp_buf, sys_setjmp, sys_longjmp): New symbols.
-       Unless otherwise specified, replace all uses of jmp_buf, _setjmp,
-       and _longjmp with the new symbols.  Emacs already uses _setjmp if
-       available, so this change affects only POSIXish hosts that have
-       sigsetjmp but not _setjmp, such as some versions of Solaris and
-       Unixware.  (Also, POSIX-2008 marks _setjmp as obsolescent.)
-       * image.c (_setjmp, _longjmp) [HAVE_PNG && !HAVE__SETJMP]: New macros.
-       (png_load_body) [HAVE_PNG]:
-       (PNG_LONGJMP) [HAVE_PNG && PNG_LIBPNG_VER < 10500]:
-       (PNG_JMPBUF) [HAVE_PNG && PNG_LIBPNG_VER >= 10500]:
-       Use _setjmp and _longjmp rather than sys_setjmp and sys_longjmp,
-       since PNG requires jmp_buf.  This is the only exception to the
-       general rule that we now use sys_setjmp and sys_longjmp.
-       This exception is OK since this code does not change the signal
-       mask or longjmp out of a signal handler.
-
-2012-09-14  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * alloc.c [!SYSTEM_MALLOC && !SYNC_INPUT && HAVE_PTHREAD]:
-       Include "syssignal.h", for 'main_thread'.
-
-2012-09-14  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Avoid out-of-range marker position (Bug#12426).
-       * insdel.c (replace_range, replace_range_2):
-       Adjust markers before overlays, as suggested by comments.
-       (insert_1_both, insert_from_buffer_1, adjust_after_replace):
-       Remove redundant check before calling offset_intervals.
-
-2012-09-14  Martin Rudalics  <rudalics@gmx.at>
-
-       * xdisp.c (Fformat_mode_line): Unconditionally save/restore
-       current buffer (Bug#12387).
-
-2012-09-14  Juanma Barranquero  <lekktu@gmail.com>
-
-       * makefile.w32-in ($(BLD)/alloc.$(O)): Update dependencies.
-
-2012-09-13  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Use a more backwards-compatible timer format (Bug#12430).
-       * keyboard.c (decode_timer): Get PSECS from the 8th (origin-0)
-       vector element, not from the 4th, since PSECS is now at the end.
-       (Fcurrent_idle_time): Doc fix.
-
-2012-09-13  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Function to mark objects and remove killed buffers at once.
-       * alloc.c (discard_killed_buffers): Rename to ...
-       (mark_discard_killed buffers) ... new name.  Add marking
-       of remaining objects.  Fix comment.  Adjust users.
-       (mark_object): Do not touch frame buffer lists here.
-       * frame.c (delete_frame): Reset frame buffer lists here.
-
-2012-09-13  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Better workaround for GNOME bug when --enable-gcc-warnings.
-       * emacsgtkfixed.c (G_STATIC_ASSERT): Remove, undoing last change.
-       Instead, disable -Wunused-local-typedefs.  See Dmitry Antipov in
-       <http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00335.html>.
-
-       Simplify SIGIO usage (Bug#12408).
-       The code that dealt with SIGIO was crufty and confusing, e.g., it
-       played tricks like "#undef SIGIO" but these tricks were not used
-       consistently.  Simplify mostly by not #undeffing standard symbols,
-       e.g., use "defined USABLE_SIGIO" (our symbol, which we can define
-       or not as we please) rather than "defined SIGIO" (standard symbol
-       that we probably shouldn't #undef).
-       * conf_post.h [USG5_4]: Do not include <sys/wait.h> here.
-       Modules that need it can include it.
-       [USG5_4 && emacs]: Likewise, do not include the streams stuff here.
-       * dispextern.h (ignore_sigio): New decl.
-       * emacs.c (shut_down_emacs): Invoke unrequest_sigio
-       unconditionally, since it's now a no-op if !USABLE_SIGIO.
-       * emacs.c (shut_down_emacs):
-       * keyboard.c (kbd_buffer_store_event_hold):
-       Use ignore_sigio rather than invoking 'signal' directly.
-       * keyboard.c (USABLE_FIONREAD && USG5_4): Include <sys/filio.h>,
-       for FIONREAD.
-       (FIONREAD, SIGIO): Do not #undef.
-       (tty_read_avail_input): Use #error rather than a syntax error.
-       * process.c [USG5_4]: Include <sys/stream.h> and <sys/stropts.h>,
-       for I_PIPE, used by SETUP_SLAVE_PTY.
-       (DATAGRAM_SOCKETS): Simplify defn, based on USABLE_FIONREAD.
-       * sysdep.c (croak): Remove; no longer needed.  This bit of
-       temporary code, with Fred N. Fish's comment that it's temporary,
-       has been in Emacs since at least 1992!
-       (init_sigio, reset_sigio, request_sigio, unrequest_sigio):
-       Arrange for them to be no-ops in all cases when ! USABLE_SIGIO.
-       * syssignal.h (croak): Remove decl.
-       (SIGIO, SIGPOO, SIGAIO, SIGPTY): Do not #undef; that's too fragile.
-       * systty.h [!NO_TERMIO]: Do not include <termio.h>; no longer needed
-       now that we're termios-only.
-       (FIONREAD, ASYNC) [BROKEN_FIONREAD]: Do not #undef.
-       * term.c (dissociate_if_controlling_tty): Use #error rather than
-       a run-time error.
-
-       Work around GCC and GNOME bugs when --enable-gcc-warnings.
-       * emacsgtkfixed.c (G_STATIC_ASSERT): Redefine to use 'verify',
-       to work around GNOME bug 683906.
-       * image.c (jpeg_load_body) [HAVE_JPEG && lint]: Pacify gcc -Wclobber.
-       (struct my_jpeg_error_mgr) [HAVE_JPEG && lint]: New member fp.
-       This works around GCC bug 54561.
-
-2012-09-12  Paul Eggert  <eggert@cs.ucla.edu>
-
-       More fixes for 'volatile' and setjmp/longjmp.
-       * eval.c (Fdefvar, Fcondition_case): Remove unnecessary 'volatile's.
-       * image.c (struct png_load_context) [HAVE_PNG]: New type.
-       (png_load_body) [HAVE_PNG]:
-       (jpeg_load_body) [HAVE_JPEG]:
-       New function, with most of the old parent function's body.
-       (png_load) [HAVE_PNG]:
-       (jpeg_load) [HAVE_JPEG]:
-       Invoke the new function, to avoid longjmp munging our locals.
-       (struct my_jpeg_error_mgr) [HAVE_JPEG]: New members cinfo, failure_code.
-       (my_error_exit) [HAVE_JPEG]: Don't trust 'setjmp' to return 2 when
-       longjmp is passed 2, as the C standard doesn't guarantee this.
-       Instead, store the failure code into mgr->failure_code.
-
-2012-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * keyboard.c (read_char, requeued_events_pending_p, Finput_pending_p)
-       (Fdiscard_input, quit_throw_to_read_char, init_keyboard)
-       (syms_of_keyboard): Remove support for unread-command-char.
-
-2012-09-12  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32proc.c (sys_kill): If PID is our process ID and the signal is
-       SIGABRT, call emacs_abort.  Avoids silently exiting upon assertion
-       violation.  (Bug#12426)
-
-2012-09-12  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * image.c (jpeg_memory_src): Don't assume string len fits in unsigned.
-
-2012-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * eval.c: Add `inhibit-debugger'.
-       (Qinhibit_debugger): New symbol.
-       (call_debugger): Bind it instead of Qdebug_on_error.
-       (maybe_call_debugger): Test Vinhibit_debugger.
-       (syms_of_eval): Define inhibit-debugger.
-       * xdisp.c (set_message): Don't bind Qinhibit_debug_on_message.
-       (syms_of_xdisp): Remove inhibit-debug-on-message.
-
-2012-09-11  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Avoid _setjmp/_longjmp problems with local nonvolatile variables.
-       If a nonvolatile local variable is written before a _longjmp to
-       the frame containing the variable, and is read after the _longjmp,
-       the value read is indeterminate.  Some local variables of type
-       'struct handler' and 'struct catchtag' are used in this way, so
-       mark each of their slots as volatile if the slot can be set before
-       _longjmp and read afterwards.
-       * lisp.h (struct handler): var and chosen_clause are now volatile.
-       (struct catchtag): val, next, and pdlcount are now volatile.
-
-       * bidi.c (bidi_push_it, bidi_pop_it):
-       * fns.c (copy_hash_table):
-       * image.c (define_image_type):
-       * keyboard.c (kbd_buffer_store_event_hold):
-       * process.c (Fprocess_send_eof):
-       * xfaces.c (x_create_gc) [HAVE_NS]:
-       * xgselect.c (xg_select):
-       Prefer assignment to memcpy when either will do.
-
-       * alloc.c (discard_killed_buffers): Tune and simplify a bit.
-       Use pointer-to-a-pointer to simplify and avoid a NILP check each
-       time an item is removed.  No need to mark this function 'inline';
-       the compiler knows better than we do.
-
-2012-09-11  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsterm.m (ns_judge_scroll_bars): Pass NO to updateFrameSize.
-       (updateFrameSize:): Add delay parameter to updateFrameSize, send it
-       to change_frame_size (Bug#12388).
-       (windowDidResize:): Pass YES to updateFrameSize.
-
-       * nsterm.h: Add delay parameter to updateFrameSize.
-
-2012-09-11  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Discard killed buffers from deleted window and frame objects.
-       This reduces an amount of references to killed buffers and
-       helps GC to reclaim them faster.
-       * alloc.c (discard_killed_buffers): New function.
-       (mark_object): Use it for deleted windows and frames.
-       (mark_object): If symbol's value is set up for a killed buffer
-       or deleted frame, restore its global binding.
-       * data.c (swap_in_global_binding): Add GC notice.
-       (swap_in_symval_forwarding): Use convenient set_blv_where.
-       * window.c (wset_next_buffers, wset_prev_buffers): Move ...
-       * window.h: ... to here.
-
-2012-09-11  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Convenient macro to check whether the buffer is live.
-       * buffer.h (BUFFER_LIVE_P): New macro.
-       * alloc.c, buffer.c, editfns.c, insdel.c, lread.c, marker.c:
-       * minibuf.c, print.c, process.c, window.c, xdisp.c: Use it.
-
-2012-09-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * xdisp.c (right_overwritten, right_overwriting): Also handle gstring
-       composition cases (Bug#12364).
-
-       * xterm.c (x_draw_glyph_string): Avoid overwriting inverted left
-       overhang of succeeding glyphs overlapping box cursor.
-
-       * w32term.c (x_draw_glyph_string): Likewise.
-
-2012-09-11  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Simplify, document, and port floating-point (Bug#12381).
-       The porting part of this patch fixes bugs on non-IEEE platforms
-       with frexp, ldexp, logb.
-       * data.c, lisp.h (Qdomain_error, Qsingularity_error, Qunderflow_error):
-       Now static.
-       * floatfns.c: Simplify discussion of functions that Emacs doesn't
-       support, by removing commented-out code and briefly listing the
-       C89 functions excluded.  The commented-out stuff was confusing
-       maintenance, e.g., we thought we needed cbrt but it was commented out.
-       (logb): Remove decl; no longer needed.
-       (isfinite): New macro, if not already supplied.
-       (isnan): Don't replace any existing macro.
-       (Ffrexp, Fldexp): Define even if !HAVE_COPYSIGN, as frexp and ldexp
-       are present on all C89 platforms.
-       (Ffrexp): Do not special-case zero, as frexp does the right thing
-       for that case.
-       (Flogb): Do not use logb, as it doesn't have the desired meaning
-       on hosts that use non-base-2 floating point.  Instead, stick with
-       frexp, which is C89 anyway.  Do not pass an infinity or a NaN to
-       frexp, to avoid getting an unspecified result.
-
-       * xdisp.c (Qinhibit_debug_on_message): Now static.
-
-2012-09-10  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsterm.m (ns_update_begin): Set clip path to whole view by using
-       NSBezierPath (Bug#12131).
-
-2012-09-10  Chong Yidong  <cyd@gnu.org>
-
-       * fns.c (Fdelq, Fdelete): Doc fix.
-
-2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * lisp.h (XSETINT, XSETCONS, XSETVECTOR, XSETSTRING, XSETSYMBOL)
-       (XSETFLOAT, XSETMISC): Parenthesize macro bodies.
-
-2012-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * lisp.h (make_lisp_ptr): New macro to replace XSET.
-       (XSETCONS, XSETVECTOR, XSETSTRING, XSETSYMBOL, XSETFLOAT, XSETMISC):
-       Use it.
-
-2012-09-09  Eli Zaretskii  <eliz@gnu.org>
-
-       * fringe.c (draw_fringe_bitmap_1): Don't reduce the width of the
-       left fringe if the window has a left margin.  This avoids leaving
-       traces of the cursor because its leftmost pixel is not drawn over.
-
-       * dispnew.c (update_window_line): When the left margin area of a
-       screen line is updated, set the redraw_fringe_bitmaps_p flag of
-       that screen line.  (Bug#12277)
-
-2012-09-09  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Assume C89 or later for math functions (Bug#12381).
-       This simplifies the code, and makes it a bit smaller and faster,
-       and (most important) makes it easier to clean up signal handling
-       since we can stop worring about floating-point exceptions in
-       library code.  That was a problem before C89, but the problem
-       went away many years ago on all practical Emacs targets.
-       * data.c, image.c, lread.c, print.c:
-       Don't include <math.h>; no longer needed.
-       * data.c, floatfns.c (IEEE_FLOATING_POINT): Don't worry that it
-       might be autoconfigured, as that never happens.
-       * data.c (fmod):
-       * doprnt.c (DBL_MAX_10_EXP):
-       * print.c (DBL_DIG):
-       Remove.  C89 or later always defines these.
-       * floatfns.c (HAVE_MATHERR, FLOAT_CHECK_ERRNO, FLOAT_CHECK_DOMAIN)
-       (in_float, float_error_arg, float_error_arg2, float_error_fn_name)
-       (arith_error, domain_error, domain_error2):
-       Remove all this pre-C89 cruft.  Do not include <errno.h> as that's
-       no longer needed -- we simply return what C returns.  All uses removed.
-       (IN_FLOAT, IN_FLOAT2): Remove.  All uses replaced with
-       the wrapped code.
-       (FLOAT_TO_INT, FLOAT_TO_INT2, range_error, range_error2):
-       Remove.  All uses expanded, as these macros are no longer used
-       more than once and are now more trouble than they're worth.
-       (Ftan): Use tan, not sin / cos.
-       (Flogb): Assume C89 frexp.
-       (fmod_float): Assume C89 fmod.
-       (matherr) [HAVE_MATHERR]: Remove; no longer needed.
-       (init_floatfns): Remove.  All uses removed.
-
-2012-09-08  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsterm.m (ns_draw_fringe_bitmap, ns_dumpglyphs_image): Take back
-       compositeToPoint for OSX < 10.6 (Bug#12390).
-
-2012-09-08  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * floatfns.c (Ftan): Use tan (x), not (sin (x) / cos (x)).
-       This produces more-accurate results.
-
-2012-09-08  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsterm.m (updateFrameSize): Call setFrame: on the view when size
-       changes (Bug#12088).
-
-2012-09-08  Chong Yidong  <cyd@gnu.org>
-
-       * syntax.c (Fstring_to_syntax): Doc fix.
-
-2012-09-08  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsterm.m (ns_clip_to_row): Remove code that deals with drawing fringe
-       in the internal border.
-       (x_set_window_size): Remove static variables and their usage.
-       (ns_redraw_scroll_bars): Fix NSTRACE arg.
-       (ns_after_update_window_line, ns_draw_fringe_bitmap):
-       Remove fringe/internal border adjustment (Bug#11052).
-       (ns_draw_fringe_bitmap): Make code more like other terms (xterm.c).
-       (ns_draw_window_cursor): Remove fringe/internal border adjustment.
-       (ns_fix_rect_ibw): Remove.
-       (ns_get_glyph_string_clip_rect): Remove call to ns_fix_rect_ibw.
-       (ns_dumpglyphs_box_or_relief): Ditto.
-       (ns_maybe_dumpglyphs_background): Remove fringe/internal border
-       adjustment.
-       (ns_dumpglyphs_image): Ditto.
-       (ns_dumpglyphs_stretch): Fix coding style.  Remove fringe/internal
-       border adjustment.
-       (ns_set_vertical_scroll_bar): Remove variables barOnVeryLeft/Right and
-       their usage.  Add fringe_extended_p and its use as in other terms.
-       (ns_judge_scroll_bars): Code style fix.  Call updateFrameSize if
-       scroll bar was removed.
-       (updateFrameSize): New function.
-       (windowDidResize): Move code to updateFrameSize and call it.
-
-       * nsterm.h (EmacsView): Add updateFrameSize.
-
-2012-09-07  Chong Yidong  <cyd@gnu.org>
-
-       * textprop.c (Fget_text_property): Minor doc fix (Bug#12323).
-
-       * data.c (Flocal_variable_if_set_p): Doc fix (Bug#10713).
-
-2012-09-07  Paul Eggert  <eggert@cs.ucla.edu>
-
-       More signal-handler cleanup (Bug#12327).
-       * emacs.c (main): Convert three 'signal' calls to 'sigaction' calls.
-       Problem introduced when merging patches.  Noted by Eli Zaretskii in
-       <http://bugs.gnu.org/12327#67>.
-       * floatfns.c: Comment fix.
-       * lisp.h (force_auto_save_soon): Declare regardless of SIGDANGER.
-       SIGDANGER might not be in scope so "#ifdef SIGDANGER" is not right,
-       and anyway the declaration is harmless even if SIGDANGER is not defined.
-       * syssignal.h (SIGIO): Also #undef if (! defined FIONREAD ||
-       defined BROKEN_FIONREAD).  systty.h formerly did this, but other
-       source files not surprisingly expected syssignal.h to define, or
-       not define, SIGIO, and it's cleaner to do it that way, for consistency.
-       Include <sys/ioctl.h>, for FIONREAD.
-       * systty.h (SIGIO): Do not #undef here; it's now syssignal.h's job.
-       This eliminates a problem whereby other files mysteriously had
-       to include "syssignal.h" before including "systty.h" if they
-       wanted to use "#ifdef SIGIO".
-
-2012-09-07  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32proc.c (sigaction): New function, emulates Posix 'sigaction'.
-
-       * w32.c (sigemptyset): Empty the set.
-       (sigsetmask, sigmask, sigblock, sigunblock): Remove unused functions.
-
-       * alloc.c [ENABLE_CHECKING]: Include signal.h, since we need SIGABRT.
-
-2012-09-07  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * alloc.c (mark_buffer): Revert unsafe marking optimization.
-       (mark_object): Likewise for frame objects.
-
-2012-09-07  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * syssignal.h (handle_on_main_thread): Always declare,
-       even if FORWARD_SIGNAL_TO_MAIN_THREAD is not defined.
-       This ports to platforms without HAVE_PTHREAD.
-
-2012-09-06  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Signal-handler cleanup (Bug#12327).
-       Emacs's signal handlers were written in the old 4.2BSD style with
-       sigblock and sigmask and so forth, and this led to some
-       inefficiencies and confusion.  Rewrite these to use
-       pthread_sigmask etc. without copying signal sets around.  Also,
-       get rid of the confusing macros 'SIGNAL_THREAD_CHECK' and
-       'signal', and instead use functions that do not attempt to take
-       over the system name space.  This patch causes Emacs's text
-       segment to shrink by 0.7% on my platform, Fedora 17 x86-64.
-       * alloc.c, emacsgtkfixed.c, nsfns.m, widget.c, xmenu.c:
-       Do not include <signal.h> or "syssignal.h", as these
-       modules do not use signals.
-       * atimer.c, callproc.c, data.c, dispnew.c, emacs.c, floatfns.c:
-       * gtkutil.c, keyboard.c, process.c, sound.c, sysdep.c, term.c, xterm.c:
-       Do not include <signal.h>, as "syssignal.h" does that for us now.
-       * atimer.c (sigmask_atimers): New function.
-       (block_atimers, unblock_atimers): New functions,
-       replacing the old macros BLOCK_ATIMERS and UNBLOCK_ATIMERS.
-       All uses replaced.
-       * conf_post.h [SIGNAL_H_AHB]: Do not include <signal.h>;
-       no longer needed here.
-       * emacs.c (main): Inspect existing signal handler with sigaction,
-       so that there's no need to block and unblock SIGHUP.
-       * sysdep.c (struct save_signal): New member 'action', replacing
-       old member 'handler'.
-       (save_signal_handlers, restore_signal_handlers):
-       Use sigaction instead of 'signal' to save and restore.
-       (get_set_sighandler, set_sighandler) [!WINDOWSNT]:
-       New function.  All users of 'signal' modified to use set_sighandler
-       if they're writeonly, and to use sys_signal if they're read+write.
-       (emacs_sigaction_init, forwarded_signal): New functions.
-       (sys_signal): Remove.  All uses replaced by calls to sigaction
-       and emacs_sigaction_init, or by direct calls to 'signal'.
-       (sys_sigmask) [!__GNUC__]: Remove; no longer needed.
-       (sys_sigblock, sys_sigunblock, sys_sigsetmask): Remove;
-       all uses replaced by pthread_sigmask etc. calls.
-       * syssignal.h: Include <signal.h>.
-       (emacs_sigaction_init, forwarded_signal): New decls.
-       (SIGMASKTYPE): Remove.  All uses replaced by its definiens, sigset_t.
-       (SIGEMPTYMASK): Remove; all uses replaced by its definiens, empty_mask.
-       (sigmask, sys_sigmask): Remove; no longer needed.
-       (sigpause): Remove.  All uses replaced by its definiens, sigsuspend.
-       (sigblock, sigunblock, sigfree):
-       (sigsetmask) [!defined sigsetmask]:
-       Remove.  All uses replaced by pthread_sigmask.
-       (signal): Remove.  Its remaining uses (with SIG_DFL and SIG_IGN)
-       no longer need to be replaced, and its typical old uses
-       are now done via emacs_sigaction_init and sigaction.
-       (sys_sigblock, sys_sigunblock, sys_sigsetmask): Remove decls.
-       (sys_sigdel): Remove; unused.
-       (NSIG): Remove a FIXME; the code's fine.  Remove an unnecessary ifdef.
-
-2012-09-06  Eli Zaretskii  <eliz@gnu.org>
-
-       * process.c (CAN_HANDLE_MULTIPLE_CHILDREN): Fix a typo that broke
-       SIGCHLD handling on systems that don't have WNOHANG.  (Bug#12327)
-
-2012-09-06  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Explicitly mark buffer_defaults and buffer_local_symbols.
-       * alloc.c (Fgarbage_collect): Mark buffer_defaults and
-       mark_local_symbols here.
-       (mark_object): If GC_CHECK_MARKED_OBJECTS, simplify checking
-       since special buffers aren't marked here any more.
-       (allocate_buffer): Chain new buffer with all_buffers here...
-       * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): ...and
-       not here.
-       (Vbuffer_defaults, Vbuffer_local_symbols): Remove.
-       (syms_of_buffer): Remove staticpro of the above.
-       (init_buffer_once): Set names for buffer_defaults and
-       buffer_local_symbols.
-
-2012-09-06  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Use bool for booleans in font-related modules.
-       * font.c (font_intern_prop, font_style_to_value)
-       (font_style_symbolic, font_parse_xlfd, font_parse_fcname)
-       (generate_otf_features, font_check_otf_features, font_check_otf)
-       (font_match_p, font_list_entities, font_at):
-       * fontset.c (fontset_id_valid_p, reorder_font_vector
-       (fontset_find_font, Fset_fontset_font)
-       (face_suitable_for_char_p) [0]:
-       * ftfont.c (fc_initialized, ftfont_get_open_type_spec)
-       (ftfont_open, ftfont_text_extents, ftfont_check_otf):
-       (m17n_flt_initialized, ftfont_shape_by_flt):
-       * ftxfont.c (ftxfont_draw_bitmap, ftxfont_draw):
-       * nsfont.m (nsfont_draw):
-       * w32font.c (w32font_draw):
-       * w32term.c (x_draw_glyphless_glyph_string_foreground):
-       Use bool for booleans.
-       * font.h: Adjust to above API changes.
-       (struct font, struct font_driver, struct font_driver_list):
-       Use bool for booleans.
-       (struct font): Remove useless member encoding_type.
-       All users removed.
-       * fontset.c, xftfont.c: Omit unnecessary static decls.
-
-2012-09-06  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * alloc.c (mark_object): Revert window marking code
-       since it's unsafe for the Fset_window_configuration.
-
-2012-09-05  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix race conditions with signal handlers and errno (Bug#12327).
-       Be more systematic about preserving errno whenever a signal
-       handler returns, even if it's not in the main thread.  Do this by
-       renaming signal handlers to distinguish between signal delivery
-       and signal handling.  All uses changed.
-       * atimer.c (deliver_alarm_signal): Rename from alarm_signal_handler.
-       * data.c (deliver_arith_signal): Rename from arith_error.
-       * dispnew.c (deliver_window_change_signal): Rename from
-       window_change_signal.
-       * emacs.c (deliver_error_signal): Rename from fatal_error_signal.
-       (deliver_danger_signal) [SIGDANGER]: Rename from memory_warning_signal.
-       * keyboard.c (deliver_input_available_signal): Rename from
-       input_available_signal.
-       (deliver_user_signal): Rename from handle_user_signal.
-       (deliver_interrupt_signal): Rename from interrupt_signal.
-       * process.c (deliver_pipe_signal): Rename from send_process_trap.
-       (deliver_child_signal): Rename from sigchld_handler.
-       * atimer.c (handle_alarm_signal):
-       * data.c (handle_arith_signal):
-       * dispnew.c (handle_window_change_signal):
-       * emacs.c (handle_fatal_signal, handle_danger_signal):
-       * keyboard.c (handle_input_available_signal):
-       * keyboard.c (handle_user_signal, handle_interrupt_signal):
-       * process.c (handle_pipe_signal, handle_child_signal):
-       New functions, with the actual signal-handling code taken from the
-       original respective signal handlers, sans the sporadic attempts to
-       preserve errno, since that's now done by handle_on_main_thread.
-       * atimer.c (alarm_signal_handler): Remove unnecessary decl.
-       * emacs.c, floatfns.c, lisp.h: Remove unused FLOAT_CATCH_SIGKILL cruft.
-       * emacs.c (main_thread) [FORWARD_SIGNAL_TO_MAIN_THREAD]:
-       Move to sysdep.c.
-       (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]:
-       Move initialization of main_thread to sysdep.c's init_signals.
-       * process.c (waitpid) [!WNOHANG]: #define to wait; that's good enough for
-       our usage, and simplifies the mainline code.
-       (record_child_status_change): New static function, as a helper
-       for handle_child_signal, and with most of the old child handler's
-       contents.
-       (CAN_HANDLE_MULTIPLE_CHILDREN): New constant.
-       (handle_child_signal): Use the above.
-       * sysdep.c (main_thread) [FORWARD_SIGNAL_TO_MAIN_THREAD]:
-       Moved here from emacs.c.
-       (init_signals) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it;
-       code moved here from emacs.c's main function.
-       * sysdep.c, syssignal.h (handle_on_main_thread): New function,
-       replacing the old SIGNAL_THREAD_CHECK.  All uses changed.
-       This lets callers save and restore errno properly.
-
-2012-09-05  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Remove redundant or unused things here and there.
-       * lisp.h (CYCLE_CHECK, CHAR_TABLE_TRANSLATE): Remove.
-       * conf_post.h (RE_TRANSLATE): Use char_table_translate.
-       * editfns.c (Fcompare_buffer_substrings): Likewise.
-       * frame.h (struct terminal, struct font_driver_list):
-       Remove redundant declarations.
-       * window.h (Qleft, Qright): Likewise.
-
-2012-09-05  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Do not mark objects from deleted buffers, windows and frames.
-       * alloc.c (mark_buffer): Mark just the buffer if it is dead.
-       (mark_object): Likewise for windows and frames.
-
-2012-09-05  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * alloc.c (valid_lisp_object_p): Treat killed buffers,
-       buffer_defaults and buffer_local_symbols as valid objects.
-       Return special value to denote them.
-
-2012-09-05  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * fileio.c, filelock.c, floatfns.c, fns.c: Use bool for boolean.
-       * fileio.c (auto_saving, auto_save_error_occurred, make_temp_name)
-       (Fexpand_file_name, barf_or_query_if_file_exists, Fcopy_file)
-       (file_name_absolute_p, Fsubstitute_in_file_name):
-       (check_executable, check_writable, Ffile_accessible_directory_p)
-       (Fset_file_selinux_context, Fdefault_file_modes)
-       (Finsert_file_contents, choose_write_coding_system)
-       (Fwrite_region, build_annotations, a_write, e_write)
-       (Fdo_auto_save):
-       * filelock.c (boot_time_initialized, get_boot_time)
-       (get_boot_time_1, lock_file_1, within_one_second):
-       * floatfns.c (in_float):
-       * fns.c (concat, internal_equal, Frequire, base64_encode_1)
-       (base64_decode_1, cmpfn_eql, cmpfn_user_defined)
-       (sweep_weak_table, sweep_weak_hash_tables, secure_hash):
-       * lisp.h (struct Lisp_Hash_Table.cmpfn):
-       * window.c (compare_window_configurations):
-       Use bool for booleans.
-       * fileio.c (auto_saving_dir_umask, auto_saving_mode_bits)
-       (Fdefault_file_modes): Now mode_t, not int, for modes.
-       (Fdo_auto_save): Set a boolean to 1 rather than using ++.
-       (internal_delete_file): Now returns void, not a (boolean) int,
-       since nobody was looking at the return value.
-       * lisp.h, window.h: Adjust to above API changes.
-
-       * xdisp.c (set_message): Simplify and reindent last change.
-
-2012-09-05  Juanma Barranquero  <lekktu@gmail.com>
-
-       * makefile.w32-in ($(BLD)/sysdep.$(O)): Update dependencies.
-
-2012-09-04  Lars Ingebrigtsen  <larsi@gnus.org>
-
-       * eval.c (call_debugger): Make the function non-static so that we
-       can call it from set_message.
-
-       * xdisp.c (set_message): Implement the new variable `debug-on-message'.
-       (syms_of_xdisp): Defvar it and `inhibit-debug-on-message'.
-
-2012-09-04  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Give more-useful info on a fatal error (Bug#12328).
-       * alloc.c [ENABLE_CHECKING]: Do not include <execinfo.h>.
-       (die) [ENABLE_CHECKING]: Call fatal_error_backtrace instead
-       of doing the work ourselves.
-       * emacs.c (fatal_error_signal): Let fatal_error_backtrace
-       do most of the work.
-       (fatal_error_backtrace): New function, taken from the guts
-       of the old fatal_error_signal, but with a new option to output
-       a backtrace.
-       (shut_down_emacs) [!DOS_NT]: Use strsignal to give more-useful
-       info about the signal than just its number.
-       * lisp.h (fatal_error_backtrace, emacs_backtrace): New decls.
-       * sysdep.c: Include <execinfo.h>
-       (emacs_backtrace): New function, taken partly from the previous
-       code of the 'die' function.
-       (emacs_abort): Call fatal_error_backtrace rather than abort.
-
-2012-09-04  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * lread.c (readevalloop): Call internal-macroexpand-for-load to perform
-       eager (load-time) macro-expansion.
-       * lisp.mk (lisp): Add macroexp.
-
-2012-09-04  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Simplify redefinition of 'abort' (Bug#12316).
-       Do not try to redefine the 'abort' function.  Instead, redo
-       the code so that it calls 'emacs_abort' rather than 'abort'.
-       This removes the need for the NO_ABORT configure-time macro
-       and makes it easier to change the abort code to do a backtrace.
-       * .gdbinit: Just stop at emacs_abort, not at w32_abort or abort.
-       * emacs.c (abort) [!DOS_NT && !NO_ABORT]:
-       Remove; sysdep.c's emacs_abort now takes its place.
-       * lisp.h (emacs_abort): New decl.  All calls from Emacs code to
-       'abort' changed to use 'emacs_abort'.
-       * msdos.c (dos_abort) [defined abort]: Remove; not used.
-       (abort) [!defined abort]: Rename to ...
-       (emacs_abort): ... new name.
-       * sysdep.c (emacs_abort) [!HAVE_NTGUI]: New function, taking
-       the place of the old 'abort' in emacs.c.
-       * w32.c, w32fns.c (abort): Do not #undef.
-       * w32.c (emacs_abort): Rename from w32_abort.
-
-2012-09-04  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32uniscribe.c (uniscribe_shape): Reverse the sign of
-       offsets[j].dv, since the y axis of the screen coordinates points
-       down, while the y axis of the font definition coordinates points
-       up.  This fixes display of Arabic diacritics such as KASRA and
-       KASRATAN.  (Bug#11860)
-
-2012-09-04  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Be more systematic about _setjmp vs setjmp.
-       * alloc.c (test_setjmp, mark_stack):
-       * image.c (PNG_LONGJMP) [PNG_LIBPNG_VER < 10500]:
-       (PNG_JMPBUF) [! (PNG_LIBPNG_VER < 10500)]:
-       (png_load, my_error_exit, jpeg_load):
-       * process.c (send_process_trap, send_process):
-       Uniformly prefer _setjmp and _longjmp to setjmp and longjmp.
-       The underscored versions are up to 30x faster on some hosts.
-       Formerly, the code used setjmp+longjmp sometimes and
-       _setjmp+_longjmp at other times, with no particular reason to
-       prefer setjmp+longjmp.
-
-2012-09-03  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix minor problem found by static checking.
-       * buffer.c (Fdelete_all_overlays): Return nil.
-
-2012-09-03  Martin Rudalics  <rudalics@gmx.at>
-
-       * buffer.c (Fdelete_all_overlays): New function.
-
-2012-09-03  Chong Yidong  <cyd@gnu.org>
-
-       * gtkutil.c: Add extern decl for Qxft.
-
-2012-09-02  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * emacs.c, eval.c: Use bool for boolean.
-       * emacs.c (initialized, inhibit_window_system, running_asynch_code):
-       (malloc_using_checking) [DOUG_LEA_MALLOC]:
-       (display_arg) [HAVE_X_WINDOWS || HAVE_NS]:
-       (noninteractive, no_site_lisp, fatal_error_in_progress, argmatch)
-       (main, decode_env_path, Fdaemon_initialized):
-       * eval.c (call_debugger, Finteractive_p, interactive_p):
-       (unwind_to_catch, Fsignal, wants_debugger, skip_debugger)
-       (maybe_call_debugger, Fbacktrace):
-       * process.c (read_process_output, exec_sentinel):
-       Use bool for booleans.
-       * emacs.c (shut_down_emacs): Omit unused boolean argument NO_X.
-       All callers changed.
-       * eval.c (interactive_p): Omit always-true boolean argument
-       EXCLUDE_SUBRS_P.  All callers changed.
-       * dispextern.h, lisp.h: Reflect above API changes.
-       * firstfile.c (dummy): Use the address of 'main', whose signature
-       won't change, instead of the address of 'initialize', whose
-       signature just changed from int to bool.
-       * lisp.h (fatal_error_in_progress): New decl of boolean, moved here ...
-       * msdos.c (fatal_error_in_progress): ... from here.
-       * xdisp.c (redisplaying_p): Now a boolean.  Set it to 1 instead
-       of incrementing it.
-       (redisplay_internal, unwind_redisplay): Simply clear
-       REDISPLAYING_P when unwinding, instead of saving its previous,
-       always-false value and then restoring it.
-
-       Clean up some extern decls.
-       Mostly, this hoists extern decls out of .c files and into .h files.
-       That way, we're more likely to catch errors if the interfaces change.
-       * alloc.c [USE_GTK]: Include "gtkutil.h" so that we need not
-       declare xg_mark_data.
-       * dispextern.h (x_frame_parm_handlers):
-       * font.h (Qxft):
-       * lisp.h (Qlexical_binding, Qinternal_interpreter_environment)
-       (Qextra_light, Qlight, Qsemi_light, Qsemi_bold, Qbold, Qextra_bold)
-       (Qultra_bold, Qoblique, Qitalic):
-       Move extern decl here from .c file.
-       * alloc.c (xg_mark_data) [USE_GTK]:
-       * doc.c (Qclosure):
-       * eval.c (Qlexical_binding):
-       * fns.c (time) [!HAVE_UNISTD_H]:
-       * gtkutil.c (Qxft, Qnormal, Qextra_light, Qlight, Qsemi_light)
-       (Qsemi_bold, Qbold, Qextra_bold, Qultra_bold, Qoblique, Qitalic):
-       * image.c (Vlibrary_cache, QCloaded_from) [HAVE_NTGUI]:
-       * lread.c (Qinternal_interpreter_environment):
-       * minibuf.c (Qbuffer):
-       * process.c (QCfamily, QCfilter):
-       * widget.c (free_frame_faces):
-       * xfaces.c (free_frame_menubar) [USE_X_TOOLKIT]:
-       * xfont.c (x_clear_errors):
-       * xterm.c (x_frame_parm_handlers):
-       Remove now-redundant extern decls.
-       * keyboard.c, keyboard.h (ignore_mouse_drag_p) [USE_GTK || HAVE_NS]:
-       * xfaces.c (Qultra_light, Qreverse_oblique, Qreverse_italic):
-       Now static.
-       * xfaces.c: Remove unnecessary static decls.
-       * xterm.c (updating_frame): Remove decl of nonexistent object.
-
-       * Makefile.in (gl-stamp): Don't scan $(SOME_MACHINE_OBJECTS)
-       when building globals.h, as the objects that are not built on
-       this host are not needed to compile C files on this host.
-
-2012-09-02  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * gtkutil.h: Remove prototype for x_wm_set_size_hint.
-
-       * frame.h: Add missing prototype for x_wm_set_size_hint.
-
-2012-09-02  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * doc.c, editfns.c, insdel.c, intervals.c: Use bool for boolean.
-       * doc.c (read_bytecode_char, get_doc_string, reread_doc_file)
-       (Fdocumentation, Fdocumentation_property, Fsnarf_documentation)
-       (Fsubstitute_command_keys):
-       * editfns.c (region_limit, find_field, Fconstrain_to_field)
-       (save_excursion_save, save_excursion_restore)
-       (disassemble_lisp_time, decode_time_components, emacs_nmemftime)
-       (format_time_string, general_insert_function)
-       (make_buffer_string, make_buffer_string_both)
-       (Fsubst_char_in_region, Ftranslate_region_internal, Fformat):
-       * insdel.c (check_markers, gap_left, adjust_markers_for_insert)
-       (copy_text, insert_1, insert_1_both, insert_from_string)
-       (insert_from_string_before_markers, insert_from_string_1)
-       (insert_from_buffer, insert_from_buffer_1, replace_range)
-       (replace_range_2, del_range_1, del_range_byte, del_range_both)
-       (del_range_2, modify_region):
-       * intervals.c (intervals_equal, balance_possible_root_interval)
-       (adjust_intervals_for_insertion, merge_properties_sticky)
-       (graft_intervals_into_buffer, lookup_char_property)
-       (adjust_for_invis_intang, set_point_both)
-       (get_property_and_range, compare_string_intervals)
-       (set_intervals_multibyte_1, set_intervals_multibyte):
-       * keyboard.c (decode_timer):
-       Use bool for boolean.
-       * intervals.h, lisp.h, systime.h: Reflect above API changes.
-       * editfns.c (struct info): Use 1-bit unsigned bitfields for booleans.
-
-2012-09-02  Chong Yidong  <cyd@gnu.org>
-
-       * keymap.c (push_key_description): Print M-TAB as C-M-i
-       (Bug#11758).
-
-2012-09-02  Juanma Barranquero  <lekktu@gmail.com>
-
-       * makefile.w32-in (CCL_H, W32FONT_H): New macros.
-       (ATIMER_H, FONT_H, $(BLD)/alloc.$(O), $(BLD)/callproc.$(O))
-       ($(BLD)/editfns.$(O), $(BLD)/ccl.$(O), $(BLD)/chartab.$(O))
-       ($(BLD)/coding.$(O), $(BLD)/sysdep.$(O), $(BLD)/fontset.$(O))
-       ($(BLD)/sysdep.$(O), $(BLD)/w32fns.$(O), $(BLD)/keyboard.$(O))
-       ($(BLD)/w32term.$(O), $(BLD)/w32menu.$(O), $(BLD)/process.$(O))
-       ($(BLD)/w32font.$(O), $(BLD)/w32uniscribe.$(O)): Update dependencies.
-
-2012-09-01  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32uniscribe.c (uniscribe_shape): Handle correctly the case of
-       more than one grapheme cluster passed to the shaper: compute the
-       offset adjustment values separately for each cluster.  (Bug#11860)
-
-       * image.c: Restore mistakenly removed inclusion of w32.h.  Without
-       it, GCC doesn't see prototypes of w32_delayed_load, and complains
-       about implicit conversions from integer to pointer.
-
-2012-09-01  Daniel Colascione  <dancol@dancol.org>
-
-       * w32fns.c (x_display_info_for_name): Prevent crash if w32 window
-       system used too early.
-
-2012-09-01  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Better seed support for (random).
-       * emacs.c (main): Call init_random.
-       * fns.c (Frandom): Set the seed from a string argument, if given.
-       Remove long-obsolete Gentzel cruft.
-       * lisp.h, sysdep.c (seed_random): Now takes address and size, not long.
-       (init_random): New function.
-
-2012-09-01  Daniel Colascione  <dancol@dancol.org>
-
-       * xterm.h: Add header guards.  Declare x_menubar_window_to_frame.
-       Remove x_set_frame_alpha, x_bitmap_icon, x_make_frame_visible,
-       x_make_frame_invisible, x_iconify_frame, x_free_frame_resources,
-       x_wm_set_size_hint, x_query_colors, x_real_positions,
-       x_set_menu_bar_lines, x_char_width, x_char_height, x_sync,
-       x_set_tool_bar_lines, x_activate_menubar, and free_frame_menubar,
-       all of which have been moved to common code.
-
-       * xfaces.c: Include TERM_HEADER instead of listing all possible
-       window-system headers.
-
-       * w32xfns.c (x_sync): Correct definition of x_sync (a no-op here)
-       to match header.
-
-       * w32term.h (FRAME_X_WINDOW): Use FRAME_W32_WINDOW instead of
-       directly accessing frame internals.
-
-       * w32font.h: Include font.h.  Define syms_of_w32font and
-       globals_of_w32font.
-
-       * process.c: Include TERM_HEADER instead of listing all possible
-       window-system headers.
-
-       * nsterm.h: Remove declarations now in frame.h.
-       Define FRAME_X_SCREEN, FRAME_X_VISUAL.
-
-       * menu.c: Include TERM_HEADER instead of listing all possible
-       window-system headers.
-
-       * keyboard.h: Declare ignore_mouse_drag_p whenever we have a
-       window system.
-
-       * keyboard.c: Include TERM_HEADER instead of listing all possible
-       window-system headers.
-
-       * image.c: Include TERM_HEADER instead of listing all possible
-       window-system headers.  Declare Vlibrary_cache when compiling for
-       Windows.
-
-       * gtkutil.h (xg_list_node_): Include xterm.h to pick up needed
-       window system declarations.
-
-       * frame.h: Move common functions here: set_frame_menubar,
-       x_set_window_size, x_sync, x_get_focus_frame,
-       x_set_mouse_position, x_set_mouse_pixel_position,
-       x_make_frame_visible, x_make_frame_invisible, x_iconify_frame,
-       x_char_width, x_char_height, x_pixel_width, x_pixel_height,
-       x_set_frame_alpha, x_set_menu_bar_lines, x_set_tool_bar_lines,
-       x_activate_menubar, x_real_positions, x_bitmap_icon,
-       x_set_menu_bar_lines, free_frame_menubar, x_free_frame_resources,
-       and x_query_colors.
-
-       * frame.c: Include TERM_HEADER instead of listing all possible
-       window-system headers.
-
-       * font.c: Include TERM_HEADER instead of listing all possible
-       window-system headers.
-
-       * emacs.c: Include TERM_HEADER.
-
-       * dispnew.c: Include TERM_HEADER instead of listing all possible
-       window-system headers.
-
-       * ccl.h: Include character.h.
-
-       * Makefile.in: Define WINDOW_SYSTEM_OBJ to hold objects needed for
-       the current window system; include in list of objects to link into
-       Emacs.
-
-2012-08-31  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Remove mark_ttys function and fix tty_display_info initialization.
-       * lisp.h (mark_ttys): Remove prototype.
-       * alloc.c (Fgarbage_collect): Remove redundant (and the only) call
-       to mark_ttys because all possible values of 'top_frame' slot are
-       the frames which are reachable from Vframe_list.
-       * term.c (mark_ttys): Remove.
-       (init_tty): Safely initialize 'top_frame' slot with Qnil.
-
-2012-08-31  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Change struct frame bitfields from unsigned char to unsigned.
-       * frame.h (struct frame): Change type of 'display_preempted',
-       'visible', 'iconified', 'has_minibuffer', 'wants_modeline',
-       'auto_raise', 'auto_lower', 'no_split', 'explicit_name',
-       'window_sizes_changed', 'mouse_moved' and 'pointer_invisible'
-       bitfields from unsigned char to unsigned.
-
-2012-08-31  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Remove unused member of struct x_output and struct w32_output.
-       * xterm.h (struct x_output): Remove unused field 'needs_exposure'.
-       * w32term.h (struct w32_output): Likewise.
-
-2012-08-30  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * gtkutil.c (x_wm_set_size_hint): Use 1 col for base_width so it
-       does not become zero (Bug#12234).
-
-2012-08-30  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * dispnew.c (update_frame_1): Pacify gcc -Wstrict-overflow
-       for GCC 4.7.1 x86-64.
-
-2012-08-30  Glenn Morris  <rgm@gnu.org>
-
-       * lread.c (init_lread): For out-of-tree builds, only add the
-       source directory's site-lisp dir to the load-path if it exists,
-       consistent with in-tree builds.  (Bug#12302)
-
-2012-08-28  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsmenu.m (initWithContentRect:styleMask:backing:defer:): Initialize
-       button_values to NULL.  Call setStykeMask so dialogs get a close button.
-       (windowShouldClose:): Set window_closed.
-       (dealloc): New member, free button_values.
-       (process_dialog:): Make member function.  Remove window argument,
-       replace window with self.  Count buttons and allocate and store values
-       in button_values.
-       (addButton:value:row:): value is int with the name tag.  Call setTag
-       with tag.  Remove return self, declare return value as void.
-       (addString:row:): Remove return self, declare return value as void.
-       (addSplit): Remove return self, declare return value as void.
-       (clicked:): Remove return self, declare return value as void.
-       Set dialog_return to button_values[seltag].  Code formatting change.
-       (initFromContents:isQuestion:): Adjust call to process_dialog.
-       Code formatting change.
-       (timeout_handler:): Set timer_fired to YES.
-       (runDialogAt:): Set timer_fired to NO.
-       Handle click on close button as quit.
-
-       * nsterm.h (EmacsDialogPanel): Make timer_fired BOOL.
-       Add window_closed and button_values.  Add void as return value for
-       add(Button|String|Split).  addButton takes int instead of Lisp_Object.
-       Add process_dialog as new member.
-
-2012-08-28  Eli Zaretskii  <eliz@gnu.org>
-
-       * ralloc.c (free_bloc): Don't dereference a 'heap' structure if it
-       is not one of the heaps we manage.  (Bug#12242)
-
-2012-08-28  Glenn Morris  <rgm@gnu.org>
-
-       * eval.c (Fcalled_interactively_p): Doc fix.  (Bug#11747)
-
-2012-08-28  Martin Rudalics  <rudalics@gmx.at>
-
-       * window.c (Fset_window_configuration): Remove handling of
-       auto-buffer-name window parameter.  Install revision of reverted
-       fix.
-
-2012-08-28  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Do not allow to set major mode for a dead buffer.
-       * buffer.c (Fset_buffer_major_mode): Signal an error
-       if the buffer is dead.
-       (Fother_buffer, other_buffer_safely): Remove redundant
-       nested declaration.
-
-2012-08-28  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Always use set_buffer_if_live to restore original buffer at unwind.
-       * buffer.h (record_unwind_current_buffer): New function.
-       * bytecode.c, dispnew.c, editfns.c, fileio.c, fns.c, insdel.c:
-       * keyboard.c, keymap.c, minibuf.c, print.c, process.c, textprop.c:
-       * undo.c, window.c: Adjust users.
-       * buffer.c (set_buffer_if_live): Fix comment.
-
-2012-08-28  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Fix usage of set_buffer_internal.
-       * buffer.h (set_buffer_internal): Make it BUFFER_INLINE.
-       * buffer.c (set_buffer_if_live): Use set_buffer_internal.
-       * coding.c (decode_coding): Omit redundant test.
-       * fileio.c (decide_coding_unwind): Likewise.
-       * fns.c (secure_hash): Likewise.
-       * insdel.c (modify_region): Likewise.
-       * keyboard.c (command_loop_1): Likewise.
-       * print.c (PRINTFINISH): Likewise.
-       * xdisp.c (run_window_scroll_functions): Use set_buffer_internal.
-
-2012-08-27  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * dispnew.c: Use bool for boolean.
-       (frame_garbaged, display_completed, delayed_size_change)
-       (fonts_changed_p, add_window_display_history)
-       (add_frame_display_history, verify_row_hash)
-       (adjust_glyph_matrix, clear_window_matrices, glyph_row_slice_p)
-       (row_equal_p, realloc_glyph_pool)
-       (allocate_matrices_for_frame_redisplay)
-       (showing_window_margins_p)
-       (adjust_frame_glyphs_for_frame_redisplay)
-       (build_frame_matrix_from_leaf_window, make_current)
-       (mirrored_line_dance, mirror_line_dance, update_frame)
-       (update_window_tree, update_single_window)
-       (check_current_matrix_flags, update_window, update_text_area)
-       (update_window_line, set_window_update_flags, scrolling_window)
-       (update_frame_1, scrolling, buffer_posn_from_coords)
-       (do_pending_window_change, change_frame_size)
-       (change_frame_size_1, sit_for):
-       Use bool for boolean.
-       (clear_glyph_matrix_rows): Rename from enable_glyph_matrix_rows,
-       and remove last int (actually boolean) argument, which was always 0.
-       All callers changed.
-       * dispextern.h, frame.h, lisp.h: Reflect above API changes.
-       * dispextern.h (struct composition_it): Use bool for boolean.
-       (struct glyph_matrix): Don't assume buffer sizes can fit in 'int'.
-       (struct bidi_it): Use unsigned:1, not int, for boolean prev_was_pdf.
-       * dired.c (file_name_completion):
-       Use bool for boolean.  (This was missed in an earlier change.)
-
-2012-08-27  Martin Rudalics  <rudalics@gmx.at>
-
-       * window.c (Fset_window_configuration): Revert first part of
-       last change.
-
-2012-08-27  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsterm.h (NSPanel): New class variable dialog_return.
-
-       * nsmenu.m (initWithContentRect:styleMask:backing:defer:):
-       Initialize dialog_return.
-       (windowShouldClose:): Use stop instead of stopModalWithCode.
-       (clicked:): Ditto, and also set dialog_return (Bug#12258).
-       (timeout_handler:): Use stop instead of abortModal.  Send a dummy
-       event.
-       (runDialogAt:): Make ret Lisp_Object.  Set it from dialog_return when
-       modal loop returns.
-
-2012-08-27  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * composite.c, data.c, dbusbind.c, dired.c: Use bool for booleans.
-       * composite.c (find_composition, composition_gstring_p)
-       (composition_reseat_it, find_automatic_composition):
-       * data.c (let_shadows_buffer_binding_p)
-       (let_shadows_global_binding_p, set_internal, make_blv)
-       (Fmake_variable_buffer_local, Fmake_local_variable)
-       (Fmake_variable_frame_local, arithcompare, cons_to_unsigned)
-       (cons_to_signed, arith_driver):
-       * dbusbind.c (xd_in_read_queued_messages):
-       * dired.c (directory_files_internal, file_name_completion):
-       Use bool for booleans.
-       * dired.c (file_name_completion):
-       * process.h (fd_callback):
-       Omit int (actually boolean) argument.  It wasn't being used.
-       All uses changed.
-       * composite.h, lisp.h: Reflect above API changes.
-
-       * cmds.c, coding.c: Use bool for booleans.
-       * cmds.c (move_point, Fself_insert_command):
-       * coding.h (struct composition status, struct coding_system):
-       * coding.c (detect_coding_utf_8, encode_coding_utf_8)
-       (detect_coding_utf_16, encode_coding_utf_16, detect_coding_emacs_mule)
-       (emacs_mule_char, decode_coding_emacs_mule)
-       (encode_coding_emacs_mule, detect_coding_iso_2022)
-       (decode_coding_iso_2022, encode_invocation_designation)
-       (encode_designation_at_bol, encode_coding_iso_2022)
-       (detect_coding_sjis, detect_coding_big5, decode_coding_sjis)
-       (decode_coding_big5, encode_coding_sjis, encode_coding_big5)
-       (detect_coding_ccl, encode_coding_ccl, decode_coding_raw_text)
-       (encode_coding_raw_text, detect_coding_charset)
-       (decode_coding_charset, encode_coding_charset, detect_eol)
-       (detect_coding, get_translation_table, produce_chars)
-       (consume_chars, reused_workbuf_in_use)
-       (make_conversion_work_buffer, code_conversion_save)
-       (decode_coding_object, encode_coding_object)
-       (detect_coding_system, char_encodable_p)
-       (Funencodable_char_position, code_convert_region)
-       (code_convert_string, code_convert_string_norecord)
-       (Fset_coding_system_priority):
-       * fileio.c (Finsert_file_contents):
-       Use bool for booleans.
-       * coding.h, lisp.h: Reflect above API changes.
-       * coding.c: Remove unnecessary static function decls.
-       (detect_coding): Use unsigned, not signed, to copy an unsigned field.
-       (decode_coding, encode_coding, decode_coding_gap): Return 'void',
-       not a boolean 'int', since callers never look at the return value.
-       (ALLOC_CONVERSION_WORK_AREA): Assume caller returns 'void', not 'int'.
-       * coding.h (decoding_buffer_size, encoding_buffer_size)
-       (emacs_mule_string_char): Remove unused extern decls.
-       (struct iso_2022_spec, struct coding_system):
-       Use 'unsigned int : 1' for boolean fields, since there's more than one.
-       (struct emacs_mule_spec): Remove unused field 'full_support'.
-       All initializations removed.
-       * cmds.c (internal_self_insert): Don't assume EMACS_INT fits in 'int'.
-
-2012-08-27  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Fix spare memory change (Bug#12286).
-       * alloc.c (mark_maybe_pointer): Handle MEM_TYPE_SPARE.
-       (valid_lisp_object_p): Likewise.
-
-2012-08-27  Martin Rudalics  <rudalics@gmx.at>
-
-       * window.c (Fset_window_configuration): Record any window's old
-       buffer if it's replaced (see Bug#8789).  If the new current
-       buffer doesn't appear in the selected window, go to its old
-       point (Bug#12208).
-
-2012-08-27  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Special MEM_TYPE_SPARE to denote reserved memory.
-       * alloc.c (enum mem_type): New memory type.
-       (refill_memory_reserve): Use new type for spare memory.
-       This prevents live_cons_p and live_string_p from incorrect
-       detection of uninitialized objects from spare memory as live.
-
-2012-08-26  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Spelling fixes.
-       * Makefile.in (.PHONY): versioclean -> versionclean.
-
-       Remove unused external symbols.
-       * data.c (Qcons, Qfloat, Qmisc, Qstring, Qvector):
-       * window.c (Qwindow_valid_p, decode_valid_window):
-       Now static, not extern.
-       * data.c (Qinterval): Remove; unused.
-       (syms_of_data): Do not define 'interval'.
-       * lisp.h (Qinteger, Qstring, Qmisc, Qvector, Qfloat, Qcons):
-       * window.h (decode_valid_window):
-       Remove decls.
-
-       * character.c, charset.c, chartab.c: Use bool for booleans.
-       * character.c (lisp_string_width, string_count_byte8)
-       (string_escape_byte8):
-       * charset.c (charset_map_loaded, load_charset_map, read_hex):
-       (load_charset_map_from_file, map_charset_chars)
-       (Fdefine_charset_internal, define_charset_internal)
-       (Fdeclare_equiv_charset, find_charsets_in_text)
-       (Ffind_charset_region, char_charset, Fiso_charset):
-       * chartab.c (sub_char_table_ref, sub_char_table_ref_and_range)
-       (sub_char_table_set, sub_char_table_set_range)
-       (char_table_set_range, optimize_sub_char_table)
-       (map_sub_char_table):
-       Use bool for boolean.
-       * character.c (str_to_unibyte): Omit last boolean argument; it was
-       always 0.  All callers changed.
-       * character.h, charset.h: Adjust to match previous changes.
-       * character.h (char_printable_p): Remove decl of nonexistent function.
-       * charset.h (struct charset): Members code_linear_p, iso_chars_96,
-       ascii_compatible_p, supplementary_p, compact_codes_p, unified_p
-       are all boolean, so make them single-bit bitfields.
-
-       * lisp.h (ASET): Remove attempt to detect side effects.
-       It was meant to be temporary and it often doesn't work,
-       because when IDX has side effects the behavior of IDX==IDX
-       is undefined.  See Stefan Monnier in
-       <http://lists.gnu.org/archive/html/emacs-devel/2012-08/msg00762.html>.
-
-2012-08-26  Barry OReilly  <gundaetiapo@gmail.com>  (tiny change)
-
-       * lisp.h (functionp): New function (extracted from Ffunctionp).
-       (FUNCTIONP): Use it.
-       * eval.c (Ffunctionp): Use it.
-
-2012-08-25  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * xgselect.c (xg_select): Use auto storage for the GPollFD buffer
-       as that's faster and simpler than static storage.  Don't bother
-       with the g_main_context_query overhead if g_main_context_pending
-       says no events are pending.
-       (gfds, gfds_size): Remove these static vars.
-       (xgselect_initialize): Remove; no longer needed.
-       All uses and decls removed.
-
-       * emacs.c (fatal_error_signal_hook): Remove.
-       All uses removed.  This leftover from old code was always 0.
-
-       * casefiddle.c, casetab.c, category.c: Use bool for boolean.
-       * casefiddle.c (casify_object, casify_region):
-       * casetab.c (set_case_table):
-       * category.c, category.h (word_boundary_p):
-       * category.h (CHAR_HAS_CATEGORY):
-       Use bool for booleans, instead of int.
-
-2012-08-25  Eli Zaretskii  <eliz@gnu.org>
-
-       * makefile.w32-in ($(BLD)/alloc.$(O)): Depend on $(GNU_LIB)/execinfo.h.
-
-2012-08-25  Paul Eggert  <eggert@cs.ucla.edu>
-
-       On assertion failure, print backtrace if available.
-       * alloc.c [ENABLE_CHECKING]: Include <execinfo.h>.
-       (die) [ENABLE_CHECKING]: Print a backtrace if available.
-       * Makefile.in (LIB_EXECINFO): New macro.
-       (LIBES): Use it.
-
-       * bytecode.c, callint.c, callproc.c: Use bool for boolean.
-       * bytecode.c (exec_byte_code):
-       * callint.c (check_mark, Fcall_interactively):
-       * callproc.c (Fcall_process, add_env, child_setup, getenv_internal_1)
-       (getenv_internal, sync_process_alive, call_process_exited):
-       * lisp.h (USE_SAFE_ALLOCA):
-       Use bool for booleans, instead of int.
-       * lisp.h, process.h: Adjust prototypes to match above changes.
-       * callint.c (Fcall_interactively): Don't assume the mark's
-       offset fits in 'int'.
-
-2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * buffer.c, buffer.h: Use bool for boolean.
-       * buffer.c (reset_buffer_local_variables)
-       (buffer_lisp_local_variables, Fset_buffer_modified_p)
-       (Frestore_buffer_modified_p, Fset_buffer_multibyte):
-       (overlays_at, overlays_in, mouse_face_overlay_overlaps)
-       (overlay_touches_p, overlay_strings, Foverlay_put)
-       (report_overlay_modification, call_overlay_mod_hooks):
-       (mmap_enlarge, mmap_set_vars):
-       * buffer.h (buffer_has_overlays, uppercasep, lowercasep):
-       Use bool for booleans, instead of int.
-       * buffer.c (compact_buffer, mmap_free_1): Return void, not int,
-       since the 1-or-0 return value is always ignored anyway.
-       (mmap_initialized_p):
-       * buffer.h (struct buffer_text.inhibit_shrinking): Now bool, not int.
-       * buffer.h, lisp.h: Adjust prototypes to match above changes.
-
-2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * bidi.c: Use bool for boolean.
-       This is a bit more readable, and makes the text segment of bidi.o
-       0.4% smaller on my platform (GCC 4.7.1 x86-64, Fedora 15).
-       Presumably it's faster too.
-       (bidi_initialized, bidi_ignore_explicit_marks_for_paragraph_level):
-       Now bool.
-       (bidi_cache_find_level_change, bidi_cache_iterator_state)
-       (bidi_unshelve_cache, bidi_init_it, bidi_count_bytes)
-       (bidi_char_at_pos, bidi_fetch_char, bidi_paragraph_init)
-       (bidi_explicit_dir_char, bidi_level_of_next_char)
-       (bidi_find_other_level_edge, bidi_move_to_visually_next):
-       Use bool for booleans, instead of int.
-       * dispextern.h (bidi_init_it, bidi_paragraph_init)
-       (bidi_unshelve_cache): Adjust decls to match code.
-
-2012-08-23  Martin Rudalics  <rudalics@gmx.at>
-
-       * keyboard.c (Fposn_at_x_y): Do not allow internal window as
-       argument.
-
-2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * atimer.c, atimer.h (turn_on_atimers): Use bool for boolean.
-       * atimer.h: Include <stdbool.h>.
-
-2012-08-22  Dan Nicolaescu  <dann@gnu.org>
-
-       * frame.h (FRAME_W32_P, FRAME_MSDOS_P, FRAME_NS_P): Change to
-       compile time tests instead of run time tests on systems that do
-       not use them.
-       (FRAME_MAC_P): Remove leftover from deleted code.
-       * frame.c (syms_of_frame): Remove leftover from deleted code.
-
-2012-08-22  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsterm.m (insertText:): Don't clear modifiers if code is space.
-
-2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * fontset.c (FONTSET_ADD): Return void, not Lisp_Object.
-       Otherwise, the compiler complains about (A?B:C) where B is void
-       and C is Lisp_Object.  This fixes an incompatibility with Sun C 5.12.
-       (fontset_add): Return void, for FONTSET_ADD.
-
-2012-08-21  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * alloc.c: Use bool for booleans.
-       (gc_in_progress, abort_on_gc)
-       (setjmp_tested_p) [!GC_SAVE_REGISTERS_ON_STACK && !GC_SETJMP_WORKS]:
-       (dont_register_blocks) [GC_MALLOC_CHECK]:
-       (suppress_checking) [ENABLE_CHECKING]: Now bool, not int.
-       (check_string_bytes, make_specified_string, memory_full)
-       (live_string_p, live_cons_p, live_symbol_p, live_float_p)
-       (live_misc_p, live_vector_p, live_buffer_p, mark_maybe_object)
-       (mark_stack, valid_pointer_p, make_pure_string)
-       (Fgarbage_collect, survives_gc_p, gc_sweep):
-       Use bool for booleans, instead of int.
-       (test_setjmp) [!GC_SAVE_REGISTERS_ON_STACK && !GC_SETJMP_WORKS]:
-       Remove unused local.
-       * alloc.c (PURE_POINTER_P):
-       * lisp.h (STRING_MULTIBYTE): Document that it returns a boolean.
-       * editfns.c (Fformat):
-       * fileio.c (Fexpand_file_name, Fsubstitute_in_file_name)
-       (Fdo_auto_save):
-       * fns.c (sweep_weak_table):
-       * lisp.h (suppress_checking, push_message, survives_gc_p)
-       (make_pure_string, gc_in_progress, abort_on_gc):
-       * lread.c (readchar, read1):
-       * print.c (Fprin1_to_string):
-       * xdisp.c (push_message):
-       Use bool for booleans affected directly or indirectly by
-       alloc.c's changes.
-
-       Make recently-introduced setters macros.
-       * fontset.c (set_fontset_id, set_fontset_name, set_fontset_ascii)
-       (set_fontset_base, set_fontset_frame, set_fontset_nofont_face)
-       (set_fontset_default, set_fontset_fallback): Rename from their
-       upper-case counterparts, and make them functions rather than macros.
-       This is more consistent with the other recently-introduced setters.
-       These don't need to be inline, since they're local.
-
-2012-08-21  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsterm.m (fd_handler:): Alloc and release a NSAutoreleasePool in
-       the loop (Bug#12247).
-
-2012-08-21  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * lisp.h (vcopy): Use memcpy rather than our own loop.
-       This fixes a performance regression introduced by the recent
-       addition of vcopy.  This means 'vcopy' will need to be modified
-       for a copying collector, but that's OK.  Also, tighten the
-       checking in the assertion.
-
-2012-08-21  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32uniscribe.c (uniscribe_shape): Fix producing gstring
-       components for RTL text (Bug#11860).  Adjust X-OFFSET of each
-       non-base glyph for the width of the base character, according to
-       what x_draw_composite_glyph_string_foreground expects.
-       Generate WADJUST value according to composition_gstring_width's
-       expectations, to produce correct width of the composed character.
-       Reverse the sign of the DU offset produced by ScriptPlace.
-
-2012-08-21  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * dbusbind.c (xd_remove_watch): Do not assume C99 comments.
-
-2012-08-21  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Avoid direct writes to contents member of struct Lisp_Vector.
-       * lisp.h (vcopy): New function to copy data into vector.
-       * dispnew.c (Fframe_or_buffer_changed_p): Use AREF and ASET.
-       * fns.c (Ffillarray): Use ASET.
-       * keyboard.c (timer_check_2): Use AREF and ASET.
-       (append_tool_bar_item, Frecent_keys): Use vcopy.
-       * lread.c (read_vector): Use ASET.
-       * msdos.c (Frecent_doskeys): Use vcopy.
-       * xface.c (Finternal_copy_lisp_face): Use vcopy.
-       (Finternal_merge_in_global_face): Use ASET and vcopy.
-       * xfont.c (xfont_list_pattern): Likewise.
-
-2012-08-21  Martin Rudalics  <rudalics@gmx.at>
-
-       * window.c (Fwindow_point): For the selected window always return
-       the position of its buffer's point.
-       (Fset_window_point): For the selected window always go in its
-       buffer to the specified position.
-
-2012-08-21  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Setter macros for fontsets.
-       * fontset.c (SET_FONTSET_ID, SET_FONTSET_NAME, SET_FONTSET_ASCII)
-       (SET_FONTSET_BASE, SET_FONTSET_FRAME, SET_FONTSET_NOFONT_FACE)
-       (SET_FONTSET_DEFAULT, SET_FONTSET_FALLBACK): New macros.
-       Adjust users.
-
-2012-08-20  Glenn Morris  <rgm@gnu.org>
-
-       * Makefile.in (emacs$(EXEEXT), bootstrap-emacs$(EXEEXT)):
-       Don't assume that `ln -f' works.
-
-2012-08-20  Eli Zaretskii  <eliz@gnu.org>
-
-       * .gdbinit: Use "set $dummy = ..." to avoid warnings from GDB 7.5
-       and later about non-assignments with no effect.  See discussion at
-       http://sourceware.org/ml/gdb-patches/2012-08/msg00518.html for
-       details.
-
-2012-08-20  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Inline setter functions for Lisp_Objects slots of struct specbinding.
-       * eval.c (set_specpdl_symbol, set_specpdl_old_value): New functions.
-       Adjust users.
-
-2012-08-20  Martin Rudalics  <rudalics@gmx.at>
-
-       * window.c (select_window): Always make selected window's buffer
-       current.
-
-2012-08-20  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Use AREF and ASET for docstrings of category tables.
-       * category.h (CATEGORY_DOCSTRING): Use AREF.
-       (SET_CATEGORY_DOCSTRING): Use ASET.
-       * category.c (Fdefine_category): Use SET_CATEGORY_DOCSTRING.
-
-2012-08-20  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Inline setter functions for hash table members.
-       * lisp.h (set_hash_key, set_hash_value, set_hash_next)
-       (set_hash_hash, set_hash_index): Rename with _slot suffix.
-       (set_hash_key_and_value, set_hash_index, set_hash_next)
-       (set_hash_hash): New functions.
-       * charset.c, fns.c: Adjust users.
-
-2012-08-20  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Inline getter and setter functions for per-buffer values.
-       * buffer.h (per_buffer_default, set_per_buffer_default)
-       (per_buffer_value, set_per_buffer_value): New functions.
-       (PER_BUFFER_VALUE, PER_BUFFER_DEFAULT): Remove.
-       * buffer.c, data.c: Adjust users.
-
-2012-08-20  Juanma Barranquero  <lekktu@gmail.com>
-
-       * makefile.w32-in ($(BLD)/vm-limit.$(O)): Update dependencies.
-
-2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Rely on <config.h> + <unistd.h> to declare 'environ',
-       as gnulib does this if the system doesn't.
-       * callproc.c, editfns.c, process.c (environ) [!USE_CRT_DLL]:
-       Remove declaration.  MS-Windows declares it on stdlib.h which is
-       included by conf_post.h.
-       * emacs.c (environ) [DOUG_LEA_MALLOC]:
-       * vm-limit.c (environ) [ORDINARY_LINK]: Remove decl.
-       * vm-limit.c: Include <unistd.h>, for 'environ'.
-
-       * unexaix.c, unexcoff.c: Include "mem-limits.h".
-       (start_of_data): Remove decl; mem-limits.h provides it.
-
-       * xdisp.c (handle_invisible_prop): Make it a bit faster
-       and avoid a gcc -Wmaybe-uninitialized diagnostic.
-
-2012-08-19  Chong Yidong  <cyd@gnu.org>
-
-       * xdisp.c (handle_invisible_prop): Fix ellipses at overlay string
-       ends (Bug#3874).
-
-2012-08-19  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * .gdbinit: Use call instead of set when calling a function in the
-       inferior.
-
-       * data.c (set_internal): Don't use set_blv_found.
-       (Fkill_local_variable): Likewise.
-
-2012-08-18  Alp Aker  <alp.tekin.aker@gmail.com>
-
-       * nsfont.m (ns_ascii_average_width): Ensure the string
-       ascii_printable is initialized with a null-terminated character
-       array.  Otherwise, it can contain undesired extra characters.
-
-2012-08-18  Paul Eggert  <eggert@cs.ucla.edu>
-
-       port new setting code to Sun C 5.8 2005/10/13
-       * chartab.c, lisp.h (char_table_set, char_table_set_range):
-       Return void, not Lisp_Object.  Otherwise, the compiler
-       complains about (A?B:C) where B is void and C is Lisp_Object
-       when compiling CHAR_TABLE_SET, due to the recent change to
-       the API of sub_char_table_set_contents.
-
-2012-08-18  Chong Yidong  <cyd@gnu.org>
-
-       * xdisp.c (handle_invisible_prop): Obey TEXT_PROP_MEANS_INVISIBLE
-       for the string case (Bug#3874).
-
-2012-08-18  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * buffer.h (BSET): Remove (Bug#12215).
-       Replace all uses with calls to new setter functions.
-       (bset_bidi_paragraph_direction, bset_case_canon_table)
-       (bset_case_eqv_table, bset_directory, bset_display_count)
-       (bset_display_time, bset_downcase_table)
-       (bset_enable_multibyte_characters, bset_filename, bset_keymap)
-       (bset_last_selected_window, bset_local_var_alist)
-       (bset_mark_active, bset_point_before_scroll, bset_read_only)
-       (bset_truncate_lines, bset_undo_list, bset_upcase_table)
-       (bset_width_table):
-       * buffer.c (bset_abbrev_mode, bset_abbrev_table)
-       (bset_auto_fill_function, bset_auto_save_file_format)
-       (bset_auto_save_file_name, bset_backed_up, bset_begv_marker)
-       (bset_bidi_display_reordering, bset_buffer_file_coding_system)
-       (bset_cache_long_line_scans, bset_case_fold_search)
-       (bset_ctl_arrow, bset_cursor_in_non_selected_windows)
-       (bset_cursor_type, bset_display_table, bset_extra_line_spacing)
-       (bset_file_format, bset_file_truename, bset_fringe_cursor_alist)
-       (bset_fringe_indicator_alist, bset_fringes_outside_margins)
-       (bset_header_line_format, bset_indicate_buffer_boundaries)
-       (bset_indicate_empty_lines, bset_invisibility_spec)
-       (bset_left_fringe_width, bset_major_mode, bset_mark)
-       (bset_minor_modes, bset_mode_line_format, bset_mode_name)
-       (bset_name, bset_overwrite_mode, bset_pt_marker)
-       (bset_right_fringe_width, bset_save_length)
-       (bset_scroll_bar_width, bset_scroll_down_aggressively)
-       (bset_scroll_up_aggressively, bset_selective_display)
-       (bset_selective_display_ellipses, bset_vertical_scroll_bar_type)
-       (bset_word_wrap, bset_zv_marker):
-       * category.c (bset_category_table):
-       * syntax.c (bset_syntax_table):
-       New setter functions.
-
-       * process.h (PSET): Remove (Bug#12215).
-       Replace all uses with calls to new setter functions.
-       Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
-       (PROCESS_INLINE): New macro.
-       (pset_childp): New setter function.
-       (pset_gnutls_cred_type) [HAVE_GNUTLS]: New setter function.
-       * process.c (PROCESS_INLINE):
-       Define to EXTERN_INLINE, so that the corresponding functions
-       are compiled into code.
-       (pset_buffer, pset_command, pset_decode_coding_system)
-       (pset_decoding_buf, pset_encode_coding_system)
-       (pset_encoding_buf, pset_filter, pset_log, pset_mark, pset_name)
-       (pset_plist, pset_sentinel, pset_status, pset_tty_name)
-       (pset_type, pset_write_queue): New setter functions.
-
-       * window.h (WSET): Remove (Bug#12215).
-       Replace all uses with calls to new setter functions.
-       Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
-       (WINDOW_INLINE): New macro.
-       (wset_buffer, wset_frame, wset_left_col, wset_next, wset_prev)
-       (wset_redisplay_end_trigger, wset_top_line, wset_total_cols)
-       (wset_total_lines, wset_vertical_scroll_bar)
-       (wset_window_end_pos, wset_window_end_valid)
-       (wset_window_end_vpos): New setter functions.
-       * window.c (WINDOW_INLINE):
-       Define to EXTERN_INLINE, so that the corresponding functions
-       are compiled into code.
-       (wset_combination_limit, wset_dedicated, wset_display_table)
-       (wset_hchild, wset_left_fringe_width, wset_left_margin_cols)
-       (wset_new_normal, wset_new_total, wset_next_buffers)
-       (wset_normal_cols, wset_normal_lines, wset_parent, wset_pointm)
-       (wset_prev_buffers, wset_right_fringe_width)
-       (wset_right_margin_cols, wset_scroll_bar_width, wset_start)
-       (wset_temslot, wset_vchild, wset_vertical_scroll_bar_type)
-       (wset_window_parameters):
-       * xdisp.c (wset_base_line_number, wset_base_line_pos)
-       (wset_column_number_displayed, wset_region_showing):
-       New setter functions.
-
-       * termhooks.h (TSET): Remove (Bug#12215).
-       Replace all uses with calls to new setter functions.
-       Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
-       (TERMHOOKS_INLINE): New macro.
-       (tset_charset_list, tset_selection_alist): New setter functions.
-       * terminal.c (TERMHOOKS_INLINE):
-       Define to EXTERN_INLINE, so that the corresponding functions
-       are compiled into code.
-       (tset_param_alist): New setter function.
-
-2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * keyboard.h (KSET): Remove (Bug#12215).
-       Replace all uses with calls to new setter functions.
-       Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
-       (KEYBOARD_INLINE): New macro.
-       (kset_default_minibuffer_frame, kset_defining_kbd_macro)
-       (kset_input_decode_map, kset_last_command, kset_last_kbd_macro)
-       (kset_prefix_arg, kset_system_key_alist, kset_window_system):
-       New setter functions.
-       * keyboard.c (KEYBOARD_INLINE):
-       Define to EXTERN_INLINE, so that the corresponding functions
-       are compiled into code.
-       (kset_echo_string, kset_kbd_queue)
-       (kset_keyboard_translate_table, kset_last_prefix_arg)
-       (kset_last_repeatable_command, kset_local_function_key_map)
-       (kset_overriding_terminal_local_map, kset_real_last_command)
-       (kset_system_key_syms): New setter functions.
-
-       * frame.h (FSET): Remove (Bug#12215).
-       Replace all uses with calls to new setter functions.
-       Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
-       (FRAME_INLINE): New macro.
-       (fset_buffer_list, fset_buried_buffer_list, fset_condemned_scroll_bars)
-       (fset_current_tool_bar_string, fset_desired_tool_bar_string)
-       (fset_face_alist, fset_focus_frame, fset_icon_name, fset_menu_bar_items)
-       (fset_menu_bar_vector, fset_menu_bar_window, fset_name)
-       (fset_param_alist, fset_root_window, fset_scroll_bars)
-       (fset_selected_window, fset_title, fset_tool_bar_items)
-       (fset_tool_bar_position, fset_tool_bar_window): New functions.
-       * frame.c (FRAME_INLINE):
-       Define to EXTERN_INLINE, so that the corresponding functions
-       are compiled into code.
-       (fset_buffer_predicate, fset_minibuffer_window): New setter functions.
-
-       A few more naming-convention fixes for getters and setters.
-       * buffer.c (set_buffer_overlays_before): Move here from buffer.h,
-       and rename from buffer_overlays_set_before.
-       (set_buffer_overlays_after): Move here from buffer.h, and rename
-       from buffer_overlays_set_after.
-       * buffer.h (buffer_intervals): Rename from buffer_get_intervals.
-       All uses changed.
-       (set_buffer_intervals): Rename from buffer_set_intervals.
-       * intervals.c (set_interval_object): Move here from intervals.h,
-       and rename from interval_set_object.
-       (set_interval_left): Move here from intervals.h, and rename from
-       interval_set_left.
-       (set_interval_right): Move here from intervals.h, and rename from
-       interval_set_right.
-       (copy_interval_parent): Move here from intervals.h, and rename from
-       interval_copy_parent.
-       * intervals.h (set_interval_parent): Rename from interval_set_parent.
-       (set_interval_plist): Rename from interval_set_plist.
-       Return void, not Lisp_Object, since no caller uses the result.
-       * lisp.h (string_intervals): Rename from string_get_intervals.
-       (set_string_intervals): Rename from string_set_intervals.
-
-       * lisp.h (set_char_table_extras): Rename from char_table_set_extras.
-       (set_char_table_contents): Rename from char_table_set_contents.
-       (set_sub_char_table_contents): Rename from sub_char_table_set_contents.
-       All uses changed.  See the end of
-       <http://lists.gnu.org/archive/html/emacs-devel/2012-08/msg00549.html>.
-
-       * lisp.h (CSET): Remove (Bug#12215).
-       (set_char_table_ascii, set_char_table_defalt, set_char_table_parent)
-       (set_char_table_purpose): New functions,
-       replacing CSET.  All uses changed.  For example, replace
-       "CSET (XCHAR_TABLE (char_table), parent, parent);" with
-       "set_char_table_parent (char_table, parent);".
-       The old version was confusing because it used the same name
-       'parent' for two different things.
-
-2012-08-17  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Functions to get and set Lisp_Object fields of buffer-local variables.
-       * lisp.h (blv_found, set_blv_found, blv_value, set_blv_value)
-       (set_blv_where, set_blv_defcell, set_blv_valcell): New functions.
-       (BLV_FOUND, SET_BLV_FOUND, BLV_VALUE, SET_BLV_VALUE): Remove.
-       * data.c, eval.c, frame.c: Adjust users.
-
-2012-08-17  Chong Yidong  <cyd@gnu.org>
-
-       * xfaces.c (merge_face_vectors): If the target font specfies a
-       font spec, make the font's attributes take precedence over
-       directly-specified attributes.
-       (merge_face_ref): Recognize :font.
-
-2012-08-17  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Do not use memcpy for copying intervals.
-       * intervals.c (reproduce_interval): New function.
-       (reproduce_tree, reproduce_tree_obj): Use it.
-       (reproduce_tree_obj): Remove prototype.
-
-2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * lisp.h (duration_to_sec_usec): Remove unused decl.
-
-2012-08-17  Alp Aker  <alp.tekin.aker@gmail.com>
-
-       * nsfont.m (ns_ascii_average_width): Send initWithFormat selector
-       to an allocated instance of NSString, not to the class itself.
-
-2012-08-17  Juanma Barranquero  <lekktu@gmail.com>
-
-       * makefile.w32-in (C_CTYPE_H): New macro.
-       (LISP_H, $(BLD)/ccl.$(O), $(BLD)/doc.$(O), $(BLD)/w32console.$(O)):
-       ($(BLD)/fontset.$(O), $(BLD)/frame.$(O), $(BLD)/composite.$(O)):
-       ($(BLD)/sysdep.$(O), $(BLD)/w32uniscribe.$(O)): Update dependencies.
-
-2012-08-16  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Use ASCII tests for character types.
-       * category.c, dispnew.c, doprnt.c, editfns.c, syntax.c, term.c:
-       * xfns.c, xterm.c:
-       Don't include <ctype.h>; was not needed.
-       * charset.c, doc.c, fileio.c, font.c, frame.c, gtkutil.c, image.c:
-       * sysdep.c, xfaces.c:
-       Include <c-ctype.h> instead of <ctype.h>.
-       * nsterm.m: Include <c-ctype.h>.
-       * charset.c (read_hex):
-       * doc.c (Fsnarf_documentation):
-       * fileio.c (IS_DRIVE) [WINDOWSNT]:
-       (DRIVE_LETTER) [DOS_NT]:
-       (Ffile_name_directory, Fexpand_file_name)
-       (Fsubstitute_in_file_name):
-       * font.c (font_parse_xlfd, font_parse_fcname):
-       * frame.c (x_set_font_backend):
-       * gtkutil.c (xg_get_font):
-       * image.c (xbm_scan, xpm_scan, pbm_scan_number):
-       * nsimage.m (hexchar):
-       * nsterm.m (ns_xlfd_to_fontname):
-       * sysdep.c (system_process_attributes):
-       * xfaces.c (hash_string_case_insensitive):
-       Use C-locale tests instead of locale-specific tests for character
-       types, since we want the ASCII interpretation here, not the
-       interpretation suitable for whatever happens to be the current locale.
-
-2012-08-16  Martin Rudalics  <rudalics@gmx.at>
-
-       Consistently check windows for validity/liveness
-       (Bug#11984, Bug#12025, Bug#12026).
-       * lisp.h (CHECK_VALID_WINDOW): New macro.
-       * window.c (decode_window): Rename to decode_live_window.
-       (decode_valid_window, Fwindow_valid_p): New functions.
-       (Fwindow_frame, Fframe_root_window, Fwindow_minibuffer_p)
-       (Fframe_first_window, Fframe_selected_window, Fwindow_parent)
-       (Fwindow_top_child, Fwindow_left_child, Fwindow_next_sibling)
-       (Fwindow_prev_sibling, Fwindow_combination_limit)
-       (Fset_window_combination_limit, Fwindow_use_time)
-       (Fwindow_total_height, Fwindow_total_width, Fwindow_new_total)
-       (Fwindow_normal_size, Fwindow_new_normal, Fwindow_left_column)
-       (Fwindow_top_line, Fwindow_body_height, Fwindow_body_width)
-       (Fwindow_hscroll, Fset_window_hscroll)
-       (Fwindow_redisplay_end_trigger)
-       (Fset_window_redisplay_end_trigger, Fwindow_edges)
-       (Fwindow_pixel_edges, Fwindow_absolute_pixel_edges)
-       (Fwindow_inside_edges, Fwindow_inside_pixel_edges)
-       (Fcoordinates_in_window_p, Fwindow_point, Fwindow_start)
-       (Fwindow_end, Fset_window_point, Fset_window_start)
-       (Fpos_visible_in_window_p, Fwindow_line_height)
-       (Fwindow_dedicated_p, Fset_window_dedicated_p)
-       (Fwindow_prev_buffers, Fset_window_prev_buffers)
-       (Fwindow_next_buffers, Fwindow_parameters, Fwindow_parameter)
-       (Fset_window_parameter, Fwindow_display_table)
-       (Fset_window_display_table, Fdelete_other_windows_internal)
-       (Fset_window_buffer, Fset_window_new_total)
-       (Fset_window_new_normal, Fdelete_window_internal)
-       (Fwindow_text_height, Fset_window_margins, Fwindow_margins)
-       (Fset_window_fringes, Fwindow_fringes, Fset_window_scroll_bars)
-       (Fwindow_scroll_bars): Check whether argument window is a valid or
-       live window.  Update doc-strings.
-       (syms_of_window): New symbol Qwindow_valid_p.
-       * keyboard.c (Fposn_at_x_y): Check whether argument
-       frame_or_window denotes a valid window.
-
-2012-08-16  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Fix previous char table change.
-       * lisp.h (CHAR_TABLE_SET): Use sub_char_table_set_contents.
-       * chartab.c (optimize_sub_char_table): Likewise.
-
-2012-08-16  Chong Yidong  <cyd@gnu.org>
-
-       * gtkutil.c (xg_get_font): Demand an Xft font (Bug#3228).
-
-       * xfont.c (xfont_open):
-       * xftfont.c (xftfont_open): Set the font's max_width field.
-
-       * nsfont.m (nsfont_open): Similar to the Xft backend, set
-       min_width to space_width and average_width to the average over
-       printable ASCII characters.
-       (ns_char_width): Code cleanup.
-       (ns_ascii_average_width): New utility function.
-
-       * font.h (struct font): Update comments.
-
-2012-08-16  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Simple interface to set Lisp_Object fields of character tables.
-       * lisp.h (CSET): New macro.
-       (char_table_set_extras, char_table_set_contents)
-       (sub_char_table_set_contents): New function.
-       * casetab.c, category.c, chartab.c, fns.c, fontset.c, search.c:
-       * syntax.c: Adjust users.
-
-2012-08-16  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * eval.c (eval_sub): Bind lexical-binding.
-       * lread.c (Qlexical_binding): Make non-static.
-
-2012-08-15  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsmenu.m (popupSession): Remove.
-       (pop_down_menu): Remove endModalSession.
-       (timeout_handler:): New method.
-       (runDialogAt:): Get next timeout.  Start a NSTimer with that timeout.
-       Call runModalForWindow.  Check timer_fired when it returns.
-       If not set, cancel timer and break out of loop.
-       Otherwise loop again, with a new timeout.
-
-       * nsterm.m: Include fcntl.h if present.
-       (fd_entry, t_readfds, inNsSelect): Remove.
-       (select_writefds, select_valid, select_timeout, selfds)
-       (select_mutex, apploopnr): Add.
-       (EV_TRAILER): Call kbd_buffer_store_event_hold only if q_event_ptr.
-       Otherwise call kbd_buffer_store_event.
-       (ns_send_appdefined): Remove release of fd_entry.
-       (ns_read_socket): Always send appdefined.  Remove inNsSelect check.
-       Increment and decrement apploopnr.
-       (ns_select): If no file descriptors, just do a NSTimer.
-       Otherwise copy read/write masks and start select thread (fd_handler).
-       Start main loop and wait for application defined event.
-       Inform select thread to stop selecting after main loop is exited.
-       (ns_term_init): Create selfds pipe and set non-blocking.
-       Initialize select_mutex.  Start the select thread (fd_handler).
-       (fd_handler:): Loop forever, wait for info from the main thread
-       to either start or stop selecting.  When select returns, send
-       and appdefined event.
-       (sendScrollEventAtLoc:fromEvent:): Check if q_event_ptr is set.
-       If not call kbd_buffer_store_event.
-
-       * nsterm.h (EmacsApp): fd_handler takes id argument.
-       (EmacsDialogPanel): Add timer_fired and timeout_handler.
-
-       * gtkutil.c (xg_mark_data): Use FRAME_X_P.
-
-2012-08-15  Eli Zaretskii  <eliz@gnu.org>
-
-       * region-cache.c (move_cache_gap): Update gap_len using the actual
-       growth of the boundaries array.  Do not change cache_len.
-       (Bug#12196)
-
-2012-08-15  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Generalize and cleanup font subsystem checks.
-       * font.h (FONT_DEBUG, font_assert): Remove.
-       * font.c, fontset.c, w32font.c, xfont.c, xftfont.c:
-       Change font_assert to eassert.  Use eassert where appropriate.
-
-2012-08-15  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * gtkutil.c (xg_get_font): Use pango_units_to_double.
-
-2012-08-15  Chong Yidong  <cyd@gnu.org>
-
-       * gtkutil.c (xg_get_font): Rename from xg_get_font_name.
-       When using the new font chooser, use gtk_font_chooser_get_font_desc to
-       extract the font descriptor instead of just the font name.
-       In that case, return a font spec instead of a string.
-       (x_last_font_name): Move to this file from xfns.c.
-
-       * xfns.c (Fx_select_font): The return value can also be a font
-       spec.  Move x_last_font_name management to gtkutil.c.
-
-       * xfaces.c: Make font weight and style symbols non-static.
-
-2012-08-15  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * minibuf.c (read_minibuf): Ignore caller's inhibit-read-only
-       (bug#12117).
-
-2012-08-14  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * alloc.c (Fgarbage_collect): Use plural form consistently.
-
-2012-08-14  Eli Zaretskii  <eliz@gnu.org>
-
-       * keyboard.c (command_loop_1): Reset ignore_mouse_drag_p flag each
-       iteration through the command loop.  Fixes a problem whereby mouse
-       movements are ignored until the first mouse click.
-
-2012-08-14  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Use bool, not int, for Lisp booleans.
-       This is more natural, and on my platform (GCC 4.7.1 x86-64) it
-       makes Emacs a bit smaller and presumably a bit faster.
-       * lisp.h: Include <stdbool.h>.
-       (struct Lisp_Boolfwd, defvar_bool):
-       * lread.c (defvar_bool): Use bool, not int, for Lisp booleans.
-       * regex.c [!emacs]: Include <stdbool.h>.
-       (false, true): Remove; <stdbool.h> does this for us now.
-
-2012-08-14  Chong Yidong  <cyd@gnu.org>
-
-       * character.c (Fcharacterp): Doc fix (Bug#12076).
-
-       * data.c (Findirect_variable): Doc fix (Bug#11040).
-
-       * chartab.c (Fmap_char_table): Doc fix (Bug#12061).
-
-       * editfns.c (Fformat): Doc fix (Bug#12059).
-       (Fsave_current_buffer): Doc fix (Bug#11542).
-
-2012-08-14  Barry OReilly  <gundaetiapo@gmail.com>  (tiny change)
-
-       * keyboard.c (access_keymap_keyremap): Accept anonymous functions
-       (bug#12022).
-
-2012-08-14  Martin Rudalics  <rudalics@gmx.at>
-
-       * frame.c (make_frame_without_minibuffer, make_minibuffer_frame)
-       (delete_frame, Fmake_frame_invisible, Ficonify_frame):
-       * minibuf.c (choose_minibuf_frame, read_minibuf):
-       * w32fns.c (x_create_tip_frame):
-       * xfns.c (x_create_tip_frame): Call set_window_buffer instead of
-       Fset_window_buffer (Bug#11984, Bug#12025, Bug#12026).
-
-2012-08-14  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * intervals.c (offset_intervals): Remove obsolete comment.
-
-2012-08-14  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * gtkutil.c (find_rtl_image, update_frame_tool_bar): Use NILP.
-
-2012-08-14  Gergely Risko  <gergely@risko.hu>
-
-       * coding.c (decode_coding): Record buffer modification before
-       disabling undo_list (Bug#11773).
-
-2012-08-14  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Revert and cleanup some recent overlay changes.
-       * buffer.h (enum overlay_type): Remove.
-       (buffer_get_overlays, buffer_set_overlays): Likewise.
-       (buffer_set_overlays_before, buffer_set_overlays_after):
-       New function.  Adjust users.
-       (unchain_both): Add eassert.
-
-2012-08-14  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * gtkutil.c (update_frame_tool_bar): Use EQ where appropriate.
-
-2012-08-14  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * gtkutil.c (xg_mark_data): Don't assume C99.
-
-2012-08-13  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * gtkutil.c (xg_frame_tb_info): New struct.
-       (TB_INFO_KEY): New define.
-       (xg_free_frame_widgets): Free xg_frame_tb_info for frame if present.
-       (xg_mark_data): Mark Lisp_Objects in xg_frame_tb_info.
-       (xg_create_tool_bar): Allocate and initialize a xg_frame_tb_info
-       if not present.
-       (update_frame_tool_bar): Return early if data in xg_frame_tb_info
-       is up to date.  Otherwise store new data.
-       (free_frame_tool_bar): Free xg_frame_tb_info if present.
-
-2012-08-13  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Use KSET for write access to Lisp_Object members of struct kboard.
-       * keyboard.h (KSET): New macro.
-       * callint.c, category.c, frame.c, keyboard.c, keyboard.h, macros.c:
-       * msdos.c, nsfns.m, nsterm.m, term.c, w32fns.c, w32term.c, xfns.c:
-       * xterm.c: Adjust users.
-
-2012-08-13  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Use BSET for write access to Lisp_Object members of struct buffer.
-       * buffer.h (BSET): New macro.
-       * buffer.c, casetab.c, cmds.c, coding.c, data.c, editfns.c:
-       * fileio.c, frame.c, indent.c, insdel.c, intervals.c, keymap.c:
-       * minibuf.c, print.c, process.c, syntax.c, undo.c, w32fns.c:
-       * window.c, xdisp.c, xfns.c: Adjust users.
-
-2012-08-11  BT Templeton  <bpt@hcoop.net>  (tiny change)
-
-       * lread.c (syms_of_lread): Initialize Vlexical_binding.
-
-2012-08-11  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsterm.m (not_in_argv): New function.
-       (application:openFile, application:openTempFile:):
-       (application:openFileWithoutUI:, application:openFiles:): Open file
-       if not_in_argv returns non-zero (bug#12171).
-
-       * gtkutil.c (gtk_font_chooser_dialog_new, GTK_FONT_CHOOSER)
-       (gtk_font_chooser_set_font, gtk_font_chooser_get_font):
-       Define for Gtk+ versions less than 3.2.
-       (xg_get_font_name): Use those functions/macros here.
-       Reported by Frans Oilinki <moilinki@gmail.com>.
-
-2012-08-11  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * unexmacosx.c (copy_data_segment): Copy initialized data in
-       statically linked libraries from input file rather than memory.
-
-       * unexmacosx.c (print_load_command_name): Add cases LC_MAIN,
-       LC_SOURCE_VERSION, and LC_DYLIB_CODE_SIGN_DRS.
-       (dump_it) [LC_DYLIB_CODE_SIGN_DRS]: Call copy_linkedit_data.
-
-2012-08-10  Glenn Morris  <rgm@gnu.org>
-
-       * conf_post.h (IF_LINT, lint_assume): Move here from lisp.h.
-       * lisp.h (IF_LINT, lint_assume): Move to conf_post.h.
-
-2012-08-10  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Fix last change to allow compilation with low optimization levels.
-       * intervals.c (INTERVALS_INLINE): Define to EXTERN_INLINE.
-       Reported by Jan Djärv <jan.h.d@swipnet.se>.
-
-2012-08-10  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Use common inline syntax in intervals.h.
-       * intervals.h (INTERVALS_INLINE): New macro.
-       Change all users from LISP_INLINE.
-
-2012-08-10  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Define Qnone once for all platforms.
-       * frame.c (Qnone): Define here.
-       (syms_of_frame): DEFSYM it.
-       * lisp.h (Qnone): New declaration.
-       * nsfns.m, nsterm.h, nsterm.m, w32fns.c, w32font.c:
-       * xfns.c: Remove duplication.  Adjust users.
-
-2012-08-10  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Remove unused macros from intervals.h.
-       * intervals.h (MERGE_INSERTIONS, DISPLAY_INVISIBLE_GLYPH): Remove.
-       * intervals.c: Adjust comment.
-
-2012-08-10  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32fns.c <w32_unicode_gui>: New static variable.
-       (globals_of_w32fns): Initialize it according to os_subtype.
-       (w32_init_class, w32_msg_pump, w32_wnd_proc): Use it instead of
-       testing os_subtype.
-
-2012-08-10  Joakim Hårsman  <joakim.harsman@gmail.com>  (tiny change)
-           Eli Zaretskii  <eliz@gnu.org>
-
-       Fix bug #10299 with Unicode characters sent by customized
-       keyboards created by MSKLC.
-       * w32fns.c (INIT_WINDOW_CLASS): New macro.
-       (w32_init_class): Use it to initialize the Emacs class with either
-       ANSI or Unicode API calls.
-       (w32_msg_pump): Call GetMessageW and DispatchMessageW on NT and
-       later.
-       (w32_wnd_proc): If the character code sent by WM_CHAR or
-       WM_SYSCHAR is above 255, post a WM_UNICHAR message, not the
-       original message.  Call DefWindowProcW on NT and later.
-
-2012-08-10  Glenn Morris  <rgm@gnu.org>
-
-       * Makefile.in (config_h): Fix conf_post.h out-of-tree build location.
-
-       * lisp.h (DIRECTORY_SEP): Let configure set it.
-
-2012-08-09  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Use TSET for write access to Lisp_Object slots of struct terminal.
-       * termhooks.h (TSET): New macro.
-       * coding.c, terminal.c, xselect.c: Adjust users.
-
-2012-08-08  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * xdisp.c (safe_eval_handler): Remove prototype.  Receive args describing
-       the failing expression, include them in the error message.
-       * eval.c (internal_condition_case_n): Pass nargs and args to hfun.
-       * lisp.h (internal_condition_case_n): Update declaration.
-
-2012-08-08  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Inline functions to examine and change buffer overlays.
-       * buffer.c (unchain_both): New function.
-       * buffer.h (buffer_get_overlays, buffer_set_overlays):
-       (buffer_has_overlays): New function.
-       (enum overlay_type): New enum.
-       * alloc.c, buffer.c, editfns.c, fileio.c, indent.c:
-       * insdel.c, intervals.c, print.c, xdisp.c: Adjust users.
-
-2012-08-08  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Inline functions to examine and change buffer intervals.
-       * alloc.c (mark_interval_tree): Remove.
-       (MARK_INTERVAL_TREE): Simplify.
-       (UNMARK_BALANCE_INTERVALS): Remove.  Adjust users.
-       * intervals.c (buffer_balance_intervals): New function.
-       (graft_intervals_into_buffer): Adjust indentation.
-       (set_intervals_multibyte): Simplify.
-       * buffer.h (BUF_INTERVALS): Remove.
-       (buffer_get_intervals, buffer_set_intervals): New function.
-       * alloc.c, buffer.c, editfns.c, fileio.c, indent.c, insdel.c:
-       * intervals.c, textprop.c: Adjust users.
-
-2012-08-08  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Inline functions to examine and change string intervals.
-       * lisp.h (STRING_INTERVALS, STRING_SET_INTERVALS): Remove.
-       (string_get_intervals, string_set_intervals): New function.
-       * alloc.c, buffer.c, editfns.c, fns.c, insdel.c, intervals.c:
-       * lread.c, print.c, textprop.c: Adjust users.
-
-2012-08-08  Glenn Morris  <rgm@gnu.org>
-
-       * lisp.mk (lisp): Remove language/persian.elc.
-
-2012-08-08  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Cleanup intervals.
-       * intervals.h (NULL_INTERVAL, DEFAULT_INTERVAL): Remove.
-       (NULL_INTERVAL_P): Likewise.  Adjust users.
-       (FRONT_STICKY_P, END_NONSTICKY_P, FRONT_NONSTICKY_P):
-       Adjust comment.  Move under #if 0.
-       * alloc.c, buffer.c, editfns.c, fns.c, insdel.c, intervals.c:
-       * print.c, syntax.c, textprop.c, xdisp.c: Adjust users.
-
-2012-08-08  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Check total length of intervals with eassert.
-       * intervals.h (CHECK_TOTAL_LENGTH): Remove.
-       * intervals.c: Change all users to eassert.
-
-2012-08-07  Eli Zaretskii  <eliz@gnu.org>
-
-       * .gdbinit (xframe, xwindow, nextcons, xcar, xcdr, xlist):
-       Rename fields to match removal of FGET and WGET and disuse of
-       INTERNAL_FIELD in Lisp_Cons.
-
-2012-08-07  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Revert and cleanup Lisp_Cons, Lisp_Misc and Lisp_Symbol things.
-       * lisp.h (struct Lisp_Symbol): Change xname to meaningful
-       name since all xname users are fixed long time ago.  Do not
-       use INTERNAL_FIELD.
-       (set_symbol_name, set_symbol_function, set_symbol_plist):
-       (set_symbol_next, set_overlay_plist): New function.
-       (struct Lisp_Cons): Do not use INTERNAL_FIELD.
-       (struct Lisp_Overlay): Likewise.
-       (CVAR, MVAR, SVAR): Remove.
-       * alloc.c, buffer.c, buffer.h, bytecode.c, cmds.c, data.c:
-       * doc.c, eval.c, fns.c, keyboard.c, lread.c, nsselect.m:
-       * xterm.c: Adjust users.
-       * .gdbinit: Change to use name field of struct Lisp_Symbol
-       where appropriate.
-
-2012-08-07  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Basic functions to set Lisp_Object and pointer slots of intervals.
-       * intervals.h (interval_set_parent, interval_set_object):
-       (interval_set_left, interval_set_right, interval_set_plist):
-       (interval_copy_parent): New function.
-       (SET_INTERVAL_OBJECT, SET_INTERVAL_PARENT, INTERVAL_PTR_SIZE): Remove.
-       (RESET_INTERVAL, COPY_INTERVAL_CACHE, MERGE_INTERVAL_CACHE):
-       Adjust indentation.
-       (INTERVAL_SIZE): Remove.  Adjust users.
-       * alloc.c, intervals.c, lread.c, textprop.c: Use new functions.
-
-2012-08-07  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Drop PGET and revert read access to Lisp_Objects slots of Lisp_Process.
-       * process.h (PGET): Remove.
-       (struct Lisp_Process): Do not use INTERNAL_FIELD.
-       * gnutls.c, print.c, process.c, sysdep.c, w32.c, xdisp.c: Adjust users.
-
-2012-08-07  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Drop WGET and revert read access to Lisp_Objects slots of struct window.
-       * window.h (WGET): Remove.
-       (struct window): Do not use INTERNAL_FIELD.
-       * alloc.c, buffer.c, composite.c, dispextern.h, dispnew.c, editfns.c:
-       * fileio.c, font.c, fontset.c, frame.c, frame.h, fringe.c, indent.c:
-       * insdel.c, keyboard.c, keymap.c, lisp.h, minibuf.c, msdos.c, nsfns.m:
-       * nsmenu.m, nsterm.m, print.c, textprop.c, w32fns.c, w32menu.c:
-       * w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c:
-       Adjust users.
-
-2012-08-07  Chong Yidong  <cyd@gnu.org>
-
-       * window.c (Fwindow_edges, Fwindow_pixel_edges)
-       (Fwindow_absolute_pixel_edges, Fdelete_other_windows_internal)
-       (Fdelete_window_internal): Signal an error if the window is not on
-       a live frame (Bug#12025).
-
-2012-08-07  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Drop FGET and revert read access to Lisp_Objects slots of struct frame.
-       * frame.h (FGET): Remove.
-       (struct frame): Do not use INTERNAL_FIELD.
-       * buffer.c, data.c, dispnew.c, dosfns.c, eval.c, fontset.c, frame.c:
-       * fringe.c, gtkutil.c, minibuf.c, msdos.c, nsfns.m, nsmenu.m, nsterm.m:
-       * print.c, term.c, w32fns.c, w32menu.c, w32term.c, window.c, window.h:
-       * xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c: Adjust users.
-
-2012-08-06  Juanma Barranquero  <lekktu@gmail.com>
-
-       * w32.c: Silence compiler warnings.
-       (map_w32_filename): Remove unused variable `is_fat'.
-       (chase_symlinks): Add parentheses around expression.
-
-2012-08-06  Glenn Morris  <rgm@gnu.org>
-
-       * sysdep.c: Respect BROKEN_GETWD.
-
-       * dispnew.c (GNU_LIBRARY_PENDING_OUTPUT_COUNT, PENDING_OUTPUT_COUNT):
-       Let configure handle it.
-       (stdio_ext.h) [DISPNEW_NEEDS_STDIO_EXT]: Include it.
-
-2012-08-06  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Use GCALIGNMENT where appropriate.
-       * alloc.c (XMALLOC_HEADER_ALIGNMENT, roundup_size):
-       (union aligned_Lisp_Symbol, union aligned_Lisp_Misc):
-       (mark_maybe_pointer, pure_alloc): Change to use GCALIGNMENT.
-
-2012-08-06  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32menu.c (set_frame_menubar, initialize_frame_menubar):
-       Don't use FRAME_MENU_BAR_ITEMS as an lvalue.
-
-2012-08-06  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * buffer.h (struct buffer): Revert `indirections' to a simple int;
-       that should be sufficient for everyone.
-
-2012-08-06  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * keyboard.c (timer_check_2): Add break so timer_check returns next
-       timeout.
-
-2012-08-06  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Fix Windows build errors introduced after converting to WGET and WSET.
-       * w32term.c (w32_set_vertical_scroll_bar): Change to use WSET.
-       Reported by Andy Moreton <andrewjmoreton@gmail.com>.
-
-2012-08-06  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsterm.m (ns_frame_rehighlight): Use FSET.
-
-       * nsmenu.m (ns_update_menubar): Use FSET.
-
-2012-08-06  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Separate read and write access to Lisp_Object slots of Lisp_Process.
-       * process.h (PGET, PSET): New macros similar to AREF and ASET.
-       * gnutls.c, print.c, process.c, sysdep.c, w32.c, xdisp.c: Adjust users.
-
-2012-08-06  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Separate read and write access to Lisp_Object slots of struct window.
-       * window.h (WGET, WSET): New macros similar to AREF and ASET.
-       * alloc.c, buffer.c, composite.c, dispextern.h, dispnew.c, editfns.c:
-       * fileio.c, font.c, fontset.c, frame.c, frame.h, fringe.c, indent.c:
-       * insdel.c, keyboard.c, keymap.c, lisp.h, minibuf.c, msdos.c, nsfns.m:
-       * nsmenu.m, nsterm.m, print.c, textprop.c, w32fns.c, w32menu.c:
-       * w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c:
-       Adjust users.
-
-2012-08-06  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Fix Windows build errors introduced after converting to FGET and FSET.
-       * w32term.c (x_frame_rehighlight, x_scroll_bar_create):
-       (w32_condemn_scroll_bars, w32_redeem_scroll_bar):
-       (w32_judge_scroll_bars): Change to use FSET.
-       Reported by Andy Moreton <andrewjmoreton@gmail.com>.
-
-2012-08-06  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Fix replacement typo.
-       * window.c (replace_window): Set root_window instead of
-       selected_window.  This fixes a total window subsystem
-       malfunction reported by Bastien Guerry <bzg@gnu.org>.
-
-2012-08-06  Glenn Morris  <rgm@gnu.org>
-
-       * lisp.mk (lisp): Add language/persian.elc.
-
-2012-08-06  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Separate read and write access to Lisp_Object slots of struct frame.
-       * frame.h (FGET, FSET): New macros similar to AREF and ASET.
-       * buffer.c, data.c, dispnew.c, dosfns.c, eval.c, fontset.c, frame.c:
-       * fringe.c, gtkutil.c, minibuf.c, msdos.c, nsfns.m, nsmenu.m, nsterm.m:
-       * print.c, term.c, w32fns.c, w32menu.c, w32term.c, window.c, window.h:
-       * xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c: Adjust users.
-
-2012-08-05  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * emacs.c (decode_env_path): Only use defaulted if WINDOWSNT.
-
-2012-08-05  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Generalize common compile-time constants.
-       * lisp.h (header_size, bool_header_size, word_size): Now here.
-       (struct Lisp_Vector): Add comment.
-       (struct Lisp_Bool_Vector): Move up to define handy constants.
-       (VECSIZE, PSEUDOVECSIZE): Simplify.
-       (SAFE_ALLOCA_LISP): Use new constant.  Adjust indentation.
-       * buffer.c, buffer.h, bytecode.c, callint.c, eval.c, fns.c:
-       * font.c, fontset.c, keyboard.c, keymap.c, macros.c, menu.c:
-       * msdos.c, w32menu.c, w32term.h, window.c, xdisp.c, xfaces.c:
-       * xfont.c, xmenu.c: Use word_size where appropriate.
-
-2012-08-05  Lawrence Mitchell  <wence@gmx.li>
-
-       * search.c (Freplace_match): Treat \? in the replacement text
-       literally (Bug#8161).
-
-2012-08-05  Chong Yidong  <cyd@gnu.org>
-
-       * term.c (Vsuspend_tty_functions, Vresume_tty_functions):
-       * frame.c (Vdelete_frame_functions):
-       * emacs.c (Vkill_emacs_hook): Doc fix.
-
-2012-08-04  Eli Zaretskii  <eliz@gnu.org>
-
-       * xfns.c (x_set_menu_bar_lines): Fix compilation error in
-       --with-x-toolkit=no builds.
-       Reported by Carsten Mattner <carstenmattner@gmail.com>.
-
-2012-08-04  Chong Yidong  <cyd@gnu.org>
-
-       * syntax.c (Fmodify_syntax_entry): Doc fix.
-
-2012-08-04  Eli Zaretskii  <eliz@gnu.org>
-
-       Fix startup warnings about ../site-lisp on MS-Windows.  (Bug#11959)
-       * w32.c (init_environment): Change the default values of many
-       environment variables in dflt_envvars[] to NULL, to avoid pushing
-       them into environment when they were not already defined.
-       Remove the code that deletes site-lisp subdirectories from the default
-       value of EMACSLOADPATH, as it is no longer needed.
-       (check_windows_init_file): Now external, not static.
-       Use Vload_path as is, without adding anything, as this function is now
-       called when Vload_path is already set up.
-
-       * w32.h (check_windows_init_file): Add prototype.
-
-       * emacs.c (init_cmdargs) [WINDOWSNT]: When running from the build
-       directory, ignore the /*/i386/ tail in Vinvocation_directory, for
-       compatibility with Posix platforms.
-       (main): Move the call to check_windows_init_file to here from
-       w32.c.
-       (decode_env_path) [WINDOWSNT]: Expand the %emacs_dir%/ prefix, if
-       any, in the DEFALT argument into the root of the Emacs build or
-       installation tree, as appropriate.
-
-       * callproc.c (init_callproc_1): Call decode_env_path instead of
-       doing its equivalent by hand.
-       (init_callproc): Replace DOS_NT condition with MSDOS, thus letting
-       the code that sets Vexec_path run on MS-Windows.
-
-       * lread.c (init_lread): Add comments to #ifdef's.
-
-       * msdos.c (dos_set_window_size, IT_update_begin)
-       (IT_frame_up_to_date, IT_set_frame_parameters): Use FVAR and WVAR
-       instead of direct references.
-
-2012-08-04  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Export DEFAULT_REHASH_* to GDB.
-       * lisp.h (DEFAULT_REHASH_THRESHOLD, DEFAULT_REHASH_SIZE):
-       Now constants, not macros.
-
-2012-08-03  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Remove unnecessary casts involving pointers.
-       These casts are no longer needed now that we assume C89 or later,
-       since they involve casting to or from void *.
-       * alloc.c (make_pure_string, make_pure_c_string, pure_cons)
-       (make_pure_float, make_pure_vector):
-       * lisp.h (SAFE_ALLOCA, SAFE_ALLOCA_LISP):
-       * macros.c (Fstart_kbd_macro):
-       * menu.c (find_and_return_menu_selection):
-       * minibuf.c (read_minibuf_noninteractive):
-       * sysdep.c (closedir):
-       * xdisp.c (x_produce_glyphs):
-       * xfaces.c (compare_fonts_by_sort_order):
-       * xfns.c (x_real_positions, select_visual):
-       * xselect.c (x_stop_queuing_selection_requests)
-       (x_get_window_property, x_get_window_property_as_lisp_data):
-       * xterm.c (x_set_frame_alpha, x_find_modifier_meanings):
-       Remove unnecessary pointer casts.
-       * alloc.c (record_xmalloc): New function.
-       * lisp.h (record_xmalloc): New decl.
-       (SAFE_ALLOCA): Now takes just one arg -- the size -- and acts
-       more like a function.  This is because the pointer cast is not
-       needed.  All uses changed.
-       * print.c (print_string, print_error_message): Avoid length recalc.
-
-       Improve fix for macroexp crash with debugging (Bug#12118).
-       * lisp.h (ASET) [ENABLE_CHECKING]: Pay attention to
-       ARRAY_MARK_FLAG when checking subscripts, because ASET is
-       not supposed to be invoked from the garbage collector.
-       See Andreas Schwab in <http://bugs.gnu.org/12118#25>.
-       (gc_aset): New function, which is like ASET but can be
-       used in the garbage collector.
-       (set_hash_key, set_hash_value, set_hash_next, set_hash_hash)
-       (set_hash_index): Use it instead of ASET.
-
-2012-08-03  Eli Zaretskii  <eliz@gnu.org>
-
-       Support symlinks on latest versions of MS-Windows.
-       * w32.c: Include winioctl.h and aclapi.h.
-       (is_symlink, chase_symlinks, enable_privilege, restore_privilege)
-       (revert_to_self): Forward declarations of static functions.
-       <static BOOL g_b_init_get_security_info>:
-       <g_b_init_create_symbolic_link>: New static flags.
-       (globals_of_w32): Initialize them to zero.
-       (GetSecurityInfo_Proc, CreateSymbolicLink_Proc): New typedefs.
-       (map_w32_filename): Improve commentary.  Simplify switch.
-       (SYMBOLIC_LINK_FLAG_DIRECTORY): Define if not defined in system
-       headers (most versions of MinGW w32api don't).
-       (get_security_info, create_symbolic_link)
-       (get_file_security_desc_by_handle, is_symlink, chase_symlinks):
-       New functions.
-       (sys_access, sys_chmod): Call 'chase_symlinks' to resolve symlinks
-       in the argument file name.
-       (sys_access): Call unc_volume_file_attributes only if
-       GetFileAttributes fails with network-related error codes.
-       (sys_rename): Diagnose renaming of a symlink when the user doesn't
-       have the required privileges.
-       (get_file_security_desc_by_name): Rename from
-       get_file_security_desc.
-       (stat_worker): New function, with most of the guts of 'stat', and
-       with addition of handling of symlinks and support for 'lstat'.
-       If possible, get file's attributes and security information by
-       handle, not by name.  Produce S_IFLNK bit for symlinks, when
-       called from 'lstat'.
-       (stat, lstat): New functions, call 'stat_worker'.
-       (symlink, readlink, careadlinkat): Rewritten to create and resolve
-       symlinks when the underlying filesystem supports them.
-
-2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix macroexp crash on Windows with debugging (Bug#12118).
-       * lisp.h (ASET) [ENABLE_CHECKING]: Ignore ARRAY_MARK_FLAG when
-       checking subscripts; problem introduced with the recent
-       "ASET (a, i, v)" rather than "AREF (a, i) = v" patch.
-       (ARRAY_MARK_FLAG): Now a macro as well as a constant,
-       since it's used in non-static inline functions now.
-
-       * xfaces.c (face_at_buffer_position, face_for_overlay_string):
-       Don't assume buffer size fits in 'int'.  Remove unused local.
-
-       Use C99-style 'extern inline' if available.
-       * buffer.h (BUFFER_INLINE):
-       * category.h (CATEGORY_INLINE):
-       * character.h (CHARACTER_INLINE):
-       * charset.h (CHARSET_INLINE):
-       * composite.h (COMPOSITE_INLINE):
-       * dispextern.h (DISPEXTERN_INLINE):
-       * lisp.h (LISP_INLINE):
-       * systime.h (SYSTIME_INLINE):
-       New macro, replacing 'static inline' in this header.
-       * buffer.h, category.h, character.h, charset.h, composite.h:
-       * dispextern.h, lisp.h, systime.h:
-       Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
-       * alloc.c (LISP_INLINE):
-       * buffer.c (BUFFER_INLINE):
-       * category.c (CATEGORY_INLINE):
-       * character.c (CHARACTER_INLINE):
-       * charset.c (CHARSET_INLINE):
-       * composite.c (COMPOSITE_INLINE):
-       * dispnew.c (DISPEXTERN_INLINE):
-       * sysdep.c (SYSTIME_INLINE):
-       Define to EXTERN_INLINE, so that the corresponding functions
-       are compiled into code.
-       * conf_post.h (INLINE, EXTERN_INLINE, INLINE_HEADER_BEGIN)
-       (INLINE_HEADER_END): New macros.
-       * lisp.h (PSEUDOVECTOR_FLAG): Now a macro as well as a constant,
-       since it's used in non-static inline functions now.
-       (VALMASK) [!USE_LSB_TAG]: Likewise.
-
-2012-08-02  Glenn Morris  <rgm@gnu.org>
-
-       * s/: Remove empty directory.
-
-       * s/ms-w32.h: Move to ../nt/inc.
-       * makefile.w32-in (TAGS, TAGS-gmake, MS_W32_H):
-       Update for new ms-w32.h location.
-
-2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Port to Solaris 8.
-       * syswait.h (WRETCODE): Remove, consistently with ../configure.ac.
-
-2012-08-02  Glenn Morris  <rgm@gnu.org>
-
-       * nsterm.m (ns_exec_path, ns_load_path): Use SEPCHAR rather than
-       hard-coding the path separator.
-
-2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Use "ASET (a, i, v)" rather than "AREF (a, i) = v".
-       This how ASET and AREF are supposed to work, and makes
-       it easier to think about future improvements.  See
-       <http://lists.gnu.org/archive/html/emacs-devel/2012-08/msg00026.html>.
-       * charset.h (set_charset_attr): New function.
-       All lvalue-style uses of CHARSET_DECODER etc. changed to use it.
-       * lisp.h (ASET): Rewrite so as not to use AREF in an lvalue style.
-       (aref_addr): New function.  All uses of &AREF(...) changed.
-       (set_hash_key, set_hash_value, set_hash_next, set_hash_hash)
-       (set_hash_index): New functions.  All lvalue-style uses of
-       HASH_KEY etc. changed.
-       * keyboard.c (set_prop): New function.  All lvalue-style uses
-       of PROP changed.
-
-2012-08-01  Alp Aker  <alp.tekin.aker@gmail.com>
-
-       * nsterm.m (ns_set_vertical_scroll_bar, ns_redeem_scroll_bar)
-       (EmacsWindow-accessibilityAttributeValue, EmacsScroller-initFrame:)
-       (EmacsScroller-dealloc): Adjust to use WVAR.  (Bug#12114)
-       * nsfns.m (ns_set_name_as_filename): Likewise.
-       * nsmenu.m (ns_update_menubar): Likewise.
-       * nsselect.m (symbol_to_nsstring): Adjust to use SVAR.
-
-2012-08-01  Eli Zaretskii  <eliz@gnu.org>
-
-       * .gdbinit (xcar, xcdr, xlist, xwindow, nextcons, xprintsym):
-       Adapt to latest changes in field names of the corresponding Lisp
-       objects.
-
-       * xdisp.c (try_window_id): Use WVAR in IF_DEBUG code.
-
-2012-08-01  Glenn Morris  <rgm@gnu.org>
-
-       * s/msdos.h: Remove file.
-       * conf_post.h [MSDOS]: New section, moved from s/msdos.h.
-       * Makefile.in (S_FILE): Remove.
-       (config_h): Remove S_FILE.
-
-2012-08-01  Juanma Barranquero  <lekktu@gmail.com>
-
-       * s/ms-w32.h (DEVICE_SEP, IS_DIRECTORY_SEP, IS_ANY_SEP):
-       Remove; moved to nt/config.nt.
-
-2012-08-01  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Use INTERNAL_FIELD for conses and overlays.
-       * lisp.h (struct Lisp_Cons): Use INTERNAL_FIELD.
-       Remove obsolete comment.
-       (MVAR): New macro.
-       (struct Lisp_Overlay): Use INTERNAL_FIELD.
-       * alloc.c, buffer.c, buffer.h, fns.c: Adjust users.
-
-2012-08-01  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Use INTERNAL_FIELD for symbols.
-       * lisp.h (SVAR): New macro.  Adjust users.
-       * alloc.c, bytecode.c, cmds.c, data.c, doc.c, eval.c:
-       * fns.c, keyboard.c, lread.c, xterm.c: Users changed.
-
-2012-08-01  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Use INTERNAL_FIELD for processes.
-       * process.h (PVAR): New macro.  Adjust style.
-       (struct Lisp_Process): Change Lisp_Object members to INTERNAL_FIELD.
-       * print.c, process.c, sysdep.c, w32.c, xdisp.c: Users changed.
-
-2012-08-01  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Use INTERNAL_FIELD for windows.
-       * window.h (WVAR): New macro.
-       (struct window): Change Lisp_Object members to INTERNAL_FIELD.
-       * alloc.c, buffer.c, composite.c, dispextern.h, dispnew.c, editfns.c:
-       * fileio.c, font.c, fontset.c, frame.c, frame.h, fringe.c, indent.c:
-       * insdel.c, keyboard.c, keymap.c, lisp.h, minibuf.c, nsterm.m, print.c:
-       * textprop.c, w32fns.c, w32menu.c, w32term.c, window.c, xdisp.c:
-       * xfaces.c, xfns.c, xmenu.c, xterm.c: Users changed.
-
-2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * coding.h (CODING_ATTR_FLUSHING): Remove; unused and wouldn't work.
-
-2012-08-01  Glenn Morris  <rgm@gnu.org>
-
-       * lisp.h (IS_DIRECTORY_SEP, IS_DEVICE_SEP, IS_ANY_SEP):
-       Move to configure.ac.
-
-2012-08-01  Juanma Barranquero  <lekktu@gmail.com>
-
-       * makefile.w32-in (CONFIG_H): Update dependencies.
-       (CONF_POST_H): New macro.
-
-       * s/ms-w32.h (SEPCHAR, NULL_DEVICE): Remove; moved to nt/config.nt.
-
-2012-07-31  Glenn Morris  <rgm@gnu.org>
-
-       * Makefile.in (S_FILE): No longer set by configure.
-
-       * conf_post.h (config_opsysfile): Move earlier, so that WINDOWSNT
-       is available.
-       (alloca.h) [WINDOWSNT]: Don't include it on MS Windows.
-
-       * process.h (NULL_DEVICE):
-       * emacs.c (SEPCHAR):
-       * editfns.c (USER_FULL_NAME): Let configure set them.
-
-       * s/README, s/template.h: Remove files.
-
-       * conf_post.h [HPUX]: Undefine HAVE_RANDOM and HAVE_RINT.
-
-       * conf_post.h (AMPERSAND_FULL_NAME, subprocesses):
-       Move to configure.ac.
-
-2012-07-31  Eli Zaretskii  <eliz@gnu.org>
-
-       * .gdbinit (xframe): Adapt to introduction of FVAR and the
-       resulting renaming of 'struct frame' members.
-
-       * w32menu.c (w32_menu_show): Revert bogus introduction of FVAR.
-
-       * fontset.c (dump_fontset): Fix compilation with ENABLE_CHECKING
-       after introduction of FVAR.
-
-2012-07-31  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsmenu.m (update_frame_tool_bar): Change key from NSObject* to id.
-
-       * nsterm.m (ns_draw_fringe_bitmap, ns_dumpglyphs_image): Use drawInRect
-       instead of compositeToPoint.
-       (applicationShouldTerminate): Pass NS String literal to NSRunAlertPanel.
-
-       * nsfns.m, nsmenu.m, nsterm.m: Adopt to struct frame/FVAR changes.
-
-2012-07-31  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Generalize INTERNAL_FIELD between buffers, keyboards and frames.
-       * lisp.h (INTERNAL_FIELD): New macro.
-       * buffer.h (BUFFER_INTERNAL_FIELD): Remove.
-       (BVAR): Change to use INTERNAL_FIELD.
-       * keyboard.h (KBOARD_INTERNAL_FIELD): Likewise.
-       (KVAR): Change to use INTERNAL_FIELD.
-       * frame.h (FVAR): New macro.
-       (struct frame): Use INTERNAL_FIELD for all Lisp_Object fields.
-       * alloc.c, buffer.c, data.c, dispnew.c, dosfns.c, eval.c, frame.c:
-       * fringe.c, gtkutil.c, minibuf.c, nsfns.m, nsterm.m, print.c:
-       * term.c, w32fns.c, w32menu.c, w32term.c, window.c, window.h:
-       * xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c: Users changed.
-
-2012-07-31  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Miscellaneous fixes for non-default X toolkits.
-       * xfns.c (Fx_file_dialog): Change to SSDATA to avoid warnings.
-       * xterm.c (x_frame_of_widget): Remove redundant prototype.
-       Move under #ifdef USE_LUCID.
-       (x_create_toolkit_scroll_bar): Adjust scroll_bar_name
-       definition and usage to avoid warnings.
-
-2012-07-31  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsterm.m (openFiles): Fix previous checkin.
-
-2012-07-31  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * indent.c (compute_motion): Remove unused local.
-
-2012-07-31  Glenn Morris  <rgm@gnu.org>
-
-       * s/usg5-4-common.h (wait3, WRETCODE): Let configure set them.
-
-       * conf_post.h [USG5_4]:
-       Move remaining contents of s/usg5-4-common.h here.
-       * s/usg5-4-common.h: Remove file.
-
-       * conf_post.h [IRIX6_5]: Move remaining contents of s/irix6-5.h here.
-       * s/irix6-5.h: Remove file.
-
-       * conf_post.h [DARWIN_OS]: Move remaining contents of s/darwin.h here.
-       * s/darwin.h: Remove file.
-
-       * conf_post.h [HPUX]: Move random, srandom here from s/hpux10-20.h.
-       * s/hpux10-20.h: Remove file, which is now empty.
-
-2012-07-30  Glenn Morris  <rgm@gnu.org>
-
-       * conf_post.h: New, split from configure.ac's AH_BOTTOM.
-       * Makefile.in (config_h): Add conf_post.h.
-       * makefile.w32-in (CONFIG_H): Add conf_post.h.
-
-2012-07-30  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsterm.m (ns_do_open_file): New variable.
-       (ns_term_init): Set ns_do_open_file to YES after run returns.
-       (openFile, openTempFile, openFileWithoutUI, openFiles):
-       Open files only if ns_do_open_file.
-
-2012-07-30  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * lisp.h (SWITCH_ENUM_CAST): Remove.  All uses removed.
-       This no-op macro hasn't been needed for many years.
-       * src/regex.c (SWITCH_ENUM_CAST) [!emacs]: Likewise.
-
-       Export DIRECTORY_SEP, TYPEMASK, VALMASK to GDB.
-       * alloc.c (gdb_make_enums_visible) [USE_LSB_TAG]: Add lsb_bits.
-       * lisp.h (enum lsb_bits) [USE_LSB_TAG]: New enum, for
-       gdb_make_enums_visible.
-       (TYPEMASK, VALMASK) [USE_LSB_TAGS]: Now enum constants, not macros.
-       (DIRECTORY_SEP): Now a constant, not a macro.
-
-2012-07-30  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32fns.c (w32_wnd_proc): Pass w32_keyboard_codepage to
-       w32_kbd_patch_key as the 2nd arg.  (Bug#12082)
-
-       * w32term.c <w32_keyboard_codepage>: Renamed from
-       keyboard_codepage and now external.  All users changed.
-
-       * w32term.h: Add declaration of w32_keyboard_codepage.
-
-       * w32inevt.c (w32_kbd_patch_key): Accept an additional argument --
-       the codepage to translate keys to Unicode.  If this argument is
-       -1, use the value returned by GetConsoleCP.  All callers changed.
-
-2012-07-30  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Update .PHONY listings in makefiles.
-       * Makefile.in (.PHONY): Add all, mostlyclean, clean,
-       bootstrap-clean, distclean, maintainer-clean, versioclean,
-       extraclean, frc.
-
-       * lisp.h (STRING_BYTES_BOUND): Cast entire result to ptrdiff_t.
-       This is a bit clearer.  Fix some commentary typos.
-
-2012-07-30  Glenn Morris  <rgm@gnu.org>
-
-       * s/netbsd.h: Let configure include signal.h if needed.
-       Remove file, which is now empty.
-
-       * s/usg5-4-common.h (_longjmp, _setjmp, TIOCSIGSEND):
-       Let configure set them.
-       * s/irix6-5.h (_longjmp, _setjmp, TIOCSIGSEND):
-       No more need to undefine.
-
-2012-07-30  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * keymap.c (Fkey_description): Don't remove 0x80 bit from
-       non-single-byte char when adding meta modifier.  (Bug#12090)
-
-2012-07-30  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Convert safe_call to use variable number of arguments.
-       * xdisp.c (safe_call): Convert to use varargs.  Adjust users.
-       (safe_call2): Fix comment.
-       * lisp.h (safe_call): Adjust prototype.
-       * coding.c (encode_coding_object): Change to use safe_call2.
-       * xfaces.c (merge_face_heights): Change to use safe_call1.
-
-2012-07-30  Glenn Morris  <rgm@gnu.org>
-
-       * s/aix4-2.h (sigmask): No need to undefine it, since syssignal.h
-       does that unconditionally.  Remove file, which is now empty.
-
-       * s/freebsd.h, s/gnu-linux.h, s/sol2-6.h, s/unixware.h:
-       Remove empty files.
-
-2012-07-30  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Export to GDB most of lisp.h's remaining object-like macros.
-       * lisp.h (min, max): Move earlier, because they're used earlier now.
-       (INTMASK, ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK)
-       (CHAR_TABLE_STANDARD_SLOTS, CHARTAB_SIZE_BITS_0)
-       (CHARTAB_SIZE_BITS_1, CHARTAB_SIZE_BITS_2, CHARTAB_SIZE_BITS_3)
-       (DEFAULT_HASH_SIZE, COMPILED_ARGLIST, COMPILED_BYTECODE)
-       (COMPILED_CONSTANTS, COMPILED_STACK_DEPTH, COMPILED_DOC_STRING)
-       (COMPILED_INTERACTIVE, CHAR_ALT, CHAR_SUPER, CHAR_HYPER, CHAR_SHIFT)
-       (CHAR_CTL, CHAR_META, CHAR_MODIFIER_MASK, CHARACTERBITS)
-       (MANY, UNEVALLED, FLOAT_TO_STRING_BUFSIZE, MAX_ALLOCA):
-       Now constants, for GDB.  They need not be macros.
-       (MOST_POSITIVE_FIXNUM, MOST_NEGATIVE_FIXNUM, STRING_BYTES_BOUND):
-       Now constants, for GDB, as well as macros, for static initializers.
-       (CHAR_TABLE_STANDARD_SLOTS, CHAR_TABLE_EXTRA_SLOTS):
-       Move to after the definition of struct Lisp_Char_Table,
-       since the former now needs that type defined.
-       (enum CHARTAB_SIZE_BITS, enum CHAR_TABLE_STANDARD_SLOTS)
-       (enum DEFAULT_HASH_SIZE, enum Lisp_Compiled, enum char_bits)
-       (enum maxargs, enum FLOAT_TO_STRING_BUFSIZE, enum MAX_ALLOCA):
-       New enums, for gdb_make_enums_visible.
-       (GLYPH_MODE_LINE_FACE): Remove; unused.
-       * alloc.c (STRING_BYTES_MAX): Now a constant, not a macro.
-       (gdb_make_enums_visible): Add enum CHARTAB_SIZE_BITS, enum
-       CHAR_TABLE_STANDARD_SLOTS, enum char_bits, enum DEFAULT_HASH_SIZE,
-       enum FLOAT_TO_STRING_BUFSIZE, enum Lisp_Bits, enum Lisp_Compiled,
-       enum maxargs, enum MAX_ALLOCA.
-       (ARRAY_MARK_FLAG_VAL, PSEUDOVECTOR_FLAG_VAL, VALMASK_VAL): Remove.
-       (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Remove;
-       no longer needed, now that they are done in lisp.h.
-
-2012-07-30  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Cleanup string bytes checking.
-       * alloc.c (GC_STRING_BYTES, CHECK_STRING_BYTES): Remove.  Convert
-       all users to STRING_BYTES or string_bytes if GC_CHECK_STRING_BYTES.
-       (check_string_bytes): Define to empty if not GC_CHECK_STRING_BYTES.
-       (check_sblock, compact_small_strings): Simplify.
-
-2012-07-29  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * lisp.h (LISP_INT_TAG, LISP_INT1_TAG, LISP_STRING_TAG): Remove.
-       These macros are confusing and no longer need to be defined, as
-       the enum values now suffice.  All uses replaced with definiens.
-       (Lisp_Int1, Lisp_String): Define directly; this is clearer.
-
-2012-07-29  Juanma Barranquero  <lekktu@gmail.com>
-
-       * makefile.w32-in (LISP_H, $(BLD)/emacs.$(O), $(BLD)/w32inevt.$(O))
-       ($(BLD)/w32console.$(O)): Update dependencies.
-
-2012-07-29  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Remove HIDE_LISP_IMPLEMENTATION and cleanup cons free list check.
-       * lisp.h (HIDE_LISP_IMPLEMENTATION): Remove as useless for a long
-       time.  Adjust users.
-       (CHECK_CONS_LIST): Remove.  Convert all users to check_cons_list.
-
-2012-07-29  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * lread.c (init_lread): Remove if-statement in ifdef HAVE_NS before
-       setting sitelisp (Bug#12010).
-
-2012-07-29  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32heap.h (OS_9X): Rename from OS_WINDOWS_95.
-
-       * w32heap.c (cache_system_info):
-       * w32.c (sys_rename):
-       * w32proc.c (find_child_console, sys_kill): All users changed.
-
-2012-07-29  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * alloc.c (Fgarbage_collect): Indent as per usual Emacs style.
-
-2012-07-29  Eli Zaretskii  <eliz@gnu.org>
-
-       * makefile.w32-in (LISP_H): Add $(NT_INC)/stdalign.h.
-
-2012-07-29  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Cleanup statistics calculation in Fgarbage_collect.
-       * alloc.c (Fgarbage_collect): Rename t1 to meaningful start.
-       Fix zombies percentage calculation.  Simplify elapsed time calculation.
-
-2012-07-29  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Generalize marker debugging code under MARKER_DEBUG and use eassert.
-       * insdel.c (CHECK_MARKERS, check_markers_debug_flag): Remove.
-       (gap_left, gap_right, adjust_markers_for_delete, insert_1_both)
-       (insert_from_string_1, insert_from_gap, insert_from_buffer_1)
-       (replace_range, replace_range_2, del_range_2): Change to eassert.
-       * marker.c (byte_char_debug_check): Adjust style.
-
-2012-07-29  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Don't use the abbreviation "win" to refer to Windows (Bug#10421).
-       * regex.c (MAX_BUF_SIZE): Remove some incorrect and
-       long-ago-commented-out code that talks about "WIN32".
-       * w32heap.h (OS_WINDOWS_95): Rename from OS_WIN95.
-       All uses changed.
-
-2012-07-28  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Use Gnulib stdalign module (Bug#9772, Bug#9960).
-       * alloc.c (XMALLOC_BASE_ALIGNMENT, GC_POINTER_ALIGNMENT, pure_alloc):
-       Simplify by using alignof.
-       (pure_alloc) [! USE_LSB_TAG]: Don't over-align EMACS_INT values.
-       * lisp.h: Include <stdalign.h>.
-       (GCALIGNMENT): New macro and constant.
-       (DECL_ALIGN): Remove.  All uses replaced by alignas (GCALIGNMENT).
-       (USE_LSB_TAG): ifdef on alignas, not on DECL_ALIGN.
-       (stdalign): New macro, if not already defined.
-
-2012-07-28  Eli Zaretskii  <eliz@gnu.org>
-
-       Fix non-ASCII input in non-GUI frames on MS-Windows.  (Bug#12055)
-       * w32inevt.c: Include w32inevt.h.
-       (w32_read_console_input): New inline function, calls either
-       ReadConsoleInputA or ReadConsoleInputW, depending on the value of
-       w32_console_unicode_input.
-       (fill_queue): Call w32_read_console_input instead of ReadConsoleInput.
-       (w32_kbd_patch_key, key_event): Use the codepage returned by
-       GetConsoleCP, rather than the ANSI codepage returned by GetLocaleInfo.
-       (key_event): use uChar.UnicodeChar only if
-       w32_console_unicode_input is non-zero.
-
-       * w32console.c: Include w32heap.h.
-       <w32_console_unicode_input>: New global variable.
-       (initialize_w32_display): Set w32_console_unicode_input to 1 on NT
-       family of Windows, zero otherwise.
-
-       * w32inevt.h: Declare w32_console_unicode_input.
-
-       * xdisp.c (init_iterator): Don't reference tip_frame in a build
-       --without-x.  (Bug#11742)
-
-2012-07-27  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Adjust GDB to reflect pvec_type changes (Bug#12036).
-       * .gdbinit (xvectype, xpr, xbacktrace): Adjust to reflect the
-       2012-07-04 changes to pseudovector representation.
-       Problem reported by Eli Zaretskii in <http://bugs.gnu.org/12036#30>.
-
-2012-07-27  Michael Albinus  <michael.albinus@gmx.de>
-
-       * dbusbind.c (XD_DBUS_VALIDATE_BUS_ADDRESS): Canonicalize session
-       bus address.
-       (xd_close_bus, Fdbus_init_bus): Handle reference counter properly.
-
-2012-07-27  Eli Zaretskii  <eliz@gnu.org>
-
-       * alloc.c (listn): Fix the order the arguments are consed onto the
-       list.
-
-       * lisp.h (enum constype): Use CONSTYPE_HEAP and CONSTYPE_PURE for
-       enumeration constants, as PURE and HEAP are too general, and clash
-       with other headers and sources, such as gmalloc.c and the
-       MS-Windows system headers.  All users changed.
-
-2012-07-27  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Revert last save_excursion_save and save_excursion_restore changes.
-       * alloc.c, editfns.c, marker.c, lisp.h: Revert.
-       Lots of crashes reported by Chong Yidong <cyd@gnu.org>.
-
-2012-07-27  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Fix recently-introduced typos in Windows port.
-       Reported by Martin Rudalics <rudalics@gmx.at>.
-       * w32.c (init_environment): Replace comma with semicolon.
-       * w32fns.c (syms_of_w32fns): Add missing parenthesis.
-
-2012-07-27  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Improve GDB symbol export (Bug#12036).
-       * .gdbinit (xgetptr, xgetint, xgettype): Set $bugfix in different
-       arms of an 'if', not using conditional expressions; otherwise GDB
-       complains about the types in the unevaluated arm when the argument
-       is an integer literal.
-       (xgetint): Simplify expression.
-       * alloc.c (gdb_make_enums_visible): New constant.  This ports to
-       GCC 3.4.2 the export of symbols to GDB.  Problem reported by Eli
-       Zaretskii in <http://bugs.gnu.org/12036#13>.
-       * lisp.h (PUBLISH_TO_GDB): Remove.  All uses removed.  No longer
-       needed now that we have gdb_make_enums_visible.
-       (enum CHECK_LISP_OBJECT_TYPE, enum Lisp_Bits, enum More_Lisp_Bits)
-       (enum enum_USE_LSB_TAG):
-       New enum types, packaging up enums that need to be exported to GDB.
-
-2012-07-27  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Utility function to make a list from specified amount of objects.
-       * lisp.h (enum constype): New datatype.
-       (listn): New prototype.
-       * alloc.c (listn): New function.
-       (Fmemory_use_count, syms_of_alloc): Use it.
-       * buffer.c (syms_of_buffer): Likewise.
-       * callint.c (syms_of_callint): Likewise.
-       * charset.c (define_charset_internal): Likewise.
-       * coding.c (syms_of_coding): Likewise.
-       * keymap.c (syms_of_keymap): Likewise.
-       * search.c (syms_of_search): Likewise.
-       * syntax.c (syms_of_syntax): Likewise.
-       * w32.c (init_environment): Likewise.
-       * w32fns.c (Fw32_battery_status, syms_of_w32fns): Likewise.
-       * xdisp.c (syms_of_xdisp): Likewise.
-       * xfns.c (syms_of_xfns): Likewise.
-
-2012-07-27  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Fast save_excursion_save and save_excursion_restore.
-       * lisp.h (struct Lisp_Excursion): New data type.
-       (PVEC_EXCURSION): New pseudovector type.
-       (XEXCURSION, XSETEXCURSION, EXCURSIONP): Convenient macros
-       to deal with it.  Adjust comments.
-       (init_marker, attach_marker): New prototype.
-       (unchain_marker): Adjust prototype.
-       * marker.c (attach_marker): Change to global.
-       (init_marker): New function.
-       * alloc.c (Fmake_marker, build_marker): Use it.
-       (build_marker): More easserts.
-       (mark_object): Handle struct Lisp_Excursion.
-       * editfns.c (save_excursion_save, save_excursion_restore):
-       Reimplement to use struct Lisp_Excursion.  Add comments.
-
-2012-07-26  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix export of symbols to GDB (Bug#12036).
-       * alloc.c (ARRAY_MARK_FLAG_VAL, PSEUDOVECTOR_FLAG_VAL, VALMASK_VAL)
-       (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Move these here from
-       emacs.c, as this is a more-suitable home.  Had this been done earlier
-       the fix for 12036 would have avoided some of the problems noted in
-       <http://bugs.gnu.org/12036#13> by Eli Zaretskii, as the scope problems
-       would have been more obvious.
-       * emacs.c: Do not include <verify.h>; no longer needed.
-       (gdb_CHECK_LISP_OBJECT_TYPE, gdb_DATA_SEG_BITS)
-       (gdb_GCTYPEBITS, gdb_USE_LSB_TAG)
-       (CHECK_LISP_OBJECT_TYPE, DATA_SEG_BITS, GCTYPEBITS, USE_LSB_TAG):
-       Remove; now done in lisp.h.
-       * lisp.h (PUBLISH_TO_GDB): New macro.
-       (GCTYPEBITS, USE_LSB_TAG, CHECK_LISP_OBJECT_TYPE, enum pvec_type)
-       (DATA_SEG_BITS): Use it.
-       (GCTYPEBITS, USE_LSB_TAG): Now also an enum, for GDB.
-       (CHECK_LISP_OBJECT_TYPE, DATA_SEG_BITS): Now just an enum, for GDB.
-       * mem-limits.h (EXCEEDS_LISP_PTR): Redo so that DATA_SEG_BITS need
-       not be usable in #if.  This simplifies things.
-
-2012-07-26  Juanma Barranquero  <lekktu@gmail.com>
-
-       * makefile.w32-in ($(BLD)/emacs.$(O)): Update dependencies.
-
-2012-07-26  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Simplify export of symbols to GDB (Bug#12036).
-       * .gdbinit (xgetptr, xgetint, xgettype): Don't use "set $bugfix =
-       $bugfix.i", as this doesn't work (with GDB 7.4.1, anyway).
-       (xgetptr, xgetint, xgettype, xcoding, xcharset, xprintbytestr):
-       Adjust to changes in lisp.h and emacs.c, by using
-       CHECK_LISP_OBJECT_TYPE rather than gdb_use_struct, VALMASK instead
-       of $valmask, DATA_SEG_BITS instead of gdb_data_seg_bits,
-       INTTYPEBITS instead of gdb_gctypebits - 1, USE_LSB_TAG instead of
-       gdb_use_lsb, (1 << GCTYPEBITS) - 1 instead of $tagmask, VALBITS
-       instead of gdb_valbits.
-       (xvectype, xvector, xpr, xprintstr, xbacktrace): Similarly, use
-       PSEUDOVECTOR_FLAG instead of PVEC_FLAG, and ARRAY_MARK_FLAG
-       instead of gdb_array_mark_flag.
-       (xboolvector): Get size from $->size, not $->header.size.
-       Use BOOL_VECTOR_BITS_PER_CHAR rather than mystery constants.
-       (xreload, hook-run, hookpost-run): Remove.
-       * emacs.c: Include <verify.h>.
-       (gdb_use_lsb, gdb_use_struct, gdb_valbits, gdb_gctypebits)
-       (gdb_data_seg_bits, PVEC_FLAG, gdb_array_mark_flag, gdb_pvec_type):
-       Remove.
-       (gdb_CHECK_LISP_OBJECT_TYPE, gdb_DATA_SEG_BITS, gdb_GCTYPEBITS)
-       (gdb_USE_LSB_TAG): New enum constants.
-       (CHECK_LISP_OBJECT_TYPE, DATA_SEG_BITS, GCTYPEBITS, USE_LSB_TAG):
-       Also define these as enum constants, so they're visible to GDB.
-       (ARRAY_MARK_FLAG_VAL, PSEUDOVECTOR_FLAG_VAL, VALMASK_VAL): New macros.
-       (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, VALMASK): Also define these
-       as constants, so they're visible to GDB.
-       * lisp.h (VALBITS, INTTYPEBITS, FIXNUM_BITS, PSEUDOVECTOR_SIZE_BITS)
-       (PSEUDOVECTOR_SIZE_MASK, PVEC_TYPE_MASK, BOOL_VECTOR_BITS_PER_CHAR):
-       Now enum constants, not macros, so they're visible to GDB.
-       (CHECK_LISP_OBJECT_TYPE, DATA_SEG_BITS): Default to 0, as this is
-       more convenient now.  All uses changed.
-       (VALMASK) [USE_LSB_TAG]: Also define in this case.
-       * mem-limits.h (EXCEEDS_LISP_PTR): Adjust to DATA_SEG_BITS change.
-
-2012-07-26  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Explicitly free restriction data that are not needed anymore.
-       * editfns.c (save_restriction_restore): Free restriction data.
-
-2012-07-26  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * eval.c (Fautoload_do_load): Rename from do_autoload, export to Lisp,
-       add argument, tune behavior, and adjust all callers.
-
-2012-07-25  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Use typedef for EMACS_INT, EMACS_UINT.
-       * lisp.h, s/ms-w32.h (EMACS_INT, EMACS_UINT): Use typedefs rather
-       than macros.  This simplifies debugging in the usual case, since
-       it lets GDB show addresses as 'EMACS_INT *' rather than 'long int *'
-       and it allows expressions involving EMACS_INT casts.
-       * .gdbinit (xreload): Simplify by using EMACS_INT cast.
-
-2012-07-25  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsterm.m (ns_read_socket): Return early if there is a modal
-       window (Bug#12043).
-
-2012-07-25  Martin Rudalics  <rudalics@gmx.at>
-
-       * frame.c (Fredirect_frame_focus): In doc-string don't mention
-       that FOCUS-FRAME can be omitted.
-
-2012-07-25  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Adjust buffer text indirection counters at the end of Fkill_buffer.
-       * buffer.c (Fkill_buffer): Adjust indirection counters when the
-       buffer is definitely dead.  This should really fix an issue reported
-       by Christoph Scholtes again.  (Bug#12007).
-       (init_buffer_once): Initialize indirection counters of
-       buffer_defaults and buffer_local_symbols (for sanity and safety).
-
-2012-07-24  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (init_iterator): Don't compute dimensions of truncation
-       and continuation glyphs on tooltip frames, leave them at zero.
-       Avoids continued lines in tooltips.  (Bug#11832)
-
-2012-07-24  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Simplify copy_overlay.
-       * buffer.c (copy_overlay): Simplify.  Use build_marker.
-       * lisp.h (struct Lisp_Overlay): Restore comment with minor tweaks.
-
-2012-07-23  Eli Zaretskii  <eliz@gnu.org>
-
-       * print.c (print_object): Don't crash when a frame's name is nil
-       or invalid.  (Bug#12025)
-
-       * window.c (decode_any_window): Disable CHECK_LIVE_FRAME test, as
-       it signals an error when a tooltip frame is being created.
-
-2012-07-23  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Cleanup miscellaneous objects allocation and initialization.
-       * alloc.c (allocate_misc): Change to static.  Add argument to
-       specify the subtype.  Adjust comment and users.
-       (build_overlay): New function.
-       * buffer.c (copy_overlays, Fmake_overlay): Use it.
-       * lisp.h (struct Lisp_Overlay): Remove obsolete comment.
-       (allocate_misc): Remove prototype.
-       (build_overlay): Add prototype.
-
-2012-07-23  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Swap buffer text indirection counters in Fbuffer_swap_text.
-       * buffer.c (Fbuffer_swap_text): Swap indirections too.
-       This avoids crash reported by Christoph Scholtes at
-       http://lists.gnu.org/archive/html/bug-gnu-emacs/2012-07/msg00785.html.
-
-2012-07-22  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsmenu.m (Popdown_data): New struct.
-       (pop_down_menu): p->pointer is Popdown_data.  Release the pool and
-       free Popdown_data.
-       (ns_popup_dialog): Use NSAutoreleasePool and pass it to pop_down_menu.
-       (initWithContentRect): Make imgView and contentView non-static
-       and autorelease them.  Also autorelease img and matrix (Bug#12005).
-       (dealloc): Remove (Bug#12005).
-
-2012-07-22  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Adjust consing_since_gc when objects are explicitly freed.
-       * alloc.c (GC_DEFAULT_THRESHOLD): New macro.
-       (Fgarbage_collect): Use it.  Change minimum to 1/10 of default.
-       (free_cons, free_misc): Subtract object size from consing_since_gc.
-
-2012-07-22  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Simplify and cleanup markers positioning code.
-       * marker.c (attach_marker): More useful eassert.
-       (live_buffer, set_marker_internal): New function.
-       (Fset_marker, set_marker_restricted): Use set_marker_internal.
-       (set_marker_both, set_marker_restricted_both): Use live_buffer.
-
-2012-07-22  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * buffer.h (struct buffer.indirections): Now ptrdiff_t, not int,
-       as it's limited by the amount of memory, not by INT_MAX.
-
-2012-07-21  Eli Zaretskii  <eliz@gnu.org>
-
-       * keyboard.c (keys_of_keyboard): Bind language-change to 'ignore'
-       in special-event-map.  See the discussion at
-       http://lists.gnu.org/archive/html/emacs-devel/2012-06/msg00417.html
-       for the reasons.
-
-       * w32menu.c (add_menu_item): Cast to ULONG_PTR when assigning
-       info.dwItemData.  Fixes crashes on 64-bit Windows.
-       Suggested by Fabrice Popineau <fabrice.popineau@supelec.fr>.
-
-2012-07-21  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsterm.m (accessibilityAttributeValue): New function.  (Bug#11134).
-       (conversationIdentifier): Return value is NSInteger.
-       * nsterm.m (accessibilityAttributeValue): Surround with NS_IMPL_COCOA.
-
-2012-07-21  Chong Yidong  <cyd@gnu.org>
-
-       * window.c (decode_any_window): Signal an error if the window is
-       on a dead frame (Bug#11984).
-
-2012-07-20  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Add indirection counting to speed up Fkill_buffer.
-       * buffer.h (struct buffer): New member.
-       * buffer.c (Fget_buffer_create): Set indirection counter to 0.
-       (Fmake_indirect_buffer): Set indirection counter to -1, increment
-       base buffer indirection counter.
-       (compact_buffer): If ENABLE_CHECKING, verify indirection counters.
-       (Fkill_buffer): Adjust indirection counters as needed, don't walk
-       through buffer list if indirection counter is 0.
-
-2012-07-20  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Extend the value returned by Fgarbage_collect with heap statistics.
-       * alloc.c (Qheap): New symbol.
-       (syms_of_alloc): DEFSYM it.
-       (Fgarbage_collect): If DOUG_LEA_MALLOC, add mallinfo data.
-       (Fmemory_free): Remove.
-       (syms_of_alloc): Don't defsubr it.
-       * buffer.c (Fcompact_buffer): Remove.
-       (syms_of_buffer): Don't defsubr it.
-
-2012-07-20  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Make maybe_gc inline.
-       Verify that inlining is always possible (GCC 4.7.1, -O3 -Winline).
-       * lisp.h (consing_since_gc, gc_relative_threshold)
-       (memory_full_cons_threshold): Revert declaration.
-       (maybe_gc): Remove prototype, define as inline.
-       * alloc.c: Remove old commented-out code.
-       (consing_since_gc, gc_relative_threshold)
-       (memory_full_cons_threshold): Revert to global.
-       (maybe_gc): Remove.
-
-2012-07-20  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Simple wrapper for make_unibyte_string, adjust font_open_by_name.
-       * lisp.h (build_unibyte_string): New function.
-       * dosfns.c, fileio.c, fns.c, ftfont.c, process.c:
-       * sysdep.c, w32fns.c, xfns.c: Use it.
-       * font.c (font_open_by_name): Change 2nd and 3rd args to the only arg
-       of type Lisp_Object to avoid redundant calls to make_unibyte_string.
-       Adjust users accordingly.
-       * font.h (font_open_by_name): Adjust prototype.
-
-2012-07-20  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Cleanup calls to Fgarbage_collect.
-       * lisp.h (maybe_gc): New prototype.
-       (consing_since_gc, gc_relative_threshold, memory_full_cons_threshold):
-       Remove declarations.
-       * alloc.c (maybe_gc): New function.
-       (consing_since_gc, gc_relative_threshold, memory_full_cons_threshold):
-       Make them static.
-       * bytecode.c (MAYBE_GC): Use maybe_gc.
-       * eval.c (eval_sub, Ffuncall): Likewise.
-       * keyboard.c (read_char): Likewise.  Adjust call to maybe_gc
-       to avoid dependency from auto-save feature.
-
-2012-07-19  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * buffer.h (FOR_EACH_BUFFER): Rename from 'for_each_buffer'.
-       (FOR_EACH_PER_BUFFER_OBJECT_AT): Rename from
-       'for_each_per_buffer_object_at'.
-       All uses changed.  It's better to use upper-case for macros that
-       cannot be implemented as functions, to give the reader a clue
-       that they're special.
-
-2012-07-19  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * alloc.c (Fgarbage_collect): Tweak docstring.
-
-2012-07-19  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Tweak the value returned from Fgarbage_collect again.
-       * alloc.c (Fgarbage_collect): New return value, as confirmed in
-       http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00418.html.
-       Adjust documentation.
-       (total_vector_bytes): Rename to total_vector_slots, adjust
-       accounting.
-       (total_free_vector_bytes): Rename to total_free_vector_slots,
-       adjust accounting.
-       (Qstring_bytes, Qvector_slots): New symbols.
-       (syms_of_alloc): DEFSYM them.
-
-2012-07-19  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Buffer compaction primitive which may be used from Lisp.
-       * buffer.c (compact_buffer, Fcompact_buffer): New function.
-       (syms_of_buffer): Register Fcompact_buffer.
-       * alloc.c (Fgarbage_collect): Use compact_buffer.
-       * buffer.h (compact_buffer): New prototype.
-       (struct buffer_text): New member.
-
-2012-07-19  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       New macro to iterate over all buffers, miscellaneous cleanups.
-       * lisp.h (all_buffers): Remove declaration.
-       * buffer.h (all_buffers): Add declaration, with comment.
-       (for_each_buffer): New macro.
-       * alloc.c (Fgarbage_collect, mark_object): Use it.
-       * buffer.c (Fkill_buffer, Fbuffer_swap_text, Fset_buffer_multibyte)
-       (init_buffer): Likewise.
-       * data.c (Fset_default): Likewise.
-       * coding.c (code_conversion_restore): Remove redundant check
-       for dead buffer.
-       * buffer.c (Fkill_buffer): Likewise.  Remove obsolete comment.
-
-2012-07-18  Andreas Schwab  <schwab@linux-m68k.org>
-
-       Fix bug that created negative-length intervals.
-       * intervals.c (merge_interval_right, merge_interval_left):
-       Do not zero out this interval if it is absorbed by its children,
-       as this interval's total length doesn't change in that case.  See
-       <http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00403.html>.
-
-2012-07-18  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * alloc.c (Fmake_bool_vector): Fix off-by-8 bug
-       when invoking (make-bool-vector N t) and N is a positive
-       multiple of 8 -- the last 8 bits were mistakenly cleared.
-
-       Remove some struct layout assumptions in bool vectors.
-       * alloc.c (bool_header_size): New constant.
-       (header_size, word_size): Move earlier, as they're now used earlier.
-       Use 'word_size' in a few more places, where it's appropriate.
-       (Fmake_bool_vector, sweep_vectors): Don't assume that there is no
-       padding before the data member of a bool vector.
-       (sweep_vectors): Use PSEUDOVECTOR_TYPEP, in an eassert, rather
-       than doing the check by hand with an abort ().
-
-2012-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * eval.c (Fdefvar): Don't check constants since we only set the var if
-       it's not yet defined anyway (bug#11904).
-
-       * lisp.h (last_undo_boundary): Declare new var.
-       * keyboard.c (command_loop_1): Set it.
-       * cmds.c (Fself_insert_command): Use it to only remove boundaries that
-       were auto-added by the command loop (bug#11774).
-
-2012-07-18  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * w32font.c (Qsymbol): Remove local definition.
-       (syms_of_w32font): Don't DEFSYM it.
-
-2012-07-18  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Fix sweep_vectors to handle large bool vectors correctly.
-       * alloc.c (sweep_vectors): Account total_vector_bytes for
-       bool vectors larger than VBLOCK_BYTES_MAX.
-
-2012-07-18  Chong Yidong  <cyd@gnu.org>
-
-       * frame.c (x_set_frame_parameters): Revert bogus change introduced
-       in 2012-05-25 commit by Paul Eggert (Bug#11738).
-
-2012-07-18  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Return more descriptive data from Fgarbage_collect.
-       Suggested by Stefan Monnier in
-       http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00369.html.
-       * alloc.c (bounded_number): New function.
-       (total_buffers, total_vectors): New variable.
-       (total_string_size): Rename to total_string_bytes, adjust users.
-       (total_vector_size): Rename to total_vector_bytes, adjust users.
-       (sweep_vectors): Account total_vectors and total_vector_bytes.
-       (Fgarbage_collect): New return value.  Adjust documentation.
-       (gc_sweep): Account total_buffers.
-       (Fmemory_free, Fmemory_use_counts): Use bounded_number.
-       (VECTOR_SIZE): Remove.
-       * data.c (Qfloat, Qvector, Qsymbol, Qstring, Qcons): Make global.
-       (Qinterval, Qmisc): New symbols.
-       (syms_of_data): Initialize them.
-       * lisp.h (Qinterval, Qsymbol, Qstring, Qmisc, Qvector, Qfloat)
-       (Qcons, Qbuffer): New declarations.
-
-2012-07-17  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * alloc.c (Fmemory_free): Account for memory-free's own storage.
-       Round up, not down.  Improve doc.
-
-2012-07-17  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Restore old code in allocate_string_data to avoid Faset breakage.
-       Reported by Julien Danjou <julien@danjou.info> in
-       http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00371.html.
-       * alloc.c (allocate_string_data): Restore old code with minor
-       adjustments, fix comment to explain this subtle issue.
-
-2012-07-17  Eli Zaretskii  <eliz@gnu.org>
-
-       Remove FILE_SYSTEM_CASE.
-       * s/msdos.h (FILE_SYSTEM_CASE): Don't define.
-
-       * fileio.c (FILE_SYSTEM_CASE): Don't define.
-       (Ffile_name_directory, Fexpand_file_name): Don't use FILE_SYSTEM_CASE.
-       Fixes problems on MS-DOS with Vtemp_file_name_pattern when
-       call-process-region passes it through expand-file-name.
-
-       * dired.c (file_name_completion): Don't use FILE_SYSTEM_CASE.
-
-2012-07-17  Andreas Schwab  <schwab@linux-m68k.org>
-
-       Fix crash when creating indirect buffer (Bug#11917)
-       * buffer.c (buffer_lisp_local_variables): Add argument CLONE.
-       Don't handle unbound variables specially if non-zero.
-       (Fbuffer_local_variables): Pass zero.
-       (clone_per_buffer_values): Pass non-zero.
-
-2012-07-17  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * gnutls.c (emacs_gnutls_handshake): Revert last change.  Add QUIT
-       to make the loop interruptible.
-
-2012-07-17  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * gnutls.c (emacs_gnutls_handshake): Only retry if
-       GNUTLS_E_INTERRUPTED.
-
-2012-07-17  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Cleanup and convert miscellaneous checks to eassert.
-       * alloc.c (mark_interval): Fix comment, partially rephrase
-       old comment from intervals.h (see below).
-       * intervals.c (find_interval, adjust_intervals_for_insertion)
-       (delete_interval, adjust_intervals_for_deletion)
-       (graft_intervals_into_buffer, temp_set_point_both, copy_intervals):
-       Convert to eassert.
-       (adjust_intervals_for_insertion, make_new_interval):
-       Remove obsolete and unused code.
-       * intervals.h (struct interval): Remove obsolete comment.
-       * textprotp.c (erase_properties): Remove unused code.
-       (Fadd_text_properties, set_text_properties_1, Fremove_text_properties)
-       (Fremove_list_of_text_properties): Convert to eassert.
-
-2012-07-17  Chong Yidong  <cyd@gnu.org>
-
-       * editfns.c (Finsert_char): Doc fix.
-
-2012-07-17  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Fix previous change to make Fmemory_free always accurate.
-       * alloc.c (make_interval): Update total_free_intervals.
-       (make_float): Likewise for total_free_floats.
-       (free_cons, Fcons): Likewise for total_free_conses.
-       (SETUP_ON_FREE_LIST, allocate_vector_from_block):
-       Likewise for total_free_vector_bytes.
-       (Fmake_symbol): Likewise for total_free_symbols.
-       (bytes_free): Remove.
-
-2012-07-17  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Simple free memory accounting feature.
-       * alloc.c (bytes_free, total_free_vector_bytes): New variable.
-       (sweep_vectors): Accumulate size of free vectors.
-       (Fgarbage_collect): Setup bytes_free.
-       (Fmemory_free): New function.
-       (syms_of_alloc): Register it.
-
-2012-07-17  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Cleanup overlays checking.
-       * buffer.h (OVERLAY_VALID): Remove as useless synonym of OVERLAYP.
-       * buffer.c (overlay_touches_p, recenter_overlay_lists): Change to
-       eassert and OVERLAYP.
-       (sort_overlays): Change to use OVERLAYP.
-
-2012-07-16  René Kyllingstad  <Rene@Kyllingstad.com>  (tiny change)
-
-       * editfns.c (Finsert_char): Make it interactive, and make the
-       second arg optional.  Copy interactive spec and docstring from
-       ucs-insert.
-
-2012-07-17  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * floatfns.c (Fabs): Do not wrap fabs inside IN_FLOAT (Bug#11913).
-       Unlike the other wrapped functions, fabs has an unspecified
-       effect on errno.
-
-2012-07-16  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsterm.m (keyDown): Interpret flags without left/right bits
-       as the left key (Bug#11670).
-
-2012-07-16  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Remove empty and useless init functions.
-       * lisp.h (init_character_once, init_fns, init_image)
-       (init_filelock, init_sound): Remove prototype.
-       * character.c (init_character_once): Remove.
-       * filelock.c (init_filelock): Likewise.
-       * fns.c (init_fns): Likewise.
-       * image.c (init_image): Likewise.
-       * sound.c (init_sound): Likewise.
-       * emacs.c (main): Adjust accordingly.
-
-2012-07-16  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * gtkutil.h: Tiny cleanups.
-       (use_old_gtk_file_dialog): Remove useless declaration.
-       (xg_uses_old_file_dialog): Add suggested const attribute.
-
-2012-07-15  Eli Zaretskii  <eliz@gnu.org>
-
-       * bidi.c (MAX_STRONG_CHAR_SEARCH): New macro.
-       (bidi_paragraph_init): Use it to limit search forward for a strong
-       directional character in abnormally large paragraphs full of
-       neutral or weak characters.  (Bug#11943)
-
-2012-07-15  Stefano Facchini  <stefano.facchini@gmail.com>  (tiny change)
-
-       * gtkutil.c (xg_create_tool_bar): Apply "primary-toolbar" style to
-       the toolbar (Bug#9451).
-       (xg_make_tool_item): Give the widget event box a transparent
-       background.
-
-2012-07-15  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Cleanup basic allocation variables and functions.
-       * alloc.c (ignore_warnings, init_intervals, init_float)
-       (init_cons, init_symbol, init_marker): Remove.
-       (interval_block_index): Initialize to INTERVAL_BLOCK_SIZE.
-       (float_block_index): Initialize to FLOAT_BLOCK_SIZE.
-       (cons_block_index): Initialize to CONS_BLOCK_SIZE.
-       (symbol_block_size): Initialize to SYMBOL_BLOCK_SIZE.
-       (marker_block_index): Initialize to MARKER_BLOCK_SIZE.
-       (staticidx, init_alloc_once, init_strings, free_ablock):
-       Remove redundant initialization.
-       * fns.c (init_weak_hash_tables): Remove.
-       * lisp.h (init_weak_hash_tables): Remove prototype.
-
-2012-07-15  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Use zero_vector where appropriate.
-       * alloc.c (zero_vector): Define as Lisp_Object.  Adjust users
-       accordingly.
-       * lisp.h (zero_vector): New declaration.
-       * font.c (null_vector): Remove.
-       (syms_of_font): Remove initialization and staticpro.
-       (font_list_entities, font_find_for_lface): Change to use zero_vector.
-       * keymap.c (Faccessible_keymaps): Likewise.
-
-2012-07-15  Leo Liu  <sdl.web@gmail.com>
-
-       * fringe.c: Fix typo in comments.
-
-2012-07-14  Leo Liu  <sdl.web@gmail.com>
-
-       * fringe.c: Add a new bitmap exclamation-mark.
-
-2012-07-14  Eli Zaretskii  <eliz@gnu.org>
-
-       * gmalloc.c (GMALLOC_INHIBIT_VALLOC): Don't reference.
-
-       * s/msdos.h (BSD_SYSTEM, DATA_START, GC_SETJMP_WORKS, HAVE_MOUSE)
-       (HAVE_MENUS): Don't define, defined by editing config.in with
-       msdos/sed2v2.inp.
-       (GMALLOC_INHIBIT_VALLOC): Don't define.
-       (MODE_LINE_BINARY_TEXT): Remove, not used anymore.
-
-2012-07-14  Juanma Barranquero  <lekktu@gmail.com>
-
-       * s/ms-w32.h (GC_SETJMP_WORKS, GC_MARK_STACK): Set in nt/config.nt.
-
-2012-07-14  Glenn Morris  <rgm@gnu.org>
-
-       * s/aix4-2.h, s/freebsd.h, s/gnu-linux.h, s/hpux10-20.h:
-       * s/irix6-5.h, s/netbsd.h, s/sol2-6.h, s/unixware.h:
-       Let configure set GC_SETJMP_WORKS, GC_MARK_STACK.
-
-2012-07-13  Glenn Morris  <rgm@gnu.org>
-
-       * s/gnu-linux.h (GC_MARK_SECONDARY_STACK): Let configure set it.
-
-       * s/usg5-4-common.h (SETUP_SLAVE_PTY): Let configure set it.
-       * s/irix6-5.h (SETUP_SLAVE_PTY): No more need to unset it.
-
-2012-07-13  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsterm.m (uRect): Only define if NS_IMPL_GNUSTEP.
-       (x_free_frame_resources): Pass x_free_frame_resources to NSTRACE.
-       (ns_lisp_to_color, ns_string_to_lispmod, ns_term_init)
-       (ns_term_shutdown, requestService, initFrameFromEmacs): Use SSDATA
-       where appropriate.
-       (ns_exec_path, ns_load_path, changeFont): Put () around assignment used
-       as boolean expression.
-       (x_set_window_size): Remove unused variable toolbar.
-       (ns_get_color_default, ns_mod_to_lisp): Remove.
-       (ns_mouse_position): Remove unused variables xchar and ychar.
-       (ns_compute_glyph_string_overhangs): Remove unused variable face.
-       (ns_set_vertical_scroll_bar): Remove unused variable count.
-       (ns_delete_terminal): Remove unused variable i.
-       (ns_term_init): Remove unused variables r, g and b.
-       (mouseDown): Remove unused variable window.
-       (windowDidResize): Move definition of theWindow inside NS_IMPL_GNUSTEP.
-       (initFrameFromEmacs): Remove unused variable vbextra.
-       (mouseEntered): Remove unused variables p and dpyinfo.
-       (mouseExited): Remove unused variables p and r.
-       (ns_define_frame_cursor, ns_clear_frame_area)
-       (ns_draw_window_cursor, ns_initialize_display_info): Make static.
-       (menuDown): Assign [sender tag] to variable and cast the variable.
-
-       * nsterm.h (menuDown): Add id as type to argument sender.
-       (ns_display_info_for_name): Add Lisp_Object argument.
-       (ns_term_init): Add Lisp_Object argument.
-       (ns_map_event_to_object): Add void argument.
-       (ns_string_from_pasteboard, ns_string_to_pasteboard): Add correct
-       prototype with arguments and only declare if __OBJC__.
-       (nxatoms_of_nsselect): Add void argument.
-       (ns_lisp_to_cursor_type): Add Lisp_Object argument.
-       (ns_alloc_autorelease_pool): Add void argument.
-       (ns_release_autorelease_pool): Add void* argument.
-       (ns_get_defaults_value): Add const char* argument.
-
-       * nsmenu.m (ns_update_menubar, ns_menu_show, process_dialog)
-       (initFromContents): Use SSDATA where appropriate.
-       (ns_update_menubar): Add braces to ambigous if-else.
-       (initWithTitle): Put () around assignment in if statement.
-       (ns_menu_show): Remove unused variables window and keymap.
-       (update_frame_tool_bar): Remove unused variable selected_p.
-       (initWithContentRect): Remove unused variable this_cmd_name.
-
-       * nsimage.m (ns_load_image, allocInitFromFile): Use SSDATA where
-       appropriate.
-       (setXBMColor): Remove unused variable len.
-       (setPixmapData): Put () around assignment in loop statement.
-
-       * nsfont.m (ns_get_family, ns_lang_to_script, ns_otf_to_script)
-       (ns_registry_to_script, ns_get_req_script, nsfont_open): Use SSDATA
-       where appropriate.
-       (ns_get_covering_families, ns_findfonts, nsfont_list_family): Put ()
-       around assignment in loop statement.
-       (nsfont_open): Remove unused variable i.
-       (nsfont_open): Remove unused variable len.
-       (nsfont_draw): Remove unused variable cs.
-
-       * nsfns.m (x_set_icon_name, ns_set_name_internal)
-       (ns_set_name_as_filename, ns_implicitly_set_icon_type)
-       (x_set_icon_type, ns_lisp_to_cursor_type, Fns_read_file_name)
-       (Fns_get_resource, Fns_set_resource, Fx_open_connection)
-       (Fns_font_name, Fns_perform_service)
-       (Fns_convert_utf8_nfd_to_nfc, ns_do_applescript)
-       (Fns_do_applescript, Fx_show_tip): Use SSDATA where appropriate.
-       (ns_set_name): Remove unused variable view.
-       (x_set_menu_bar_lines): Remove unused variable olines.
-       (x_set_tool_bar_lines): Remove unused variable root_window.
-       (Fns_list_colors): Put () around assignment in while statement.
-       (Fns_perform_service): Remove unused variable len.
-       (Fns_display_usable_bounds): Remove unused variable top.
-       (syms_of_nsfns): Remove unused variable i.
-
-       * nsmenu.m (ns_update_menubar): Exchange place of argument 2 and 3 to
-       memcpy (Bug#11907).
-
-2012-07-13  Kalle Kankare  <kalle.kankare@iki.fi>  (tiny change)
-
-       * image.c (Fimagemagick_types): Initialize ex with GetExceptionInfo
-       and free it with DestroyExceptionInfo (Bug#11558).
-
-2012-07-13  Juanma Barranquero  <lekktu@gmail.com>
-
-       * s/ms-w32.h (FIRST_PTY_LETTER, HAVE_SOCKETS): Move to nt/config.nt.
-       (HAVE_ATTRIBUTE_ALIGNED, HAVE_C99_STRTOLD, HAVE___BUILTIN_UNWIND_INIT):
-       Set here, not in nt/config.nt.
-
-2012-07-13  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (move_it_in_display_line_to): On GUI terminals, allow
-       cursor overflow into the last glyph on display line when the right
-       fringe is off.  (Bug#11832)
-
-2012-07-13  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * xdisp.c (produce_special_glyphs): Now static.
-       * dispextern.h (produce_special_glyphs): Remove decl.
-
-2012-07-13  Glenn Morris  <rgm@gnu.org>
-
-       * s/bsd-common.h, s/cygwin.h: Remove empty files.
-       * s/freebsd.h, s/netbsd.h: Do not include bsd-common.h.
-
-       * s/usg5-4-common.h (USG, USG5):
-       * s/template.h (USG5, USG, HPUX, BSD4_2, BSD_SYSTEM):
-       * s/sol2-6.h (SOLARIS2):
-       * s/irix6-5.h (IRIX6_5):
-       * s/hpux10-20.h (USG, USG5, HPUX):
-       * s/gnu-linux.h (USG, GNU_LINUX):
-       * s/freebsd.h (BSD_SYSTEM):
-       * s/darwin.h (BSD4_2, BSD_SYSTEM, DARWIN_OS):
-       * s/cygwin.h (CYGWIN):
-       * s/bsd-common.h (BSD_SYSTEM, BSD4_2):
-       * s/aix4-2.h (USG, USG5, _AIX): Move "system type" macros to configure.
-
-2012-07-13  BT Templeton  <bpt@hcoop.net>  (tiny change)
-
-       * nsfont.m (ns_charset_covers): Don't abort if no bitmap (Bug#11853).
-
-2012-07-13  Glenn Morris  <rgm@gnu.org>
-
-       * s/usg5-4-common.h (NSIG_MINIMUM): Let configure set it.
-
-       * s/gnu-linux.h, s/irix6-5.h: Let configure set ULIMIT_BREAK_VALUE.
-
-       * process.c (init_process_emacs): Replace MIN_PTY_KERNEL_VERSION.
-       * s/darwin.h (MIN_PTY_KERNEL_VERSION): Remove single-use macro.
-
-2012-07-12  Glenn Morris  <rgm@gnu.org>
-
-       * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Move to configure.
-
-       * process.c (init_process_emacs): Rename from init_process.
-       The old name is also the name of a Mach system call.
-       * lisp.h, emacs.c: Update for this name change.
-       * nsgui.h, sysselect.h, s/darwin.h: Remove workaround that is no
-       longer needed.
-
-2012-07-12  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (insert_left_trunc_glyphs): Fix incorrect size in
-       memmove call that removes glyphs covered by the left truncation
-       glyph.  Improve commentary.
-       (display_line): Fix display of continuation glyphs on GUI frames
-       when the right fringe is turned off and variable-size fonts are
-       used in the window.  Move the code that appends a stretch glyph to
-       produce_special_glyphs, so that it could be used for truncation
-       and continuation glyphs alike.
-       (produce_special_glyphs) [HAVE_WINDOW_SYSTEM]: Produce a stretch
-       glyph of a suitably computed width, to align the special glyphs at
-       the window margin.  Code moved from display_line.  (Bug#11832)
-
-2012-07-12  Glenn Morris  <rgm@gnu.org>
-
-       * s/aix4-2.h, s/hpux10-20.h: Let configure set NO_EDITRES.
-
-       * s/gnu-linux.h, s/hpux10-20.h:
-       Do not unconditionally define HAVE_XRMSETDATABASE.
-
-       * s/gnu-linux.h (UNIX98_PTYS): Let configure set it.
-
-2012-07-12  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix typos that broke OS X build.
-       Reported by Randal L. Schwartz in
-       <http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00225.html>.
-       * nsterm.m (ns_timeout): Add missing local decl.
-       (ns_get_color): snprintf -> sprintf, to fix typo.
-
-2012-07-12  Glenn Morris  <rgm@gnu.org>
-
-       * src/s/aix4-2.h, src/s/cygwin.h, src/s/darwin.h:
-       * src/s/gnu-linux.h, src/s/hpux10-20.h, src/s/irix6-5.h:
-       * src/s/sol2-6.h, src/s/unixware.h, src/s/usg5-4-common.h:
-       Move PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF to configure.
-
-       * s/cygwin.h, s/darwin.h, s/gnu-linux.h, s/irix6-5.h:
-       Move PTY_OPEN to configure.
-
-       * s/aix4-2.h, s/bsd-common.h, s/cygwin.h, s/darwin.h:
-       * s/gnu-linux.h, s/hpux10-20.h, s/irix6-5.h, s/template.h:
-       * s/usg5-4-common.h: Move FIRST_PTY_LETTER, PTY_ITERATION to configure.
-
-2012-07-12  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Use empty_unibyte_string where applicable.
-       * keyboard.c (parse_tool_bar_item): Use empty_unibyte_string.
-       * lread.c (read1): Likewise.
-       * xsettings.c (syms_of_xsettings): Likewise.
-
-2012-07-12  Glenn Morris  <rgm@gnu.org>
-
-       * s/cygwin.h (G_SLICE_ALWAYS_MALLOC):
-       * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN):
-       * s/irix6-5.h (SETPGRP_RELEASES_CTTY, PREFER_VSUSP):
-       * s/hpux10-20.h (RUN_TIME_REMAP):
-       * s/bsd-common.h (TABDLY): Move to configure.
-
-       * s/hpux10-20.h, s/sol2-6.h: Move XOS_NEEDS_TIME_H to configure.
-
-       * s/bsd-common.h, s/darwin.h: Move TAB3 to configure.
-
-       * s/aix4-2.h (BROKEN_FIONREAD, BROKEN_SIGAIO, BROKEN_SIGPTY)
-       (BROKEN_SIGPOLL, BROKEN_GET_CURRENT_DIR_NAME): Let configure set them.
-
-       * s/darwin.h (NO_ABORT, NO_MATHERR): Let configure set them.
-
-       * s/bsd-common.h, s/cygwin.h, s/gnu-linux.h, s/irix6-5.h:
-       * s/template.h: Move NARROWPROTO to configure.
-
-2012-07-11  Glenn Morris  <rgm@gnu.org>
-
-       * s/gnu-linux.h, s/sol2-6.h: No longer define POSIX,
-       unused since 2011-01-17 change to systty.h.
-
-       * s/aix4-2.h, s/bsd-common.h, s/cygwin.h, s/darwin.h, s/gnu-linux.h:
-       * s/hpux10-20.h, s/template.h, s/usg5-4-common.h:
-       Move HAVE_PTYS and HAVE_SOCKETS to configure.
-
-2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * s/sol2-6.h (HAVE_LIBKSTAT): Remove.  (Bug#11914)
-
-2012-07-11  Glenn Morris  <rgm@gnu.org>
-
-       * s/darwin.h, s/gnu-linux.h, s/template.h:
-       Move INTERRUPT_INPUT to configure.
-
-2012-07-11  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Minor adjustments to interning code.
-       * lisp.h (intern, intern_c_string): Redefine as static inline
-       wrappers for intern_1 and intern_c_string_1, respectively.
-       (intern_1, intern_c_string_1): Rename prototypes.
-       * lread.c (intern_1, intern_c_string_1, oblookup):
-       Simplify Vobarray checking.
-       * font.c (font_intern_prop): Likewise.  Adjust comment.
-       * w32font.c (intern_font_name): Likewise.
-
-2012-07-11  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * gnutls.c (Fgnutls_boot): Properly parse :keylist argument.
-
-       * coding.c (Fdefine_coding_system_internal): Use XCAR/XCDR instead
-       of Fcar/Fcdr if possible.
-       * font.c (check_otf_features): Likewise.
-       * fontset.c (Fnew_fontset): Likewise.
-       * gnutls.c (Fgnutls_boot): Likewise.
-       * minibuf.c (read_minibuf): Likewise.
-       * msdos.c (IT_set_frame_parameters): Likewise.
-       * xmenu.c (Fx_popup_dialog): Likewise.
-       * w32menu.c (Fx_popup_dialog): Likewise.
-
-2012-07-11  Glenn Morris  <rgm@gnu.org>
-
-       * s/bsd-common.h, s/cygwin.h: No need to undefine INTERRUPT_INPUT,
-       since nothing has defined it on these platforms.
-
-       * s/aix4-2.h, s/bsd-common.h, s/cygwin.h, s/gnu-linux.h:
-       * s/irix6-5.h: Move SIGNALS_VIA_CHARACTERS to configure.
-
-       * s/aix4-2.h, s/bsd-common.h, s/cygwin.h, s/darwin.h:
-       * s/gnu-linux.h, s/hpux10-20.h, s/template.h, s/usg5-4-common.h:
-       Move CLASH_DETECTION to configure.
-
-       * s/gnu.h: Remove file, which is now empty.
-
-       * s/gnu.h, s/gnu-linux.h:
-       Move GNU_LIBRARY_PENDING_OUTPUT_COUNT to configure.
-
-2012-07-11  John Wiegley  <johnw@newartisans.com>
-
-       * alloc.c (mark_memory): Guard the "no_address_safety_analysis"
-       function attribute, so we only use it if it exists in the
-       compiler.
-
-2012-07-11  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Avoid call to strlen in fast_c_string_match_ignore_case.
-       * search.c (fast_c_string_match_ignore_case): Change to use
-       length argument.  Adjust users accordingly.
-       * lisp.h (fast_c_string_match_ignore_case): Adjust prototype.
-
-2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Assume mkdir, rmdir.
-       * sysdep.c (mkdir) [!HAVE_MKDIR]: Remove.
-       * sysdep.c (rmdir) [!HAVE_RMDIR]: Remove.
-
-       Assume rename.
-       * sysdep.c (rename) [!HAVE_RENAME]: Remove.
-
-       Assume perror.
-       * s/hpux10-20.h (HAVE_PERROR): Remove.
-       * sysdep.c (perror) [HPUX && !HAVE_PERROR]:
-       Remove dummy definition, as this problem was obsolete long ago.
-
-       Assume strerror.
-       * sysdep.c (strerror) [!HAVE_STRERROR && !WINDOWSNT]: Remove.
-
-2012-07-11  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Avoid calls to strlen in font processing functions.
-       * font.c (font_parse_name, font_parse_xlfd, font_parse_fcname)
-       (font_open_by_name): Change to use length argument.
-       Adjust users accordingly.
-       * font.h (font_open_by_name, font_parse_xlfd, font_unparse_xlfd):
-       Adjust prototypes.
-       * xfont.c (xfont_decode_coding_xlfd, font_unparse_xlfd):
-       Change to return ptrdiff_t.
-       (xfont_list_pattern, xfont_match): Use length returned by
-       xfont_decode_coding_xlfd.
-       * xfns.c (x_default_font_parameter): Omit useless xstrdup.
-
-2012-07-11  Glenn Morris  <rgm@gnu.org>
-
-       * s/darwin.h, s/freebsd.h, s/netbsd.h:
-       Move DONT_REOPEN_PTY to configure.
-
-       * sound.c (DEFAULT_SOUND_DEVICE) [!WINDOWSNT]:
-       * s/netbsd.h (DEFAULT_SOUND_DEVICE): Let configure set it.
-
-2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Remove "#define unix" that is no longer needed (Bug#11905).
-       * s/aix4-2.h (unix): Remove; no longer needed.
-
-       EMACS_TIME simplification (Bug#11875).
-       This replaces macros (which typically do not work in GDB)
-       with functions, typedefs and enums, making the code easier to debug.
-       The functional style also makes code easier to read and maintain.
-       * systime.h: Include <sys/time.h> on all hosts, not just if
-       WINDOWSNT, since 'struct timeval' is needed in general.
-       (EMACS_TIME): Now a typedef, not a macro.
-       (EMACS_TIME_RESOLUTION, LOG10_EMACS_TIME_RESOLUTION): Now constants,
-       not macros.
-       (EMACS_SECS, EMACS_NSECS, EMACS_TIME_SIGN, EMACS_TIME_VALID_P)
-       (EMACS_TIME_FROM_DOUBLE, EMACS_TIME_TO_DOUBLE, EMACS_TIME_EQ)
-       (EMACS_TIME_NE, EMACS_TIME_GT, EMACS_TIME_GE, EMACS_TIME_LT)
-       (EMACS_TIME_LE): Now functions, not macros.
-       (EMACS_SET_SECS, EMACS_SET_NSECS, EMACS_SET_SECS_NSECS)
-       (EMACS_SET_USECS, EMACS_SET_SECS_USECS): Remove these macros,
-       which are not functions.  All uses rewritten to use:
-       (make_emacs_time): New function.
-       (EMACS_SECS_ADDR, EMACS_SET_INVALID_TIME, EMACS_GET_TIME)
-       (EMACS_ADD_TIME, EMACS_SUB_TIME): Remove these macros, which are
-       not functions.  All uses rewritten to use the following, respectively:
-       (emacs_secs_addr, invalid_emacs_time, get_emacs_time)
-       (add_emacs_time, sub_emacs_time): New functions.
-       * atimer.c: Don't include <sys/time.h>, as "systime.h" does this.
-       * fileio.c (Fcopy_file):
-       * xterm.c (XTflash): Get the current time closer to when it's used.
-       * makefile.w32-in ($(BLD)/atimer.$(O)): Update dependencies.
-
-       * bytecode.c (targets): Suppress -Woverride-init warnings.
-
-       Simplify by avoiding confusing use of strncpy etc.
-       * doc.c (Fsnarf_documentation):
-       * fileio.c (Ffile_name_directory, Fsubstitute_in_file_name):
-       * frame.c (Fmake_terminal_frame):
-       * gtkutil.c (get_utf8_string):
-       * lread.c (openp):
-       * nsmenu.m (ns_update_menubar):
-       * regex.c (regerror):
-       Prefer memcpy to strncpy and strncat when either will do.
-       * fileio.c (Fsubstitute_in_file_name):
-       * keyboard.c (MULTI_LETTER_MOD, parse_modifiers_uncached)
-       (menu_separator_name_p):
-       * nsmenu.m (ns_update_menubar):
-       Prefer memcmp to strncmp when either will do.
-       * nsterm.m: Include <ftoastr.h>.
-       (ns_get_color):
-       * s/gnu-linux.h, s/sol2-6.h, s/unixware.h (PTY_TTY_NAME_SPRINTF):
-       Prefer snprintf to strncpy.
-       * nsterm.m (ns_term_init):
-       * widget.c (set_frame_size) [0]: Prefer xstrdup to xmalloc + strncpy.
-       * nsterm.m (ns_term_init):
-       Avoid the need for strncpy, by using build_string or
-       make_unibyte_string directly.  Use dtoastr, not snprintf.
-       * process.c (Fmake_network_process): Diagnose service names that
-       are too long, rather than silently truncating them or creating
-       non-null-terminated names.
-       (Fnetwork_interface_info): Likewise, for interface names.
-       * sysdep.c (system_process_attributes) [GNU_LINUX]:
-       Prefer sprintf to strncat.
-       * xdisp.c (debug_method_add) [GLYPH_DEBUG]:
-       Prefer vsnprintf to vsprintf + strncpy.
-
-2012-07-10  Glenn Morris  <rgm@gnu.org>
-
-       * dispnew.c (PENDING_OUTPUT_COUNT) [!__GNU_LIBRARY__]:
-       Clarify fallback case.
-
-2012-07-10  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Use XCAR and XCDR instead of Fcar and Fcdr where possible.
-       * callint.c, coding.c, doc.c, editfns.c, eval.c, font.c, fontset.c,
-       * frame.c, gnutls.c, minibuf.c, msdos.c, textprop.c, w32fns.c,
-       * w32menu.c, window.c, xmenu.c: Change to use XCAR and XCDR
-       where argument type is known to be a Lisp_Cons.
-
-2012-07-10  Tom Tromey  <tromey@redhat.com>
-
-       * bytecode.c (BYTE_CODE_THREADED): New macro.
-       (BYTE_CODES): New macro.  Replaces all old byte-code defines.
-       (enum byte_code_op): New type.
-       (CASE, NEXT, FIRST, CASE_DEFAULT, CASE_ABORT): New macros.
-       (exec_byte_code): Use them.  Use token threading when applicable.
-
-2012-07-10  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Optimize pure C strings initialization.
-       * lisp.h (make_pure_string): Fix prototype.
-       (build_pure_c_string): New function, defined as static inline.  This
-       provides a better opportunity to optimize away calls to strlen when
-       the function is called with compile-time constant argument.
-       * alloc.c (make_pure_c_string): Fix comment.  Change to add nchars
-       argument, adjust users accordingly.  Use build_pure_c_string where
-       appropriate.
-       * buffer.c, coding.c, data.c, dbusbind.c, fileio.c, fontset.c, frame.c,
-       * keyboard.c, keymap.c, lread.c, search.c, syntax.c, w32fns.c, xdisp.c,
-       * xfaces.c, xfns.c, xterm.c: Use build_pure_c_string where appropriate.
-
-2012-07-10  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Avoid calls to strlen in miscellaneous functions.
-       * buffer.c (init_buffer): Use precalculated len, adjust if needed.
-       * font.c (Ffont_xlfd_name): Likewise.  Change to call make_string.
-       * lread.c (openp): Likewise.
-
-2012-07-10  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Avoid calls to strlen in path processing functions.
-       * fileio.c (file_name_as_directory): Add comment.  Change to add
-       srclen argument and return the length of result.  Adjust users
-       accordingly.
-       (directory_file_name): Fix comment.  Change to add srclen argument,
-       swap 1st and 2nd arguments to obey the common convention.
-       Adjust users accordingly.
-       * filelock.c (fill_in_lock_file_name): Avoid calls to strlen.
-
-2012-07-10  Glenn Morris  <rgm@gnu.org>
-
-       * s/cygwin.h, s/darwin.h, s/freebsd.h, s/netbsd.h, s/unixware.h:
-       Move PENDING_OUTPUT_COUNT definition to configure.
-
-       * s/irix6-5.h (DATA_START, DATA_SEG_BITS):
-       * s/hpux10-20.h (DATA_SEG_BITS, DATA_START):
-       * s/gnu.h (DATA_START): Move definitions to configure.
-
-       * s/irix6-5.h (SETUP_SLAVE_PTY, PTY_NAME_SPRINTF): Drop ifdef guards.
-       We include usg5-4-common.h, which defines them both.
-
-       * s/gnu.h: Don't include fcntl.h (every file in Emacs that uses
-       O_RDONLY already includes it).
-
-       Stop ns builds setting the EMACSLOADPATH environment variable.
-       * nsterm.m (ns_load_path): Rename from ns_init_paths.
-       Now it does not set EMACSLOADPATH, just returns the load-path string.
-       * nsterm.h: Update accordingly.
-       * lread.c [HAVE_NS]: Include nsterm.h.
-       (init_lread) [HAVE_NS]: Use ns_load_path.
-       * emacs.c (main) [HAVE_NS]: No longer call ns_init_paths.
-
-2012-07-09  Glenn Morris  <rgm@gnu.org>
-
-       * s/gnu.h (SIGNALS_VIA_CHARACTERS): No need to define it here,
-       since the included bsd-common.h does so.
-
-       Stop ns builds setting the EMACSPATH environment variable.
-       * nsterm.m (ns_exec_path): New function, split from ns_init_paths.
-       (ns_init_paths): Do not set EMACSPATH.
-       * nsterm.h (ns_exec_path): Add it.
-       * callproc.c (init_callproc_1, init_callproc) [HAVE_NS]:
-       Use ns_exec_path.
-
-       * nsterm.m, nsterm.h (ns_etc_directory): Fix type, empty return.
-
-2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * process.c (wait_reading_process_output): 'waitchannels' was unset
-       when read_kbd || !NILP (wait_for_cell); fix this.
-
-       Add GCC-style 'const' attribute to functions that can use it.
-       * character.h (char_resolve_modifier_mask):
-       * keyboard.h (make_ctrl_char):
-       * lisp.h (multibyte_char_to_unibyte, multibyte_char_to_unibyte_safe)
-       (init_character_once, next_almost_prime, init_fns, init_image)
-       (flush_pending_output, init_sound):
-       * mem-limits.h (start_of_data):
-       * menu.h (finish_menu_items):
-       Add ATTRIBUTE_CONST.
-       * emacs.c (DEFINE_DUMMY_FUNCTION):
-       Declare the dummy function with ATTRIBUTE_CONST.
-       * lisp.h (Fbyteorder, Fmax_char, Fidentity):
-       Add decls with ATTRIBUTE_CONST.
-
-       Minor improvements to make_formatted_string.
-       * alloc.c (make_formatted_string): Prefer int to ptrdiff_t
-       where int is good enough, as vsprintf returns an int.
-       * lisp.h (make_formatted_string): Add ATTRIBUTE_FORMAT_PRINTF.
-
-2012-07-09  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Use make_formatted_string to avoid double length calculation.
-       * lisp.h (make_formatted_string): New prototype.
-       * alloc.c (make_formatted_string): New function.
-       * buffer.c (Fgenerate_new_buffer_name): Use it.
-       * dbusbind.c (syms_of_dbusbind): Likewise.
-       * editfns.c (Fcurrent_time_zone): Likewise.
-       * filelock.c (get_boot_time): Likewise.
-       * frame.c (make_terminal_frame, set_term_frame_name)
-       (x_report_frame_params): Likewise.
-       * image.c (gs_load): Likewise.
-       * minibuf.c (get_minibuffer): Likewise.
-       * msdos.c (dos_set_window_size): Likewise.
-       * process.c (make_process): Likewise.
-       * xdisp.c (ensure_echo_area_buffers): Likewise.
-       * xsettings.c (apply_xft_settings): Likewise.
-
-2012-07-09  Glenn Morris  <rgm@gnu.org>
-
-       Stop ns builds polluting the environment with EMACSDATA, EMACSDOC.
-       * nsterm.m (ns_etc_directory): New function, split from ns_init_paths.
-       (ns_init_paths): Do not set EMACSDATA, EMACSDOC.
-       * nsterm.h (ns_etc_directory): Add it.
-       * callproc.c [HAVE_NS]: Include nsterm.h.
-       (init_callproc_1, init_callproc) [HAVE_NS]: Use ns_etc_directory.
-
-2012-07-09  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Move marker debugging code under MARKER_DEBUG.
-       * marker.c (MARKER_DEBUG): Move marker debugging code under
-       #ifdef MARKER_DEBUG because byte_char_debug_check is too slow
-       for bootstrap with --enable-checking (~3x slowdown reported
-       by Juanma Barranquero <lekktu@gmail.com>).
-       (verify_bytepos): Move under #ifdef MARKER_DEBUG.
-
-2012-07-08  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * systime.h (EMACS_SUB_TIME): Clarify behavior with unsigned time_t.
-       See <http://bugs.gnu.org/11825#29>.
-
-2012-07-08  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (fill_glyphless_glyph_string): If the face of the glyph
-       has no font, use the frame's font.  (Bug#11813)
-       (display_line): Add commentary about displaying truncation glyphs
-       on GUI frames.
-       (produce_special_glyphs): Move here from term.c.
-
-       * term.c (produce_special_glyphs): Move to xdisp.c.
-
-       * dispextern.h (produce_special_glyphs): Move prototype to xdisp.c
-       section.
-
-2012-07-07  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * xdisp.c (display_line): Avoid warning about implicit declaration
-       of FRAME_FONT.
-
-       * frame.c (get_frame_param): Define only if HAVE_WINDOW_SYSTEM.
-
-       * lisp.h: Remove empty conditional.
-
-2012-07-07  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * lread.c (load_path_check): Now static.
-
-       Fix some minor --with-ns problems found by static checking.
-       * frame.c (Ftool_bar_pixel_width) [!FRAME_TOOLBAR_WIDTH]:
-       (x_set_font) [!HAVE_X_WINDOWS]:
-       * image.c (xpm_load_image) [HAVE_NS]:
-       (x_to_xcolors) [!HAVE_X_WINDOWS && !HAVE_NTGUI]:
-       (x_disable_image) [!HAVE_NS && !HAVE_NTGUI]:
-       Remove unused local.
-       (Fx_parse_geometry) [HAVE_NS]: Don't return garbage.
-       (xpm_load_image) [HAVE_NS && !HAVE_XPM]: Remove unused label.
-       * image.c (x_create_bitmap_from_file) [HAVE_NS]:
-       (xpm_load_image, xpm_load) [HAVE_NS && !HAVE_XPM]:
-       * nsselect.m (symbol_to_nsstring, ns_string_to_pasteboard_internal):
-       * xfaces.c (Fx_load_color_file) [!HAVE_X_WINDOWS]:
-       Fix pointer signedness problem.
-       * xfaces.c (FRAME_X_FONT_TABLE):
-       * xterm.h (FRAME_X_FONT_TABLE): Remove unused, incompatible macros.
-
-2012-07-07  Glenn Morris  <rgm@gnu.org>
-
-       * lread.c (load_path_check): New function, split from init_lread.
-       (init_lread): Reorganize.  Motivation:
-       If EMACSLOADPATH is set, check/warn about that rather than the
-       defaults, which we are not going to use.  Hence we can remove
-       the turn_off_warning and WINDOWSNT || HAVE_NS tests.
-       Don't warn if site-lisp directories are missing.
-       If not installed, start from a blank load-path, since
-       PATH_LOADSEARCH refers to the eventual installation directories.
-
-2012-07-07  Eli Zaretskii  <eliz@gnu.org>
-
-       Support truncation and continuation glyphs on GUI frames, when
-       fringes are disabled.  (Bug#11832)
-       * xdisp.c (init_iterator): Get dimensions of truncation and
-       continuation glyphs even if on GUI frames.
-       Adjust it->last_visible_x on GUI frames when the left or right fringes,
-       or both, are absent.
-       (start_display, move_it_in_display_line_to): Handle the case of a
-       GUI frame without a fringe to display continuation or truncation
-       glyphs.
-       (insert_left_trunc_glyphs): Support GUI frames: make sure
-       truncation glyphs overwrite enough glyphs from the current line to
-       have sufficient space in pixels.
-       (display_line): Support truncation and continuation glyphs on GUI
-       frames.  If some spare pixels are left on the line after inserting
-       the truncation glyphs, fill that space with a stretch glyph of a
-       suitably computed width.
-
-       * term.c (produce_special_glyphs): Call PRODUCE_GLYPHS, not
-       produce_glyphs, to support GUI sessions.
-
-2012-07-07  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * sysdep.c (ULLONG_MAX): Define if not already defined (Bug#11781).
-
-       * sysdep.c (list_system_processes): Port to NetBSD-current (Bug#11797).
-
-       Do not require float-time's arg to fit in time_t (Bug#11825).
-       This works better on hosts where time_t is unsigned, and where
-       float-time is applied to the (negative) difference between two times.
-       * editfns.c (decode_time_components): Last arg is now double *,
-       not int *, and means to store all the result as a double, without
-       worrying about whether the seconds part fits in time_t.
-       All callers changed.
-       (lisp_time_argument): Remove last int * arg, as it's no longer needed.
-       All callers changed.
-       (Ffloat_time): Do not fail merely because the specified time falls
-       outside of time_t range.
-
-2012-07-07  Glenn Morris  <rgm@gnu.org>
-
-       * s/darwin.h (HAVE_RES_INIT, HAVE_LIBRESOLV):
-       * s/hpux10-20.h (HAVE_RINT, HAVE_RANDOM):
-       * s/unixware.h (HAVE_GETWD): Move undefs to configure (effectively).
-
-2012-07-07  Juanma Barranquero  <lekktu@gmail.com>
-
-       * makefile.w32-in (DISPEXTERN_H, $(BLD)/regex.$(O)):
-       Update dependencies.
-
-       * s/ms-w32.h [_MSC_VER]: Remove strcasecmp, strncasecmp.
-
-2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Use c_strcasecmp for ASCII case-insensitive comparison (Bug#11786).
-       * dispextern.h, nsfns.m, nsterm.m: Include <c-strcase.h>.
-       * dispextern.h (xstrcasecmp): Rewrite using c_strcasecmp.
-       * nsfns.m (x_get_string_resource): Use c_strncasecmp, not strncasecmp.
-       * nsterm.m (ns_default): Use c_strcasecmp, not strcasecmp.
-       * xfaces.c (xstrcasecmp) [!HAVE_STRCASECMP]: Remove.
-
-       * xfont.c (compare_font_names): Redo to omit the need for casts.
-
-2012-07-06  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * xfns.c (Fx_change_window_property): Doc fix.
-       * w32fns.c (Fx_change_window_property): Doc fix.
-
-       * w32fns.c (Fx_window_property): Accept the same arguments as the
-       X Windows version.  Doc fix.
-       * xfns.c (Fx_window_property): Doc fix.  (Bug#11870)
-
-2012-07-06  Juanma Barranquero  <lekktu@gmail.com>
-           Eli Zaretskii  <eliz@gnu.org>
-
-       * s/ms-w32.h: Settings not specific to Windows moved to nt/config.nt.
-       Windows-specific code from nt/config.nt moved here.
-       Obsolete settings removed.
-
-2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * process.c: Avoid unnecessary calls to gettime.
-       (wait_reading_process_output): Don't get the time of day
-       when gobbling data immediately and not waiting, as there's no need
-       for it in that case.  This removes a FIXME.
-
-2012-07-06  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * gtkutil.c (xg_event_is_for_scrollbar): Assign gwin when HAVE_GTK3
-       is defined (Bug#11768).
-
-2012-07-06  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Fix marker debugging code.
-       * marker.c (byte_char_debug_check): Do not perform the check
-       if buffer is not multibyte.
-       (buf_charpos_to_bytepos, buf_bytepos_to_charpos):
-       Call byte_char_debug_check with correct arguments.
-
-2012-07-06  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Compile marker debugging code only if ENABLE_CHECKING is defined.
-       * marker.c (byte_char_debug_check, count_markers):
-       Use only if ENABLE_CHECKING is defined.
-       (byte_debug_flag): Remove.
-       (CONSIDER, buf_charpos_to_bytepos, buf_bytepos_to_charpos):
-       Always call byte_char_debug_check if ENABLE_CHECKING is defined.
-
-2012-07-06  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Avoid code repetition in marker-related functions.
-       * marker.c (attach_marker): New function.
-       (Fset_marker, set_marker_restricted, set_marker_both)
-       (set_marker_restricted_both): Use it.
-       (Fset_marker, set_marker_restricted, Fbuffer_has_markers_at):
-       Consistently rename charno to charpos.
-       (marker_position): Add eassert.
-       (marker_byte_position): Convert to eassert.
-
-2012-07-06  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Simplify list operations in unchain_overlay and unchain_marker.
-       * buffer.c (unchain_overlay): Simplify.  Add comment.
-       * marker.c (unchain_marker): Simplify.  Fix comments.
-
-2012-07-06  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Introduce fast path for the widely used marker operation.
-       * alloc.c (build_marker): New function.
-       * lisp.h (build_marker): New prototype.
-       * buffer.c (clone_per_buffer_values, Fmake_indirect_buffer): Use it.
-       * composite.c (autocmp_chars): Likewise.
-       * editfns.c (buildmark): Remove.
-       (Fpoint_marker, Fpoint_min_marker, Fpoint_max_marker)
-       (save_restriction_save): Use build_marker.
-       * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos): Likewise.
-       * window.c (save_window_save): Likewise.
-
-2012-07-06  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Do not use Fdelete_overlay in delete_all_overlays
-       to avoid redundant calls to unchain_overlay.
-       * buffer.c (drop_overlay): New function.
-       (delete_all_overlays, Fdelete_overlay): Use it.
-       * minibuf.c (get_minibuffer): Fix comment.
-
-2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Port to OpenBSD 5.1 amd64.
-       * sysdep.c [BSD_SYSTEM]: Include <sys/param.h> before <sys/sysctl.h>.
-       This is needed for OpenBSD, and should be harmless on all BSD systems.
-       Also, include <sys/sysctl.h>, as it should be available on all
-       BSD_SYSTEM hosts given that we're already calling sysctl in that case.
-       (list_system_processes) [__OpenBSD__]: Use DARWIN_OS style mib, but
-       use p_pid member, not kp_proc.pid.
-
-2012-07-06  Glenn Morris  <rgm@gnu.org>
-
-       * Makefile.in (emacs$(EXEEXT)): Don't check for load-path shadows.
-
-2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
-
-       More xmalloc and related cleanup.
-       * alloc.c, bidi.c, buffer.c, buffer.h, bytecode.c, callint.c:
-       * callproc.c, charset.c, coding.c, composite.c, data.c, dispnew.c:
-       * doc.c, editfns.c, emacs.c, eval.c, fileio.c, filelock.c, fns.c:
-       * font.c, fontset.c, frame.c, fringe.c, ftfont.c, ftxfont.c, gmalloc.c:
-       * gtkutil.c, image.c, keyboard.c, keymap.c, lread.c, macros.c, menu.c:
-       * nsfns.m, nsfont.m, nsmenu.m, nsterm.m, print.c, process.c, ralloc.c:
-       * regex.c, region-cache.c, scroll.c, search.c, sound.c, syntax.c:
-       * sysdep.c, term.c, termcap.c, unexmacosx.c, window.c, xdisp.c:
-       * xfaces.c, xfns.c, xftfont.c, xgselect.c, xmenu.c, xrdb.c, xselect.c:
-       * xterm.c:
-       Omit needless casts involving void * pointers and allocation.
-       Prefer "P = xmalloc (sizeof *P)" to "P = xmalloc (sizeof (TYPE_OF_P))",
-       as the former is more robust if P's type is changed.
-       Prefer xzalloc to xmalloc + memset 0.
-       Simplify malloc-or-realloc to realloc.
-       Don't worry about xmalloc returning a null pointer.
-       Prefer xstrdup to xmalloc + strcpy.
-       * editfns.c (Fmessage_box): Grow message_text by at least 80 when
-       growing it.
-       * keyboard.c (apply_modifiers_uncached): Prefer local array to
-       alloca of a constant.
-
-2012-07-05  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (display_line): Fix horizontal pixel coordinates when
-       hscroll is larger than the line width.  Fixes long and futile
-       looping inside extend_face_to_end_of_line (on a TTY) producing
-       glyphs that are not needed and thrown away.
-
-2012-07-05  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * marker.c (set_marker_restricted_both): Simplify by using
-       clip_to_bounds.
-
-2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * editfns.c (region_limit): Simplify by using clip_to_bounds.
-
-2012-07-05  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * gtkutil.c (gtk_scrollbar_new, gtk_box_new): Define when HAVE_GTK3 is
-       not defined (Bug#11768).
-       (xg_create_frame_widgets): Use gtk_plug_new_for_display (Bug#11768).
-       (xg_create_frame_widgets, create_dialog, xg_get_file_with_chooser)
-       (make_widget_for_menu_item, xg_make_tool_item): Use gtk_box_new
-       followed by gtk_box_set_homogeneous (Bug#11768).
-       (xg_update_menu_item): Use GTK_IS_BOX (Bug#11768).
-       (update_theme_scrollbar_width, xg_create_scroll_bar):
-       Use gtk_scrollbar_new (Bug#11768).
-       (xg_event_is_for_scrollbar): Use Gdk Device functions for HAVE_GTK3.
-       (is_box_type): New function (Bug#11768).
-       (xg_tool_item_stale_p): Call is_box_type.
-       (xg_initialize): Get settings by calling gtk_settings_get_for_screen
-       with default display (Bug#11768).
-
-2012-07-05  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (window_hscroll_limited): New function.
-       (pos_visible_p, init_iterator): Use it to avoid overflow of pixel
-       coordinates when window's hscroll is set to insanely large
-       values.  (Bug#11857)
-
-2012-07-05  Juanma Barranquero  <lekktu@gmail.com>
-
-       * makefile.w32-in ($(BLD)/dired.$(O), $(BLD)/fileio.$(O)): Fix typo.
-       ($(BLD)/terminal.$(O), $(BLD)/syntax.$(O)): Update dependencies.
-
-2012-07-05  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Cleanup xmalloc.
-       * lisp.h (xzalloc): New prototype.  Omit needless casts.
-       * alloc.c (xzalloc): New function.  Omit needless casts.
-       * charset.c: Omit needless casts.  Convert all calls to
-       xmalloc with following memset to xzalloc.
-       * dispnew.c: Likewise.
-       * fringe.c: Likewise.
-       * image.c: Likewise.
-       * sound.c: Likewise.
-       * term.c: Likewise.
-       * w32fns.c: Likewise.
-       * w32font.c: Likewise.
-       * w32term.c: Likewise.
-       * xfaces.c: Likewise.
-       * xfns.c: Likewise.
-       * xterm.c: Likewise.
-       * atimer.c: Omit needless casts.
-       * buffer.c: Likewise.
-       * callproc.c: Likewise.
-       * ccl.c: Likewise.
-       * coding.c: Likewise.
-       * composite.c: Likewise.
-       * doc.c: Likewise.
-       * doprnt.c: Likewise.
-       * editfns.c: Likewise.
-       * emacs.c: Likewise.
-       * eval.c: Likewise.
-       * filelock.c: Likewise.
-       * fns.c: Likewise.
-       * gtkutil.c: Likewise.
-       * keyboard.c: Likewise.
-       * lisp.h: Likewise.
-       * lread.c: Likewise.
-       * minibuf.c: Likewise.
-       * msdos.c: Likewise.
-       * print.c: Likewise.
-       * process.c: Likewise.
-       * region-cache.c: Likewise.
-       * search.c: Likewise.
-       * sysdep.c: Likewise.
-       * termcap.c: Likewise.
-       * terminal.c: Likewise.
-       * tparam.c: Likewise.
-       * w16select.c: Likewise.
-       * w32.c: Likewise.
-       * w32reg.c: Likewise.
-       * w32select.c: Likewise.
-       * w32uniscribe.c: Likewise.
-       * widget.c: Likewise.
-       * xdisp.c: Likewise.
-       * xmenu.c: Likewise.
-       * xrdb.c: Likewise.
-       * xselect.c: Likewise.
-
-2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * fileio.c (time_error_value): Check the right error number.
-       Problem reported by Troels Nielsen in
-       <http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00095.html>.
-
-2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * window.c (set_window_hscroll): Revert the 100000 hscroll limit.
-       This should be fixed in a better way; see Eli Zaretskii in
-       <http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00088.html>.
-       (HSCROLL_MAX): Remove; this is now internal to set_window_hscroll.
-
-       * fileio.c (time_error_value): Rename from special_mtime.
-       The old name's problems were noted by Eli Zaretskii in
-       <http://lists.gnu.org/archive/html/emacs-devel/2012-07/msg00087.html>.
-
-       * emacs.c (gdb_pvec_type): Change it back to enum pvec_type.
-       This variable's comment says Emacs needs at least one GDB-visible
-       symbol of type enum pvec_type, to work around GDB problems.
-       The symbol's value doesn't matter.
-
-       * alloc.c (PSEUDOVECTOR_NBYTES): Remove stray ';'
-       that causes compilation to fail on pre-C99 compilers.
-
-2012-07-04  Juanma Barranquero  <lekktu@gmail.com>
-
-       * s/ms-w32.h (LISP_FLOAT_TYPE, HAVE_MEMCMP, HAVE_MEMCPY)
-       (HAVE_MEMMOVE, HAVE_MEMSET): Don't set, obsolete.
-
-2012-07-04  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * buffer.c (init_buffer_once): Fix initialization of
-       headers for buffer_defaults and buffer_local_symbols.
-       Reported by Juanma Barranquero <lekktu@gmail.com>.
-
-2012-07-04  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       Turn VECTOR_FREE_LIST_FLAG into PVEC_FREE.
-       * lisp.h (enum pvec_type): Use fewer bits.
-       (PSEUDOVECTOR_SIZE_BITS): New constant.
-       (PSEUDOVECTOR_SIZE_MASK, PVEC_TYPE_MASK): Use it.
-       (XSETPVECTYPESIZE, XSETTYPED_PSEUDOVECTOR, DEFUN): Adapt code to
-       change in pvec_type.
-       (PSEUDOVECTOR_TYPEP): New macro.
-       (TYPED_PSEUDOVECTORP): Use it.
-       * fns.c (internal_equal): Adapt code to extract pvectype.
-       * emacs.c (gdb_pvec_type): Update type.
-       * alloc.c (PSEUDOVECTOR_NBYTES): New macro.
-       (VECTOR_FREE_LIST_SIZE_MASK): Remove (=> PSEUDOVECTOR_SIZE_MASK).
-       (VECTOR_FREE_LIST_FLAG): Remove (=> PVEC_FREE).
-       (SETUP_ON_FREE_LIST): Use XSETPVECTYPESIZE.
-       (sweep_vectors): Use it.  Use local var `total_bytes' instead of
-       abusing vector->header.next.nbytes.
-       (live_vector_p): Use PVEC_TYPE.
-       (mark_object): Adapt code to extract pvectype.  Use switch.
-
-2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * doprnt.c (doprnt): Don't assume string length fits in 'int'.
-       Tighten new eassert a bit.
-
-2012-07-04  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Fix compilation with --enable-gcc-warnings and -O1
-       optimization level.
-       * doprnt.c (doprnt): Change type of tem to int, initialize
-       to avoid compiler warning.  Add eassert.
-       * search.c (simple_search): Initialize match_byte to avoid
-       compiler warning.  Add eassert.
-
-2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Avoid weird behavior with large horizontal scrolls.
-       Without this change, for example, large hscroll values would
-       mess up Emacs's display on Fedora 15 x86, presumably due to
-       overflows in int calculations in the display code.
-       Also, if buffers had long lines, Emacs would freeze.
-       * window.c (HSCROLL_MAX): Reduce to 100000, and make it visible to GDB.
-       (set_window_hscroll): New function, containing the old guts of
-       Fset_window_hscroll.  Return the clipped value.
-       (Fset_window_hscroll, Fscroll_left, Fscroll_right): Use it.
-       This avoids the need to check against PTRDIFF_MAX.
-
-       * buffer.c (Fgenerate_new_buffer_name): Fix sprintf format mismatch.
-
-2012-07-04  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * buffer.c (Fgenerate_new_buffer_name): Fix type mismatch.
-
-2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * regex.c: Suppress GCC warning on RHEL 6.  (Bug#11207)
-       Conditionalize the pragmas on GCC 4.5 or later, not GCC 4.3 or later,
-       since GCC 4.4.6 issues a bogus warning for them.
-
-       Fix bugs in file timestamp newness comparisons.
-       * fileio.c (Ffile_newer_than_file_p):
-       * lread.c (Fload): Use full timestamp resolution of files,
-       not just the 1-second resolution, so that files that are only
-       slightly newer still count as newer.
-       * fileio.c (Ffile_newer_than_file_p): Don't assume file
-       timestamps fit in 'int'; this fixes a Y2038 bug on most hosts.
-
-2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * fileio.c: Improve handling of file time marker.  (Bug#11852)
-       (special_mtime): New function.
-       (Finsert_file_contents, Fverify_visited_file_modtime):
-       Use it to set special mtime values consistently.
-
-2012-07-03  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * fileio.c (Finsert_file_contents): Properly handle st_mtime
-       marker for non-existing file.  (Bug#11852)
-
-2012-07-03  Glenn Morris  <rgm@gnu.org>
-
-       * lisp.h (Fread_file_name): Restore EXFUN (it's not a normal DEFUN
-       and did not make it into globals.h).
-
-2012-07-03  Tom Tromey  <tromey@redhat.com>
-
-       * window.c (Fset_window_margins, Fset_window_fringes)
-       (Fset_window_scroll_bars, Fset_window_vscroll): No longer static.
-       * textprop.c (Fprevious_property_change): No longer static.
-       * syntax.c (Fsyntax_table_p): No longer static.
-       * process.c (Fget_process, Fprocess_datagram_address): No longer
-       static.
-       * keymap.c (Flookup_key, Fcopy_keymap): No longer static.
-       * keyboard.c (Fcommand_execute): No longer static.
-       Remove EXFUN.
-       * insdel.c (Fcombine_after_change_execute): No longer static.
-       * image.c (Finit_image_library): No longer static.
-       * fileio.c (Fmake_symbolic_link): No longer static.
-       * eval.c (Ffetch_bytecode): No longer static.
-       * editfns.c (Fuser_full_name): No longer static.
-       * doc.c (Fdocumentation_property, Fsnarf_documentation):
-       No longer static.
-       * buffer.c (Fset_buffer_major_mode, Fdelete_overlay): No longer
-       static.
-       * dired.c (Ffile_attributes): No longer static.
-       * composite.c (Fcomposition_get_gstring): No longer static.
-       * callproc.c (Fgetenv_internal): No longer static.
-
-       * ccl.h: Remove EXFUNs.
-       * buffer.h: Remove EXFUNs.
-       * dispextern.h: Remove EXFUNs.
-       * intervals.h: Remove EXFUNs.
-       * fontset.h: Remove EXFUN.
-       * font.h: Remove EXFUNs.
-       * dosfns.c (system_process_attributes): Remove EXFUN.
-       * keymap.h: Remove EXFUNs.
-       * lisp.h: Remove EXFUNs.
-       * w32term.h: Remove EXFUNs.
-       * window.h: Remove EXFUNs.
-       * xsettings.h: Remove EXFUN.
-       * xterm.h: Remove EXFUN.
-
-2012-07-03  Glenn Morris  <rgm@gnu.org>
-
-       * lisp.h (Frandom): Make it visible to C.
-       * buffer.c (Fgenerate_new_buffer_name): Speed up finding a new
-       buffer for invisible buffers.  (Bug#1229)
-
-2012-07-03  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Fix block vector allocation code to allow VECTOR_BLOCK_SIZE
-       values which aren't power of 2.
-       * alloc.c (VECTOR_FREE_LIST_SIZE_MASK): New macro.
-       Verify its value and the value of VECTOR_BLOCK_SIZE.  Adjust users
-       accordingly.
-
-2012-07-03  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * lisp.h (Lisp_Misc, Lisp_Fwd): Move around to group better.
-
-       * alloc.c (mark_object): Revert part of last patch to use `switch'.
-
-2012-07-03  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * alloc.c (allocate_vector_block): Remove redundant
-       calls to mallopt if DOUG_LEA_MALLOC is defined.
-       (allocate_vectorlike): If DOUG_LEA_MALLOC is defined,
-       avoid calls to mallopt if zero_vector is returned.
-
-2012-07-03  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * alloc.c (check_string_bytes): If GC_CHECK_STRING_BYTES
-       is enabled, avoid dereferencing NULL current_sblock if
-       running undumped.
-
-2012-07-03  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Cleanup basic buffer management.
-       * buffer.h (struct buffer): Change layout to use generic vector
-       marking code.  Fix some comments.  Change type of 'clip_changed'
-       to bitfield.  Remove unused #ifndef old.
-       (FIRST_FIELD_PER_BUFFER, LAST_FIELD_PER_BUFFER): Remove.
-       (GET_OVERLAYS_AT): Fix indentation.
-       (for_each_per_buffer_object_at): New macro.
-       * buffer.c (clone_per_buffer_values, reset_buffer_local_variables)
-       (Fbuffer_local_variables): Use it.
-       (init_buffer_once, syms_of_buffer): Remove unused #ifndef old.
-       * alloc.c (allocate_buffer): Adjust to match new layout of
-       struct buffer.  Fix comment.
-       (mark_overlay): New function.
-       (mark_buffer): Use it.  Use mark_vectorlike to mark normal
-       Lisp area of struct buffer.
-       (mark_object): Use it.  Adjust marking of misc objects
-       and related comments.
-
-2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * alloc.c (mark_object): Remove "#ifdef GC_CHECK_MARKED_OBJECTS"
-       wrapper that is not needed because the wrapped code is a no-op (zero
-       machine instructions) when GC_CHECK_MARKED_OBJECTS is not defined.
-       This avoids a -Wunused-macros diagnostic with GCC 4.7.1 x86-64.
-
-2012-07-02  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * alloc.c (mark_buffer): Simplify.  Remove prototype.
-       (mark_object): Add comment.  Reorganize marking of vector-like
-       objects.  Use CHECK_LIVE for all vector-like objects except buffers
-       and subroutines when GC_CHECK_MARKED_OBJECTS is defined.
-       Avoid redundant calls to mark_vectorlike for bool vectors.
-
-2012-06-30  Glenn Morris  <rgm@gnu.org>
-
-       * nsterm.m (ns_init_paths): Ignore site-lisp if --no-site-lisp.
-
-       * epaths.in (PATH_SITELOADSEARCH): New.
-       * lread.c (init_lread): Use PATH_SITELOADSEARCH.
-       This is rather than relying on --enable-locallisppath elements
-       having "site-lisp" in their names.  (Bug#10208#25, 11658)
-
-2012-06-30  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32proc.c (sys_select): Accept and ignore one more argument.
-
-       * w32.c (emacs_gnutls_pull): Call select with one more argument.
-
-       * sysselect.h [DOS_NT]: Don't include sys/select.h.
-       (pselect) [!MS_DOS]: Redirect to sys_select.
-
-       * sysdep.c: Don't include dos.h and dosfns.h.
-
-       * process.c (sys_select):
-       * msdos.c (sys_select): Accept one more argument and ignore it.
-
-       * msdos.c (event_timestamp, sys_select): Use gnulib's gettime;
-       adapt data types and code to that.
-
-       * dosfns.c:
-       * msdos.c (gettime, settime): Define away the prototypes in dos.h,
-       which clashes with the gnulib function of the same name.
-
-2012-06-30  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * font.c (font_style_to_value, font_style_symbolic)
-       (font_prop_validate_style): Add type checks for values in
-       font_style_table.
-
-       * lisp.h (CHECK_RANGED_INTEGER): Make value to check the first
-       argument.
-       * character.c, charset.c, menu.c, process.c, window.c: Adjust all
-       uses.
-
-2012-06-29  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (try_window_id): Undo last change.
-
-       * w32.c (getwd): Adjust commentary about startup_dir.
-       (init_environment): Always call sys_access, even in non-MSVC
-       builds.  Don't chdir to the directory of the Emacs executable.
-       This undoes code from 1997 which was justified by the need to
-       "avoid conflicts when removing and renaming directories".  But its
-       downside was that every relative file name was being interpreted
-       relative to the directory of the Emacs executable, which can never
-       be TRT.  In particular, it broke sys_access when called with
-       relative file names.
-       (sys_access): Map GetLastError to errno.
-
-2012-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * window.h (struct window): Change type of 'fringes_outside_margins'
-       to bitfield.  Fix comment.  Adjust users accordingly.
-       (struct window): Change type of 'window_end_bytepos' to ptrdiff_t.
-       Adjust comment.
-       * xdisp.c (try_window_id): Change type of 'first_vpos' and 'vpos'
-       to ptrdiff_t.
-
-2012-06-29  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * gnutls.c (emacs_gnutls_handshake):
-       Add QUIT to make the loop interruptible.
-
-2012-06-29  Glenn Morris  <rgm@gnu.org>
-
-       * charset.c (init_charset): Make lack of etc/charsets fatal.
-
-2012-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * editfns.c (region_limit): Fix type mismatch.
-
-2012-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * nsfns.m: Fix GLYPH_DEBUG usage assuming that it may be
-       undefined.  Convert from xassert to eassert.
-       * nsmenu.m: Convert from xassert to eassert.
-       * nsterm.m: Likewise.
-
-2012-06-28  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * editfns.c (region_limit): Clip to narrowing (bug#11770).
-
-2012-06-28  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Avoid integer overflow on scroll-left and scroll-right.
-       * window.c (HSCROLL_MAX): New macro.
-       (Fscroll_left, Fscroll_right): Avoid undefined behavior on integer
-       overflow when requested scroll falls outside ptrdiff_t range.
-
-2012-06-28  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * window.h (struct window): Change type of 'hscroll',
-       'min_hscroll' and 'last_point' from Lisp_Object to ptrdiff_t,
-       'last_modified' and 'last_overlay_modified' to EMACS_INT.
-       Adjust users accordingly.
-       * xdisp.c (try_cursor_movement): Replace type check with eassert.
-       * window.c (Fscroll_left, Fscroll_right): Change type of 'hscroll'
-       from EMACS_INT to ptrdiff_t.
-       (make_window): Omit redundant initialization.
-
-2012-06-28  Juanma Barranquero  <lekktu@gmail.com>
-
-       * makefile.w32-in ($(BLD)/regex.$(O)): Update dependencies.
-
-2012-06-28  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * window.h (struct window): Change type of 'use_time' and
-       'sequence_number' from Lisp_Object to int.
-       * frame.c (make_frame): Adjust users accordingly.
-       * print.c (print_object): Likewise.
-       * window.c (select_window, Fwindow_use_time, make_parent_window)
-       (make_window): Likewise.
-
-2012-06-28  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * dispextern.h (GLYPH_DEBUG): Now defined in config.h if
-       enabled with --enable-checking=[all,glyphs] configure option.
-       Fix GLYPH_DEBUG usage assuming that it may be undefined,
-       adjust comments accordingly.
-       * dispnew.c: Fix GLYPH_DEBUG usage assuming that it may be
-       undefined, adjust comments accordingly.
-       * image.c: Likewise.
-       * scroll.c: Likewise.
-       * w32fns.c: Likewise.
-       * w32term.c: Likewise.
-       * xdisp.c: Likewise.
-       * xfaces.c: Likewise.
-       * xfns.c: Likewise.
-       * xterm.c: Likewise.
-
-2012-06-28  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Generalize run-time debugging checks.
-       * dispextern.h (XASSERTS): Remove.
-       * fontset.c (xassert): Remove.
-       Convert from xassert to eassert.
-       * alloc.c: Convert from xassert to eassert.
-       * bidi.c: Likewise.
-       * dispnew.c: Likewise.
-       * fns.c: Likewise.
-       * fringe.c: Likewise.
-       * ftfont.c: Likewise.
-       * gtkutil.c: Likewise.
-       * image.c: Likewise.
-       * keyboard.c: Likewise.
-       * menu.c: Likewise.
-       * process.c: Likewise.
-       * scroll.c: Likewise.
-       * sound.c: Likewise.
-       * term.c: Likewise.
-       * w32console.c: Likewise.
-       * w32fns.c: Likewise.
-       * w32term.c: Likewise.
-       * window.c: Likewise.
-       * xdisp.c: Likewise.
-       * xfaces.c: Likewise.
-       * xfns.c: Likewise.
-       * xselect.c: Likewise.
-       * xterm.c: Likewise.
-
-2012-06-27  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * fns.c (maybe_resize_hash_table): Output message when growing the
-       purify-hashtable.
-
-2012-06-27  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * alloc.c (allocate_string_data): Remove dead code.
-       * xsettings.c (XSETTINGS_FONT_NAME): Move under HAVE_XFT to
-       avoid GCC warning about unused macro.
-
-2012-06-27  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * alloc.c (allocate_string): Omit intervals initialization.
-       * alloc.c (make_uninit_multibyte_string): Initialize intervals
-       as in make_pure_string and make_pure_c_string.
-
-2012-06-27  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * alloc.c (allocate_string): Fix last change.
-
-2012-06-27  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * alloc.c (allocate_string): Remove two redundant calls
-       to memset, add explicit initialization where appropriate.
-
-2012-06-27  Glenn Morris  <rgm@gnu.org>
-
-       * lisp.mk (lisp): Remove paths.elc.
-
-2012-06-27  Chong Yidong  <cyd@gnu.org>
-
-       * doc.c (Fsubstitute_command_keys): Fix punctuation.
-
-2012-06-26  John Wiegley  <johnw@newartisans.com>
-
-       * unexmacosx.c (copy_data_segment): Add two section names used
-       on Mac OS X Lion: __mod_init_func and __mod_term_func.
-
-       * alloc.c (mark_memory): Do not check with -faddress-sanitizer
-       when building with Clang.
-
-2012-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * eval.c (Fapply): Allow calling it with a single argument.
-
-2012-06-26  Eli Zaretskii  <eliz@gnu.org>
-
-       * s/ms-w32.h (strcasecmp, strncasecmp) [_MSC_VER]: Redirect to
-       _stricmp and _strnicmp.
-       (HAVE_STRCASECMP, HAVE_STRNCASECMP): Define to 1.
-
-2012-06-26  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * alloc.c (allocate_window): Zero out non-Lisp part of newly
-       allocated window.
-       (allocate_process): Likewise for new process.
-       (allocate_terminal): Change to use offsetof.
-       (allocate_frame): Likewise.
-       * frame.c (make_frame): Omit redundant initialization.
-       * window.c (make_parent_window): Use memset.
-       (make_window): Omit redundant initialization.
-       * process.c (make_process): Omit redundant initialization.
-       * terminal.c (create_terminal): Likewise.
-
-2012-06-26  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * term.c (delete_tty): Remove redundant call to memset.
-
-2012-06-26  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * alloc.c: Remove build_string.
-       * lisp.h: Define build_string as static inline.  This provides
-       a better opportunity to optimize away calls to strlen when the
-       function is called with compile-time constant argument.
-       * image.c (imagemagick_error): Convert to build_string.
-       * w32proc.c (sys_spawnve): Likewise.
-       * xterm.c (x_term_init): Likewise.
-
-2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Use sprintf return value instead of invoking strlen on result.
-       In the old days this wasn't portable, since some sprintf
-       implementations returned char *.  But they died out years ago and
-       Emacs already assumes sprintf returns int.
-       Similarly for float_to_string.
-       This patch speeds up (number-to-string 1000) by 3% on Fedora 15 x86-64.
-       * ccl.c (ccl_driver):
-       * character.c (string_escape_byte8):
-       * data.c (Fnumber_to_string):
-       * doprnt.c (doprnt):
-       * print.c (print_object):
-       * xdisp.c (message_dolog):
-       * xfns.c (syms_of_xfns):
-       Use sprintf or float_to_string result to avoid need to call strlen.
-       * data.c (Fnumber_to_string):
-       Use make_unibyte_string, since the string must be ASCII.
-       * lisp.h, print.c (float_to_string): Now returns int length.
-       * term.c (produce_glyphless_glyph):
-       Use sprintf result rather than recomputing it.
-
-       Clean out last vestiges of the old HAVE_CONFIG_H stuff.
-       * Makefile.in (ALL_CFLAGS):
-       * makefile.w32-in (LOCAL_FLAGS): Remove -DHAVE_CONFIG_H.
-       * gmalloc.c, regex.c: Include <config.h> unconditionally.
-
-2012-06-25  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * dispextern.h (xstrcasecmp): Define to library function
-       strcasecmp if available.
-       * xfaces.c: Do not use xstrcasecmp if strcasecmp is available.
-
-2012-06-25  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * keyboard.c (menu_bar_items, menu_bar_item, read_key_sequence):
-       Avoid comma operator.
-       * menu.c (push_submenu_start, push_submenu_end)
-       (push_left_right_boundary, push_menu_pane): Likewise.
-       * msdos.c (dos_rawgetc): Likewise.
-
-2012-06-25  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * xfns.c (xic_create_fontsetname): Remove redundant calls
-       to memset.
-
-2012-06-25  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * gtkutil.c (get_utf8_string): Remove redundant assignment.
-       sprintf already null-terminates its output.
-
-       * xfns.c (x_window): Remove redundant cast.
-
-2012-06-25  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * xmenu.c (xmenu_show, xdialog_show): Explicit cast from
-       `const char *' to `char *' to avoid compiler warning.
-
-2012-06-24  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * xterm.c (x_term_init): Build proper-sized _XSETTINGS_Snnn string
-       instead of truncating it to 63 (admittedly a generous limit).
-
-       * process.c: Fix spelling and caps in comments.
-
-2012-06-24  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * emacs.c (setpgrp): Remove definition, unused.
-       * sysdep.c (setpgrp): Remove definition, not used in this file.
-
-2012-06-24  Juanma Barranquero  <lekktu@gmail.com>
-
-       * makefile.w32-in: Update dependencies.
-
-2012-06-24  Eli Zaretskii  <eliz@gnu.org>
-
-       * makefile.w32-in (TIMESPEC_H): Remove nt/inc/sys/time.h.
-       (SYSTIME_H): Add nt/inc/sys/time.h.
-
-       * systime.h [WINDOWSNT]: Include sys/time.h.
-
-       * s/ms-w32.h (struct timespec): Definition moved from
-       nt/inc/sys/time.h.  Suggested by Paul Eggert <eggert@cs.ucla.edu>.
-
-2012-06-24  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Switch from NO_RETURN to C11's _Noreturn (Bug#11750).
-       * buffer.h (buffer_slot_type_mismatch):
-       * data.c (arith_error) [!FORWARD_SIGNAL_TO_MAIN_THREAD]:
-       * eval.c (unwind_to_catch):
-       * image.c (my_png_error, my_error_exit):
-       * keyboard.c (quit_throw_to_read_char, user_error)
-       (Fexit_recursive_edit, Fabort_recursive_edit):
-       * lisp.h (die, args_out_of_range, args_out_of_range_3)
-       (wrong_type_argument, buffer_overflow, __executable_start)
-       (memory_full, buffer_memory_full, string_overflow, Fthrow)
-       (xsignal, xsignal0, xsignal1, xsignal2, xsignal3, signal_error)
-       (error, verror, nsberror, report_file_error, Ftop_level, Fkill_emacs)
-       (fatal):
-       (child_setup) [!DOS_NT]:
-       * lread.c (end_of_file_error, invalid_syntax):
-       * process.c (send_process_trap) [!FORWARD_SIGNAL_TO_MAIN_THREAD]:
-       * puresize.h (pure_write_error):
-       * search.c (matcher_overflow):
-       * sound.c (sound_perror, alsa_sound_perror):
-       * sysdep.c, syssignal.h (croak):
-       * term.c (maybe_fatal, vfatal):
-       * textprop.c (text_read_only):
-       * undo.c (user_error):
-       * unexmacosx.c (unexec_error):
-       * xterm.c (x_ins_del_lines, x_delete_glyphs):
-       Use _Noreturn rather than NO_RETURN.
-       No need for separate decl merely because of _Noreturn.
-       * sound.c (sound_warning, parse_sound):
-       Remove unnecessary forward decls.
-
-2012-06-24  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix bug when time_t is unsigned and as wide as intmax_t (Bug#9000).
-       * lisp.h (WAIT_READING_MAX): New macro.
-       * dispnew.c (Fsleep_for, sit_for):
-       * keyboard.c (kbd_buffer_get_event):
-       * process.c (Faccept_process_output):
-       Use it to avoid bogus compiler warnings with obsolescent GCC versions.
-       This improves on the previous patch, which introduced a bug
-       when time_t is unsigned and as wide as intmax_t.
-       See <http://bugs.gnu.org/9000#51>.
-
-2012-06-23  Eli Zaretskii  <eliz@gnu.org>
-
-       * dispnew.c (sit_for, Fsleep_for):
-       * keyboard.c (kbd_buffer_get_event):
-       * process.c (Faccept_process_output): Avoid compiler warnings when
-       comparing a 32-bit time_t with a 64-bit INTMAX_MAX.
-
-2012-06-23  Juanma Barranquero  <lekktu@gmail.com>
-
-       * makefile.w32-in: Update dependencies.
-
-       * w32.c (ltime): Add return type and declare static.
-       (w32_get_internal_run_time): Remove usused variable `time_100ns'.
-
-2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * sysdep.c [__FreeBSD__]: Fix more recently-introduced typos.
-       Privately reported by Herbert J. Skuhra.
-       (make_lisp_timeval) [__FreeBSD__]: Rename from TIMELIST.
-       All uses changed.
-       (system_process_attributes) [__FreeBSD__]: Invoke make_lisp_time,
-       not make_lisp_timeval, when the argument is of type EMACS_TIME.
-
-2012-06-23  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32proc.c (Fw32_get_locale_info): Fix an off-by-one error in
-       last argument of make_unibyte_string.
-
-       * keyboard.c (kbd_buffer_get_event): Include the codepage and the
-       language ID in the event parameters.
-
-       * w32term.c (w32_read_socket): Put the new keyboard codepage into
-       event.code, not the obscure "character set ID".
-
-2012-06-23  Chong Yidong  <cyd@gnu.org>
-
-       * xmenu.c (x_menu_wait_for_event): Adapt GTK3 to new xg_select.
-
-2012-06-23  Eli Zaretskii  <eliz@gnu.org>
-
-       Fix the MS-Windows build broken by 2012-06-22T21:17:42Z!eggert@cs.ucla.edu.
-       * w32.c (fdutimens): New function.
-
-       * w32proc.c (sys_select): Adapt to change in the EMACS_TIME type.
-
-       * s/ms-w32.h (pselect): Redirect to sys_select.
-
-       * sysselect.h [WINDOWSNT]: Don't include sys/select.h.
-
-       * ralloc.c (r_alloc_inhibit_buffer_relocation): Fix stupid thinko
-       in the logic of incrementing and decrementing the value of
-       use_relocatable_buffers.
-
-2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * sysdep.c [__FreeBSD__]: Fix recently-introduced typos.
-       Privately reported by Herbert J. Skuhra.
-       [__FreeBSD__]: Remove "*/" typo after "#include".
-       (timeval_to_EMACS_TIME) [__FreeBSD__]: New static function.
-       (TIMEVAL) [__FreeBSD__]: Now a static function rather than a macro.
-       (TIMEVAL, system_process_attributes) [__FreeBSD__]:
-       Don't assume EMACS_TIME and struct timeval are the same type.
-
-2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Support higher-resolution time stamps (Bug#9000).
-       The time stamps are only nanosecond-resolution at the C level,
-       since that's the best that any real-world system supports now.
-       But they are picosecond-resolution at the Lisp level, as that's
-       easy, and leaves room for future OS improvements.
-
-       * Makefile.in (LIB_CLOCK_GETTIME): New macro.
-       (LIBES): Use it.
-
-       * alloc.c (Fgarbage_collect): Port to higher-res time stamps.
-       Don't get current time unless it's needed.
-
-       * atimer.c: Include <sys/time.h> unconditionally, since gnulib
-       now provides it if it's absent.
-       (start_atimer): Port to higher-res time stamps.
-       Check for time stamp overflow.  Don't get current time more
-       often than is needed.
-
-       * buffer.h (struct buffer): Buffer modtime now has high resolution.
-       Include systime.h, not time.h.
-       (NONEXISTENT_MODTIME_NSECS, UNKNOWN_MODTIME_NSECS): New macros.
-
-       * dired.c: Include stat-time.h.
-       (Ffile-attributes): File times now have higher resolution.
-
-       * dispextern.h [HAVE_WINDOW_SYSTEM]: Include systime.h.
-       (struct image): Timestamp now has higher resolution.
-
-       * dispnew.c (PERIODIC_PREEMPTION_CHECKING): Remove, as Emacs always
-       has at least microseconds now.  All uses removed.
-       (update_frame, update_single_window, update_window, update_frame_1)
-       (Fsleep_for, sit_for): Port to higher-resolution time stamps.
-       (duration_to_sec_usec): Remove; no longer needed.
-
-       * editfns.c (time_overflow): Now extern.
-       (Fcurrent_time, Fget_internal_run_time, make_time, lisp_time_argument)
-       (float-time, Fformat_time_string, Fcurrent_time_string)
-       (Fcurrent_time_zone): Accept and generate higher-resolution
-       time stamps.
-       (make_time_tail, make_lisp_time, dissassemble_lisp_time)
-       (decode_time_components, lisp_seconds_argument): New functions.
-       (make_time): Now static.
-       (lisp_time_argument): Now returns EMACS_TIME.  New arg ppsec.
-       Report an error if the time is invalid, rather than having the caller
-       do that.
-
-       * fileio.c: Include <stat-time.h>
-       (Fcopy_file): Copy higher-resolution time stamps.
-       Prefer to set the time stamp via a file descriptor if that works.
-       (Fset_file_times, Finsert_file_contents, Fwrite_region)
-       (Fverify_visited_file_modtime, Fclear_visited_file_modtime)
-       (Fvisited_file_modtime, Fset_visited_file_modtime):
-       Support higher-resolution time stamps.
-
-       * fns.c (Frandom): Use nanoseconds, not microseconds, for seed.
-
-       * gtkutil.c (xg_maybe_add_timer): Port to higher-res time stamps.
-
-       * image.c (prepare_image_for_display, clear_image_cache)
-       (lookup_image): Port to higer-resolution time stamps.
-
-       * keyboard.c (start_polling, bind_polling_period):
-       Check for time stamp overflow.
-       (read_char, kbd_buffer_get_event, timer_start_idle)
-       (timer_stop_idle, timer_resume_idle, timer_check_2, timer_check)
-       (Fcurrent_idle_time, init_keyboard, set_waiting_for_input):
-       Port to higher-resolution time stamps.  Do not assume time_t is signed.
-       (decode_timer): New function.  Timers are now vectors of length 9,
-       not 8, to accommodate the picosecond component.
-       (timer_check_2): Use it.
-
-       * nsterm.m (select_timeout, timeval_subtract): Remove.
-       (ns_timeout): Use Emacs's facilities for time stamp arithmetic,
-       as they're a bit more accurate and handle overflow better.
-       (ns_select): Change prototype to be compatible with pselect.
-       (ns_select, ns_term_shutdown): Port to ns-resolution time stamps.
-       * nsterm.h (ns_select): Adjust prototype.
-
-       * msdos.c (EMACS_TIME_ZERO_OR_NEG_P): Remove, as it assumes
-       us-resolution time stamps.
-       (sys_select): Use the new EMACS_TIME_SIGN macro instead.
-
-       * lread.c (read_filtered_event): Port to ns-resolution time stamps.
-
-       * lisp.h (time_overflow): New decl.
-       (wait_reading_process_output): First arg is now intmax_t, not int,
-       to accommodate larger waits.
-
-       * process.h (struct Lisp_Process.read_output_delay):
-       Now counts nanoseconds, not microseconds.
-       * process.c (ADAPTIVE_READ_BUFFERING): Don't worry about
-       EMACS_HAS_USECS.
-       (READ_OUTPUT_DELAY_INCREMENT, Faccept_process_output)
-       (wait_reading_process_output):
-       Port to ns-resolution time stamps.
-       (Faccept_process_output, wait_reading_process_output):
-       Check for time stamp overflow.  Do not assume time_t is signed.
-       (select_wrapper): Remove; we now use pselect.
-       (Fprocess_attributes): Now generates ns-resolution time stamps.
-
-       * sysdep.c: Include utimens.h.  Don't include utime.h
-       or worry about struct utimbuf; gnulib does that for us now.
-       (gettimeofday): Remove; gnulib provides a substitute.
-       (make_timeval): New function.
-       (set_file_times): Now sets ns-resolution time stamps.
-       New arg FD; all uses changed.
-       (time_from_jiffies, ltime_from_jiffies, get_up_time)
-       (system_process_attributes):
-       Now returns ns-resolution time stamp.  All uses changed.
-       Check for time stamp overflow.
-
-       * sysselect.h: Don't depend on HAVE_SYS_SELECT_H; gnulib
-       provides a substitute now.
-
-       * systime.h: Include timespec.h rather than sys/time.h and time.h,
-       since it guarantees struct timespec.
-       (EMACS_TIME): Now struct timespec, so that we can support
-       ns-resolution time stamps.
-       (EMACS_TIME_RESOLUTION, LOG10_EMACS_TIME_RESOLUTION): New macros.
-       (EMACS_HAS_USECS): Remove; Emacs always has sub-second time stamps now.
-       (EMACS_USECS): Remove.
-       (EMACS_SET_USECS): The underlying time stamp now has ns resolution,
-       so multiply the arg by 1000 before storing it.
-       (EMACS_NSECS, EMACS_SECS_ADDR, EMACS_SET_NSECS, EMACS_SET_SECS_NSECS):
-       New macros.
-       (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME):
-       Port to ns-resolution time stamps.
-       (EMACS_TIME_NEG_P): Remove; replaced by....
-       (EMACS_TIME_SIGN): New macro.
-       (EMACS_SET_INVALID_TIME, EMACS_TIME_VALID_P)
-       (EMACS_TIME_FROM_DOUBLE, EMACS_TIME_TO_DOUBLE): New macros.
-       (set_file_times, make_time, lisp_time_argument): Adjust signature.
-       (make_timeval, make_lisp_time, decode_time_components): New decls.
-       (EMACS_TIME_CMP): Remove; no longer used.  Plus, it was buggy, in
-       that it mishandled time_t overflow.  You can't compare by subtracting!
-       (EMACS_TIME_EQ, EMACS_TIME_NE, EMACS_TIME_GT, EMACS_TIME_GE)
-       (EMACS_TIME_LT, EMACS_TIME_LE): Rewrite in terms of timespec_cmp.
-
-       * term.c: Include <sys/time.h>.
-       (timeval_to_Time): New function, for proper overflow wraparound.
-       (term_mouse_position, term_mouse_click): Use it.
-
-       * undo.c (record_first_change): Support higher-resolution time stamps
-       in the undo buffer.
-       (Fprimitive_undo): Use them when restoring time stamps.
-
-       * w32.c (ltime, U64_TO_LISP_TIME, process_times, emacs_gnutls_pull)
-       (w32_get_internal_run_time):
-       Port to higher-resolution Emacs time stamps.
-       (ltime): Now accepts single 64-bit integer, as that's more convenient
-       for callers.
-
-       * xdisp.c (start_hourglass): Port to ns-resolution time stamps.
-
-       * xgselect.c, xgselect.h (xg_select): Add sigmask argument,
-       for compatibility with pselect.  Support ns-resolution time stamps.
-
-       * xmenu.c (x_menu_wait_for_event): Support ns-resolution time stamps.
-
-       * xselect.c (wait_for_property_change, x_get_foreign_selection):
-       Check for time stamp overflow, and support ns-resolution time stamps.
-
-       * xterm.c: Don't include sys/time.h; gnulib does that for us now.
-       Don't worry about whether HAVE_TIMEVAL and HAVE_SELECT are set.
-       (timeval_subtract): Remove; no longer needed.
-       (XTflash, XTring_bell, x_wait_for_event):
-       Port to ns-resolution time stamps.  Don't assume time_t is signed.
-
-2012-06-22  Chong Yidong  <cyd@gnu.org>
-
-       * xdisp.c (x_consider_frame_title): Revert last change.
-
-2012-06-22  Eli Zaretskii  <eliz@gnu.org>
-
-       * alloc.c (NSTATICS): Enlarge to 0x650.  Otherwise, Emacs compiled
-       with -DENABLE_CHECKING -DXASSERTS -DGLYPH_DEBUG=1 -DBYTE_CODE_METER
-       aborts in staticpro during startup.  (Without -DBYTE_CODE_METER,
-       staticidx goes up to 1597 out of 1600 = 0x640.)
-
-2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * fileio.c (Fdefault_file_modes): Block input while fiddling with umask.
-       Otherwise, the umask might be mistakenly 0 while handling input signals.
-
-2012-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * minibuf.c (Fread_string): Bind minibuffer-completion-table.
-
-2012-06-19  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * alloc.c, bytecode.c, ccl.c, coding.c, composite.c, data.c, dosfns.c:
-       * font.c, image.c, keyboard.c, lread.c, menu.c, minibuf.c, msdos.c:
-       * print.c, syntax.c, window.c, xmenu.c, xselect.c: Replace direct
-       access to `contents' member of Lisp_Vector objects with AREF and ASET
-       where appropriate.
-
-2012-06-19  Chong Yidong  <cyd@gnu.org>
-
-       * frame.c (delete_frame): When selecting a frame on a different
-       text terminal, do not alter the terminal's top-frame.
-
-       * xdisp.c (format_mode_line_unwind_data): Record the target
-       frame's selected window and its terminal's top-frame.
-       (unwind_format_mode_line): Restore them.
-       (x_consider_frame_title, display_mode_line, Fformat_mode_line):
-       Callers changed.
-       (x_consider_frame_title): Do not condition on HAVE_WINDOW_SYSTEM,
-       since tty frames can be explicitly named.
-       (prepare_menu_bars): Likewise.
-
-       * term.c (Ftty_top_frame): New function.
-
-2012-06-18  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Port byte-code-meter to modern targets.
-       * bytecode.c (METER_CODE) [BYTE_CODE_METER]: Don't assume
-       !CHECK_LISP_OBJECT_TYPE && !USE_LSB_TAG.  Problem with
-       CHECK_LISP_OBJECT_TYPE reported by Dmitry Antipov in
-       <http://lists.gnu.org/archive/html/emacs-devel/2012-06/msg00282.html>.
-       (METER_1, METER_2): Simplify.
-
-2012-06-18  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * data.c (Fdefalias): Return `symbol' (bug#11686).
-
-2012-06-18  Martin Rudalics  <rudalics@gmx.at>
-
-       * buffer.c (Fkill_buffer): Don't throw an error when the buffer
-       gets killed during executing of this function (Bug#11665).
-       Try to always return Qt when the buffer has been actually killed.
-       (Vkill_buffer_query_functions): In doc-string say that functions
-       run by this hook should not change the current buffer.
-
-2012-06-18  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix recently-introduced process.c problems found by static checking.
-       * process.c (write_queue_push, write_queue_pop, send_process):
-       Use ptrdiff_t, not int or EMACS_INT, for buffer lengths and offsets.
-       (write_queue_pop): Fix pointer signedness problem.
-       (send_process): Remove unused local.
-
-2012-06-17  Chong Yidong  <cyd@gnu.org>
-
-       * xdisp.c (redisplay_internal): No need to redisplay terminal
-       frames that are not on top.
-
-2012-06-17  Troels Nielsen  <bn.troels@gmail.com>
-
-       * process.c (make_process): Initialize write_queue.
-       (write_queue_push, write_queue_pop): New functions.
-       (send_process): Use them to maintain correct ordering of process
-       writes (Bug#10815).
-
-2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * lisp.h (eassert): Assume C89 or later.
-       This removes the need for CHECK.
-       (CHECK): Remove.  Its comments about always evaluating its
-       argument were confusing, as 'eassert' typically does not evaluate
-       its argument.
-
-       * coding.c (produce_chars): Use ptrdiff_t, not int.
-
-       * xterm.c (x_draw_underwave): Check for integer overflow.
-       This pacifies gcc 4.7.0 -Wunsafe-loop-optimizations on x86-64.
-
-2012-06-17  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsterm.m (x_free_frame_resources): Move xfree so freed memory isn't
-       referenced (Bug#11583).
-
-2012-06-16  Aurelien Aptel  <aurelien.aptel@gmail.com>
-
-       Implement wave-style variant of underlining.
-       * dispextern.h (face_underline_type): New enum.
-       (face): Add field for underline type.
-       * nsterm.m (ns_draw_underwave): New function.
-       (ns_draw_text_decoration): Use it.
-       * w32term.c (w32_restore_glyph_string_clip, w32_draw_underwave):
-       New functions.
-       (x_draw_glyph_string): Use them.
-       * xfaces.c (Qline, Qwave): New Lisp objects.
-       (check_lface_attrs, merge_face_ref)
-       (Finternal_set_lisp_face_attribute, realize_x_face):
-       Handle wave-style underline face attributes.
-       * xterm.c (x_draw_underwave): New function.
-       (x_draw_glyph_string): Use it.
-
-2012-06-16  Juanma Barranquero  <lekktu@gmail.com>
-
-       * makefile.w32-in ($(BLD)/emacs.$(O), $(BLD)/fringe.$(O))
-       ($(BLD)/xml.$(O), $(BLD)/intervals.$(O), $(BLD)/macros.$(O))
-       ($(BLD)/minibuf.$(O), $(BLD)/regex.$(O), $(BLD)/region-cache.$(O))
-       ($(BLD)/textprop.$(O), $(BLD)/undo.$(O), $(BLD)/window.$(O))
-       ($(BLD)/w32select.$(O)): Update dependencies.
-
-2012-06-16  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * buffer.h (FETCH_MULTIBYTE_CHAR): Define as inline.
-       (BUF_FETCH_MULTIBYTE_CHAR): Likewise.
-       * character.c (_fetch_multibyte_char_p): Remove.
-       * alloc.c: Include "character.h" before "buffer.h".
-       * bidi.c: Likewise.
-       * buffer.c: Likewise.
-       * bytecode.c: Likewise.
-       * callint.c: Likewise.
-       * callproc.c: Likewise.
-       * casefiddle.c: Likewise.
-       * casetab.c: Likewise.
-       * category.c: Likewise.
-       * cmds.c: Likewise.
-       * coding.c: Likewise.
-       * composite.c: Likewise.
-       * dired.c: Likewise.
-       * dispnew.c: Likewise.
-       * doc.c: Likewise.
-       * dosfns.c: Likewise.
-       * editfns.c: Likewise.
-       * emacs.c: Likewise.
-       * fileio.c: Likewise.
-       * filelock.c: Likewise.
-       * font.c: Likewise.
-       * fontset.c: Likewise.
-       * fringe.c: Likewise.
-       * indent.c: Likewise.
-       * insdel.c: Likewise.
-       * intervals.c: Likewise.
-       * keyboard.c: Likewise.
-       * keymap.c: Likewise.
-       * lread.c: Likewise.
-       * macros.c: Likewise.
-       * marker.c: Likewise.
-       * minibuf.c: Likewise.
-       * nsfns.m: Likewise.
-       * nsmenu.m: Likewise.
-       * print.c: Likewise.
-       * process.c: Likewise.
-       * regex.c: Likewise.
-       * region-cache.c: Likewise.
-       * search.c: Likewise.
-       * syntax.c: Likewise.
-       * term.c: Likewise.
-       * textprop.c: Likewise.
-       * undo.c: Likewise.
-       * unexsol.c: Likewise.
-       * w16select.c: Likewise.
-       * w32fns.c: Likewise.
-       * w32menu.c: Likewise.
-       * window.c: Likewise.
-       * xdisp.c: Likewise.
-       * xfns.c: Likewise.
-       * xmenu.c: Likewise.
-       * xml.c: Likewise.
-       * xselect.c: Likewise.
-
-2012-06-16  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (set_cursor_from_row): Don't dereference glyphs_end.
-       If all the glyphs of the glyph row came from strings, and we have no
-       cursor positioning clues, put the cursor on the first glyph of the
-       row.
-       (handle_face_prop): Use chunk-relative overlay string index when
-       indexing into it->string_overlays array.  (Bug#11653)
-       (set_cursor_from_row): Use the leftmost glyph as GLYPH_BEFORE, not
-       the rightmost.  (Bug#11720)
-
-2012-06-16  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * category.h (CHAR_HAS_CATEGORY): Define as inline.
-       (CATEGORY_MEMBER): Enforce 1/0 value.
-       * category.c (_temp_category_set): Remove.
-
-2012-06-16  Eli Zaretskii  <eliz@gnu.org>
-
-       * window.c (Fdelete_other_windows_internal)
-       (Fdelete_window_internal): Don't access frame's mouse highlight
-       info of the initial frame.  (Bug#11677)
-
-2012-06-14  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * .gdbinit (xgetint): Fix recently-introduced paren typo.
-       Assume USE_2_TAGS_FOR_INTS.
-       (xreload): Adjust $tagmask width to match recent lisp.h change.
-
-       Simplify lisp.h in minor ways that should not affect code.
-       * lisp.h (USE_2_TAGS_FOR_INTS): Remove, as it was always defined.
-       (LISP_INT_TAG, case_Lisp_Int, LISP_STRING_TAG, LISP_INT_TAG_P)
-       (LISP_INT1_TAG, enum Lisp_Type, XINT, XUINT, make_number):
-       Simplify under the assumption that USE_2_TAGS_FOR_INTS is defined.
-       (INTTYPEBITS): New macro, for clarity.
-       (INTMASK, MOST_POSITIVE_FIXNUM): Use it.
-       (LISP_INT1_TAG, LISP_STRING_TAG, LISP_INT_TAG_P):
-       Simplify now that USE_LSB_TAG is always defined.
-       (TYPEMASK, XINT) [USE_LSB_TAG]: Remove unnecessary cast.
-       (make_number) [!USE_LSB_TAG]: Use INTMASK; that's simpler.
-
-2012-06-13  Juanma Barranquero  <lekktu@gmail.com>
-
-       * makefile.w32-in ($(BLD)/data.$(O)): Update dependencies.
-
-2012-06-13  Glenn Morris  <rgm@gnu.org>
-
-       * s/bsd-common.h (BSD4_3):
-       * s/usg5-4-common.h (USG5_4): No longer define; unused.
-
-2012-06-13  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * lisp.h (Lisp_Object) [CHECK_LISP_OBJECT_TYPE]: Define as struct
-       instead of union.
-       (XLI, XIL): Define.
-       (XHASH, XTYPE, XINT, XUINT, make_number, XSET, XPNTR, XUNTAG):
-       Use them.
-       * emacs.c (gdb_use_struct): Rename from gdb_use_union.
-       * .gdbinit: Check gdb_use_struct instead of gdb_use_union.
-       * alloc.c (widen_to_Lisp_Object): Remove.
-       (mark_memory): Use XIL instead of widen_to_Lisp_Object.
-       * frame.c (delete_frame): Remove outdated comment.
-       * w32fns.c (Fw32_register_hot_key): Use XLI instead of checking
-       USE_LISP_UNION_TYPE.
-       (Fw32_unregister_hot_key): Likewise.
-       (Fw32_toggle_lock_key): Likewise.
-       * w32menu.c (add_menu_item): Likewise.
-       (w32_menu_display_help): Use XIL instead of checking
-       USE_LISP_UNION_TYPE.
-       * w32heap.c (allocate_heap): Don't check USE_LISP_UNION_TYPE.
-       (init_heap): Likewise.
-       * w32term.c (w32_read_socket): Update comment.
-
-2012-06-13  Glenn Morris  <rgm@gnu.org>
-
-       * s/usg5-4-common.h, src/s/unixware.h:
-       Remove define/undef of HAVE_SYSV_SIGPAUSE (not used since 2010-05-04).
-
-       * s/gnu.h (POSIX_SIGNALS): Remove (not used since 2010-05-04).
-
-2012-06-13  Paul Eggert  <eggert@cs.ucla.edu>
-
-       USE_LISP_UNION_TYPE + USE_LSB_TAG cleanup (Bug#11604)
-       * alloc.c (make_number) [!defined make_number]:
-       Remove, as lisp.h always defines this now.
-       (mark_maybe_pointer): Simplify since USE_LSB_TAG is always defined now.
-       (roundup_size): Verify that it is a power of 2.
-       * data.c (Fmake_variable_buffer_local, Fmake_local_variable):
-       * ftfont.c (ftfont_driver): Use LISP_INITIALLY_ZERO.
-       * lisp.h (USE_LSB_TAG): Allow the builder to compile with
-       -DUSE_LSB_TAG=0, to override the automatically-selected default.
-       USE_LSB_TAG now is always defined to be either 0 or 1.
-       All uses changed.
-       (union Lisp_Object): Don't worry about WORDS_BIGENDIAN; the
-       code works fine either way, and efficiency is not a concern here,
-       as the union type is for debugging, not for production.
-       (LISP_MAKE_RVALUE, make_number) [USE_LISP_UNION_TYPE]:
-       Use an inline function on all platforms when using the union type,
-       since this is simpler and 'static inline' can be used portably
-       within Emacs now.
-       (LISP_INITIALLY_ZERO): New macro.
-       (XFASTINT, XSETFASTINT) [USE_LISP_UNION_TYPE]: Remove.
-       (XSET) [USE_LISP_UNION_TYPE]: Don't overparenthesize.
-
-2012-06-12  Glenn Morris  <rgm@gnu.org>
-
-       * s/gnu-kfreebsd.h, s/hpux11.h, s/openbsd.h, s/sol2-10.h: Remove files.
-
-       * s/gnu-linux.h (HAVE_PROCFS): Move to configure.
-
-       * s/hpux10-20.h, s/openbsd.h, s/usg5-4-common.h:
-       Move BROKEN_SIGIO to configure.
-
-       * s/bsd-common.h, s/darwin.h, s/gnu-kfreebsd.h, s/hpux10-20.h:
-       Move NO_TERMIO to configure.
-
-2012-06-12  Chong Yidong  <cyd@gnu.org>
-
-       * image.c (imagemagick_load_image): Use MagickFlattenImage if
-       MagickMergeImageLayers is undefined.  Use pixel pusher loop if
-       MagickExportImagePixels is undefined.
-
-2012-06-12  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * image.c (imagemagick_load_image): Remove unused label.
-
-2012-06-11  Glenn Morris  <rgm@gnu.org>
-
-       * s/aix4-2.h, s/bsd-common.h, s/cygwin.h, s/darwin.h:
-       * s/gnu-kfreebsd.h, s/gnu-linux.h, s/gnu.h, s/hpux10-20.h:
-       * s/irix6-5.h, s/ms-w32.h, s/msdos.h, s/template.h:
-       * s/usg5-4-common.h: Move SYSTEM_TYPE to configure.
-
-2012-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * alloc.c (make_byte_code): New function.
-       (Fmake_byte_code): Use it.  Don't purify here.
-       * lread.c (read1): Use it as well to avoid extra allocation.
-
-2012-06-11  Chong Yidong  <cyd@gnu.org>
-
-       * image.c (imagemagick_load_image): Implement transparency.
-
-2012-06-10  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * regex.c (at_begline_loc_p): Also recognize `(?N:' and correctly
-       account for preceding backslashes.  (Bug#11663)
-
-2012-06-09  Chong Yidong  <cyd@gnu.org>
-
-       * term.c: Support italics in capable terminals (Bug#9652).
-       (no_color_bit): Replace unused NC_BLINK with NC_ITALIC.
-       (turn_on_face): Output using TS_enter_italic_mode if available.
-       Don't handle unused blinking and alt-charset cases.
-       (turn_off_face): Handle italic case; discard unused tty_blinking_p
-       and tty_alt_charset_p cases.
-       (tty_capable_p, init_tty): Support italics.
-
-       * termchar.h (struct tty_display_info): Add field for italics.
-       Remove unused blink field.
-
-       * xfaces.c (tty_supports_face_attributes_p, realize_tty_face):
-       Handle slant.
-
-       * dispextern.h: Replace unused TTY_CAP_BLINK with TTY_CAP_ITALIC.
-       (struct face): Remove unused fields tty_dim_p, tty_blinking_p, and
-       tty_alt_charset_p.  Add tty_italic_p.
-
-2012-06-09  Michael Albinus  <michael.albinus@gmx.de>
-
-       * dbusbind.c (XD_BASIC_DBUS_TYPE): Use dbus_type_is_valid and
-       dbus_type_is_basic if available.
-       (xd_extract_signed, xd_extract_unsigned): Rename from
-       extract_signed and extract_unsigned, respectively.  Adapt callers.
-
-2012-06-09  Chong Yidong  <cyd@gnu.org>
-
-       * xfaces.c (face_for_overlay_string): Handle face remapping (Bug#2066).
-
-       * fringe.c (Fset_fringe_bitmap_face): Handle the noninteractive
-       case (Bug#9752).
-
-2012-06-08  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * xdisp.c (vmessage): Treat frame message as multibyte.
-       Without this change, (let ((§ 1)) (make-variable-buffer-local '§))
-       would generate the diagnostic "Making \302\247 buffer-local while
-       let-bound!".
-
-2012-06-08  Eli Zaretskii  <eliz@gnu.org>
-
-       * dispnew.c (showing_window_margins_p): Undo last change, which
-       was done due to an inadvertent commit.
-       (adjust_frame_glyphs_for_frame_redisplay): Do call
-       showing_window_margins_p.
-
-2012-06-08  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * eval.c (Fmake_var_non_special): New primitive.
-       (syms_of_eval): Defsubr it.
-       * lread.c (syms_of_lread): Mark `values' as lexically scoped.
-
-2012-06-08  Juanma Barranquero  <lekktu@gmail.com>
-
-       * dispnew.c (showing_window_margins_p): Wrap in #if 0 to prevent unused
-       function warning (the only call is inside #if 0 since 2012-06-08T08:44:45Z!eliz@gnu.org).
-
-2012-06-08  Eli Zaretskii  <eliz@gnu.org>
-
-       * alloc.c (allocate_vectorlike): Fix last change.
-
-2012-06-08  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       Block-based vector allocation of small vectors.
-       * lisp.h (struct vectorlike_header): New field `nbytes',
-       adjust comment accordingly.
-       * alloc.c (enum mem_type): New type `MEM_TYPE_VECTOR_BLOCK'
-       to denote vector blocks.  Adjust users (live_vector_p,
-       mark_maybe_pointer, valid_lisp_object_p) accordingly.
-       (COMMON_MULTIPLE): Move outside #if USE_LSB_TAG.
-       (VECTOR_BLOCK_SIZE, vroundup, VECTOR_BLOCK_BYTES),
-       (VBLOCK_BYTES_MIN, VBLOCK_BYTES_MAX, VECTOR_MAX_FREE_LIST_INDEX),
-       (VECTOR_FREE_LIST_FLAG, ADVANCE, VINDEX, SETUP_ON_FREE_LIST),
-       (VECTOR_SIZE, VECTOR_IN_BLOCK): New macros.
-       (roundup_size): New constant.
-       (struct vector_block): New data type.
-       (vector_blocks, vector_free_lists, zero_vector): New variables.
-       (all_vectors): Rename to `large_vectors'.
-       (allocate_vector_from_block, init_vectors, allocate_vector_from_block)
-       (sweep_vectors): New functions.
-       (allocate_vectorlike): Return `zero_vector' as the only vector of
-       0 items.  Allocate new vector from block if vector size is less than
-       or equal to VBLOCK_BYTES_MAX.
-       (Fgarbage_collect): Move all vector sweeping code to sweep_vectors.
-       (init_alloc_once): Add call to init_vectors.
-
-2012-06-08  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * eval.c (Fmacroexpand): Stop if the macro returns the same form.
-
-2012-06-07  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * doprnt.c (doprnt): Truncate multibyte char correctly.
-       Without this change, doprnt (buf, 2, "%s", FORMAT_END, AP)
-       would mishandle a string argument "Xc" if X was a multibyte
-       character of length 2: it would truncate after X's first byte
-       rather than including all of X.
-
-2012-06-06  Chong Yidong  <cyd@gnu.org>
-
-       * buffer.c (word_wrap): Doc fix.
-
-2012-06-04  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * xdisp.c (note_mode_line_or_margin_highlight): Pacify gcc -Wall.
-
-2012-06-03  Glenn Morris  <rgm@gnu.org>
-
-       * xdisp.c (tool-bar-style): Doc fix.
-
-2012-06-03  Ulrich Müller  <ulm@gentoo.org>
-
-       * Makefile.in (PAXCTL): Define.
-       (temacs$(EXEEXT)): Disable memory randomization for the temacs
-       binary via PaX flags if the paxctl utility is available.
-       (emacs$(EXEEXT), bootstrap-emacs$(EXEEXT)):
-       Restore PaX flags to their default.  (Bug#11398)
-
-2012-06-03  Chong Yidong  <cyd@gnu.org>
-
-       * xdisp.c (decode_mode_spec_coding): Display a space for a unibyte
-       buffer (Bug#11226).
-
-2012-06-03  Chong Yidong  <cyd@gnu.org>
-
-       * xdisp.c (calc_pixel_width_or_height): Use Fbuffer_local_value.
-       (note_mode_line_or_margin_highlight): If there is no help echo,
-       use mode-line-default-help-echo.  Handle the case where the mouse
-       position is past the end of the mode line string.
-
-       * buffer.c (buffer_local_value_1): New function, split from
-       Fbuffer_local_value; can return Qunbound.
-       (Fbuffer_local_value): Use it.
-       (Vmode_line_format): Docstring tweaks.
-
-2012-06-02  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * sysdep.c (system_process_attributes): Improve comment.
-
-2012-06-02  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * keyboard.c: Export real-this-command to Elisp.
-       (syms_of_keyboard): Rename real_this_command to Vreal_this_command
-       and DEFVAR it.  Update all users.
-
-2012-06-02  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * minibuf.c (Fassoc_string): Remove duplicate declaration.
-
-       * sysdep.c (system_process_attributes) [SOLARIS2 && HAVE_PROCFS]:
-       Convert pctcpu and pctmem to Lisp float properly.
-       Let the compiler fold better, as 100.0/0x8000 is exact.
-
-2012-06-02  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * alloc.c (CONS_BLOCK_SIZE): Account for padding at the end of
-       cons_block.
-
-2012-06-01  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * xfns.c (x_set_tool_bar_lines) [USE_GTK]: Adjust to bitfield change.
-
-2012-06-01  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       For a 'struct window', replace some Lisp_Object fields to
-       bitfields where appropriate, remove unused fields.
-       * window.h (struct window): Remove unused 'last_mark_x' and
-       'last_mark_y' fields.  Rename 'mini_p' field to 'mini',
-       change its type from Lisp_Object to bitfield.
-       Change type of 'force_start', 'optional_new_start',
-       'last_had_star', 'update_mode_line' and 'start_at_line_beg'
-       fields from Lisp_Object to bitfield.  Adjust users accordingly.
-
-2012-05-31  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Pacify gcc -Wdouble-precision when using Xaw.
-       * xterm.c (xaw_jump_callback, x_set_toolkit_scroll_bar_thumb)
-       [HAVE_X_WINDOWS && USE_TOOLKIT_SCROLL_BARS && !USE_MOTIF && !USE_GTK]:
-       Use 'float' consistently, rather than 'float' in most places
-       and 'double' in a couple of places.
-
-2012-05-31  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (handle_stop): Detect whether we have overlay strings
-       loaded by testing it->current.overlay_string_index to be
-       non-negative, instead of checking whether n_overlay_strings is
-       positive.  (Bug#11587)
-
-2012-05-31  Chong Yidong  <cyd@gnu.org>
-
-       * keymap.c (describe_map_tree): Revert 2011-07-07 change (Bug#1169).
-
-       * doc.c (Fsubstitute_command_keys): Doc fix.
-
-2012-05-31  Eli Zaretskii  <eliz@gnu.org>
-
-       * search.c (search_buffer): Remove calls to
-       r_alloc_inhibit_buffer_relocation, as it is now called by
-       maybe_unify_char, which was the cause of relocation of buffer text
-       in bug#11519.
-
-2012-05-31  Eli Zaretskii  <eliz@gnu.org>
-
-       * charset.c (maybe_unify_char): Inhibit relocation of buffer text
-       for the duration of call to load_charset, to avoid problems with
-       callers of maybe_unify_char that access buffer text through C
-       pointers.
-
-       * ralloc.c (r_alloc_inhibit_buffer_relocation): Increment and
-       decrement the inhibition flag, instead of just setting or
-       resetting it.
-
-2012-05-31  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Remove obsolete '#define static' cruft.
-       * s/hpux10-20.h (_FILE_OFFSET_BITS): Don't #undef.
-       This #undef was "temporary" in 2000; it is no longer needed
-       now that '#define static' has gone away.
-       * xfns.c, xterm.h (gray_bitmap_width, gray_bitmap_height)
-       (gray_bitmap_bits): Remove; no longer needed.
-       All uses replaced with definiens.
-       * xterm.c: Include "bitmaps/gray.xbm".
-
-2012-05-30  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Clean up __executable_start, monstartup when --enable-profiling.
-       The following changes affect the code only when profiling.
-       * dispnew.c (__executable_start): Rename from safe_bcopy.
-       Define only on platforms that need it.
-       * emacs.c: Include <sys/gmon.h> when profiling.
-       (_mcleanup): Remove decl, since <sys/gmon.h> does it now.
-       (__executable_start): Remove decl, since lisp.h does it now.
-       (safe_bcopy): Remove decl; no longer has that name.
-       (main): Coalesce #if into single bit of code, for simplicity.
-       Cast pointers to uintptr_t, since standard libraries want integers
-       and not pointers.
-       * lisp.h (__executable_start): New decl.
-
-2012-05-31  Glenn Morris  <rgm@gnu.org>
-
-       * image.c (Fimagemagick_types): Doc fix.
-
-2012-05-30  Jim Meyering  <meyering@redhat.com>
-
-       * callproc.c (Fcall_process_region): Include directory component
-       in mkstemp error message (Bug#11586).
-
-2012-05-30  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * alloc.c, lisp.h (make_pure_vector): Now static.
-
-2012-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * eval.c (Fdefun, Fdefmacro, Vmacro_declaration_function):
-       Move to byte-run.el.
-       (Fautoload): Do the hash-doc more carefully.
-       * data.c (Fdefalias): Purify definition, except for keymaps.
-       (Qdefun): Move from eval.c.
-       * lisp.h (Qdefun): Remove.
-       * lread.c (read1): Tiny simplification.
-
-2012-05-29  Troels Nielsen  <bn.troels@gmail.com>
-
-       Do not create empty overlays with the evaporate property (Bug#9642).
-       * buffer.c (Fmove_overlay): Reinstate the earlier fix for
-       Bug#9642, but explicitly check that the buffer the overlay would
-       be moved to is live and rearrange lines to make sure that errors
-       will not put the overlay in an inconsistent state.
-       (Fdelete_overlay): Cosmetics.
-
-2012-05-28  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32term.c (my_bring_window_to_top): New function.
-       (x_raise_frame): Use handle returned by DeferWindowPos, which
-       could be different from the original one.
-       Call my_bring_window_to_top instead of my_set_foreground_window.
-       (Bug#11513)
-
-       * w32fns.c (w32_wnd_proc): Accept and process WM_EMACS_BRINGTOTOP
-       by calling BringWindowToTop.
-
-       * w32term.h (WM_EMACS_BRINGTOTOP): New message.
-       (WM_EMACS_END): Increase by one.
-
-2012-05-28  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * bidi.c (bidi_mirror_char): Put eassert before conversion to int.
-       This avoids undefined behavior that might cause the eassert
-       to not catch an out-of-range value.
-
-2012-05-28  Juanma Barranquero  <lekktu@gmail.com>
-
-       * makefile.w32-in ($(BLD)/w32inevt.$(O), $(BLD)/w32console.$(O)):
-       Update dependencies.
-
-2012-05-27  Eli Zaretskii  <eliz@gnu.org>
-
-       * bidi.c (bidi_mirror_char): Fix last change.
-
-2012-05-27  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * unexmacosx.c (copy_data_segment): Truncate after 16 characters
-       when referring to sectname field in printf format.
-
-2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * lisp.h [REL_ALLOC]: Omit duplicate prototypes.
-       Only r_alloc_inhibit_buffer_relocation needed to be added;
-       the others were already declared.
-
-       * bidi.c (bidi_mirror_char): Don't possibly truncate the integer
-       before checking whether it's out of range.  Put the check inside
-       eassert.  See
-       <http://lists.gnu.org/archive/html/emacs-devel/2012-05/msg00485.html>.
-
-2012-05-27  Ken Brown  <kbrown@cornell.edu>
-
-       * callproc.c (Fcall_process): Restore a line that was accidentally
-       commented out in the 2011-02-13 change (bug#11547).
-
-2012-05-27  Eli Zaretskii  <eliz@gnu.org>
-
-       * lisp.h [REL_ALLOC]: Add prototypes for external functions
-       defined on ralloc.c.
-
-       * buffer.c [REL_ALLOC]: Remove prototypes of
-       r_alloc_reset_variable, r_alloc, r_re_alloc, and r_alloc_free,
-       they are now on lisp.h.
-
-       * ralloc.c (r_alloc_inhibit_buffer_relocation): New function.
-
-       * search.c (search_buffer): Use it to inhibit relocation of buffer
-       text while re_search_2 is doing its job, because re_search_2 is
-       passed C pointers to buffer text.  (Bug#11519)
-
-       * msdos.c (internal_terminal_init) <Vwindow_system_version>:
-       Update value to 24.
-
-       * xdisp.c (move_it_to): Under MOVE_TO_Y, when restoring iterator
-       state after an additional call to move_it_in_display_line_to, keep
-       the values of it->max_ascent and it->max_descent found for the
-       entire line.
-       (pos_visible_p): Revert the comparison against bottom_y to what it
-       was in revid eliz@gnu.org-20120513182235-4p6386j761ld0nwb.
-       (Bug#11464)
-
-2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix coding-related core dumps with gcc -ftrapv.
-       The code was computing A - B, where A and B are pointers, and B is
-       random garbage.  This can lead to core dumps on platforms that
-       have special pointer registers, and it also leads to core dumps on
-       x86-64 when compiled with gcc -ftrapv.  The fix is to compute
-       A - B only when B is initialized properly.
-       * coding.c (coding_set_source, coding_set_destination): Return void.
-       (coding_change_source, coding_change_destinations): New functions,
-       with the old behaviors of coding_set_source and coding_set_destination.
-       All callers that need an offset changed to use these new functions.
-
-2012-05-26  Glenn Morris  <rgm@gnu.org>
-
-       * nsterm.m (ns_init_paths): Don't mess with INFOPATH.  (Bug#2791)
-
-2012-05-26  Eli Zaretskii  <eliz@gnu.org>
-
-       Extend mouse support on W32 text-mode console.
-       * xdisp.c (draw_row_with_mouse_face):
-       Call tty_draw_row_with_mouse_face for WINDOWSNT as well.
-
-       * w32console.c: Include window.h.
-       (w32con_write_glyphs_with_face, tty_draw_row_with_mouse_face):
-       New functions.
-       (initialize_w32_display): Initialize mouse-highlight data.
-
-       * w32inevt.c: Include termchar.h and window.h.
-       (do_mouse_event): Support mouse-autoselect-window.  When the mouse
-       moves, call note_mouse_highlight.  If help_echo changed, call
-       gen_help_event to produce help-echo message in the echo area.
-       Call clear_mouse_face if mouse_face_hidden is set in the mouse
-       highlight info.
-
-2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * lread.c (read1): Simplify slightly to avoid an overflow warning
-       with GCC 4.7.0 on x86-64.
-
-2012-05-26  Eli Zaretskii  <eliz@gnu.org>
-
-       * bidi.c (bidi_mirror_char): Revert last change: an int is
-       definitely wide enough here.
-
-2012-05-25  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix integer width and related bugs (Bug#9874).
-       * alloc.c (pure_bytes_used_lisp, pure_bytes_used_non_lisp):
-       (allocate_vectorlike, buffer_memory_full, struct sdata, SDATA_SIZE)
-       (string_bytes, check_sblock, allocate_string_data):
-       (compact_small_strings, Fmake_bool_vector, make_string)
-       (make_unibyte_string, make_multibyte_string)
-       (make_string_from_bytes, make_specified_string)
-       (allocate_vectorlike, Fmake_vector, find_string_data_in_pure)
-       (make_pure_string, make_pure_c_string, make_pure_vector, Fpurecopy)
-       (mark_vectorlike):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (allocate_pseudovector):
-       Use int, not EMACS_INT, where int is wide enough.
-       (inhibit_garbage_collection, Fgarbage_collect):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       * bidi.c (bidi_mirror_char): Use EMACS_INT, not int, where
-       int might not be wide enough.
-       (bidi_cache_search, bidi_cache_find, bidi_init_it)
-       (bidi_count_bytes, bidi_char_at_pos, bidi_fetch_char)
-       (bidi_at_paragraph_end, bidi_find_paragraph_start)
-       (bidi_paragraph_init, bidi_resolve_explicit, bidi_resolve_weak)
-       (bidi_level_of_next_char, bidi_move_to_visually_next):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       * buffer.c (copy_overlays, Fgenerate_new_buffer_name)
-       (Fkill_buffer, Fset_buffer_major_mode)
-       (advance_to_char_boundary, Fbuffer_swap_text)
-       (Fset_buffer_multibyte, overlays_at, overlays_in)
-       (overlay_touches_p, struct sortvec, record_overlay_string)
-       (overlay_strings, recenter_overlay_lists)
-       (adjust_overlays_for_insert, adjust_overlays_for_delete)
-       (fix_start_end_in_overlays, fix_overlays_before, modify_overlay)
-       (Fmove_overlay, Fnext_overlay_change, Fprevious_overlay_change)
-       (Foverlay_recenter, last_overlay_modification_hooks_used)
-       (report_overlay_modification, evaporate_overlays, enlarge_buffer_text):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (validate_region): Omit unnecessary test for b <= e,
-       since that's guaranteed by the previous test.
-       (adjust_overlays_for_delete): Avoid pos + length overflow.
-       (Fmove_overlay, Fdelete_overlay, add_overlay_mod_hooklist)
-       (report_overlay_modification):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change):
-       Omit pointer cast, which isn't needed anyway, and doesn't work
-       after the EMACS_INT -> ptrdiff_t change.
-       (Fmove_overlay): Clip BEG and END to ptrdiff_t to avoid overflow.
-       * buffer.h: Adjust decls to match defn changes elsewhere.
-       (struct buffer_text, struct buffer):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       Use EMACS_INT, not int, where int might not be wide enough.
-       * bytecode.c (unmark_byte_stack, exec_byte_code): Use ptrdiff_t,
-       not int, to avoid needless 32-bit limit on 64-bit hosts.
-       (exec_byte_code): Use tighter memory-full test, one that checks
-       for alloca overflow.  Don't compute the address of the object just
-       before an array, as that's not portable.  Use EMACS_INT, not
-       ptrdiff_t or int, where ptrdiff_t or int might not be wide enough.
-       * callint.c (Fcall_interactively):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       * callproc.c (call_process_kill, Fcall_process):
-       Don't assume pid_t fits into an Emacs fixnum.
-       (call_process_cleanup, Fcall_process, child_setup):
-       Don't assume pid_t fits into int.
-       (call_process_cleanup, Fcall_process, delete_temp_file)
-       (Fcall_process_region):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       (Fcall_process): Simplify handling of volatile integers.
-       Use int, not EMACS_INT, where int will do.
-       * casefiddle.c (casify_object, casify_region, operate_on_word)
-       (Fupcase_word, Fdowncase_word, Fcapitalize_word):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (casify_object): Avoid integer overflow when overallocating buffer.
-       * casetab.c (set_identity, shuffle): Prefer int to unsigned when
-       either works.  Use lint_assume to convince GCC 4.6.1 that it's OK.
-       * category.c (Fchar_category_set): Don't assume fixnum fits in int.
-       * category.h (CATEGORYP): Don't assume arg is nonnegative.
-       * ccl.c (GET_CCL_INT): Remove; no longer needed, since the
-       integers are now checked earlier.  All uses replaced with XINT.
-       (ccl_driver):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       For CCL_MapSingle, check that content and value are in int range.
-       (ccl_driver, Fregister_code_conversion_map):
-       Check that Vcode_version_map_vector is a vector.
-       (resolve_symbol_ccl_program): Check that vector header is in range.
-       Always copy the vector, so that we can check its contents reliably
-       now rather than having to recheck each instruction as it's being
-       executed.  Check that vector words fit in 'int'.
-       (ccl_get_compiled_code, Fregister_ccl_program)
-       (Fregister_code_conversion_map): Use ptrdiff_t, not int, for
-       program indexes, to avoid needless 32-bit limit on 64-bit hosts.
-       (Fccl_execute, Fccl_execute_on_string): Check that initial reg
-       contents are in range.
-       (Fccl_execute_on_string): Check that status is in range.
-       * ccl.h (struct ccl_program.idx): Now ptrdiff_t, not int.
-       * character.c (char_resolve_modifier_mask, Fchar_resolve_modifiers):
-       Accept and return EMACS_INT, not int, because callers can pass values
-       out of 'int' range.
-       (c_string_width, strwidth, lisp_string_width, chars_in_text)
-       (multibyte_chars_in_text, parse_str_as_multibyte)
-       (str_as_multibyte, count_size_as_multibyte, str_to_multibyte)
-       (str_as_unibyte, str_to_unibyte, string_count_byte8)
-       (string_escape_byte8, Fget_byte):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (Funibyte_string): Use CHECK_RANGED_INTEGER, not CHECK_NATNUM, to
-       avoid mishandling large integers.
-       * character.h: Adjust decls to match defn changes elsewhere.
-       * charset.c (load_charset_map_from_file, find_charsets_in_text)
-       (Ffind_charset_region):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       (load_charset_map_from_file): Redo idx calculation to avoid overflow.
-       (load_charset_map_from_vector, Fdefine_charset_internal):
-       Don't assume fixnum fits in int.
-       (load_charset_map_from_vector, Fmap_charset_chars):
-       Remove now-unnecessary CHECK_NATNUMs.
-       (Fdefine_charset_internal): Check ranges here, more carefully.
-       Don't rely on undefined behavior with signed left shift overflow.
-       Don't assume unsigned int fits into fixnum, or that fixnum fits
-       into unsigned int.  Don't require max_code to be a valid fixnum;
-       that's not true for gb10830 4-byte on a 32-bit host.  Allow
-       invalid_code to be a cons, for the same reason.  Require code_offset
-       to be a character.  Avoid int overflow if max_char is close
-       to INT_MAX.
-       (CODE_POINT_TO_INDEX): On 32-bit hosts, return int, not unsigned;
-       this is intended anyway and avoids some undefined behavior.
-       (load_charset_map): Pass unsigned, not int, as 2nd arg of
-       INDEX_TO_CODE_POINT, as that's what it expects.
-       (Funify_charset, encode_char): Don't stuff unsigned vals into int vars.
-       * charset.h (DECODE_CHAR): Return int, not unsigned;
-       this is what was intended anyway, and it avoids undefined behavior.
-       (CHARSET_OFFSET): Remove unused macro, instead of fixing its
-       integer-overflow issues.
-       (ENCODE_CHAR): Return unsigned on all hosts, not just on 32-bit hosts.
-       Formerly, it returned EMACS_INT on 64-bit hosts in the common case
-       where the argument is EMACS_INT, and this behavior is not intended.
-       * chartab.c (Fmake_char_table, Fset_char_table_range)
-       (uniprop_get_decoder, uniprop_get_encoder):
-       Don't assume fixnum fits in int.
-       * cmds.c (move_point): New function, that does the gist of
-       Fforward_char and Fbackward_char, but does so while checking
-       for integer overflow more accurately.
-       (Fforward_char, Fbackward_char): Use it.
-       (Fforward_line, Fend_of_line, internal_self_insert)
-       (internal_self_insert):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       Fix a FIXME, by checking for integer overflow when calculating
-       target_clm and actual_clm.
-       * coding.c (detect_coding_XXX, encode_coding_XXX, CODING_DECODE_CHAR)
-       (CODING_ENCODE_CHAR, CODING_CHAR_CHARSET, CODING_CHAR_CHARSET_P)
-       (ASSURE_DESTINATION, coding_alloc_by_realloc)
-       (coding_alloc_by_making_gap, alloc_destination)
-       (detect_coding_utf_8, encode_coding_utf_8, decode_coding_utf_16)
-       (encode_coding_utf_16, detect_coding_emacs_mule)
-       (decode_coding_emacs_mule, encode_coding_emacs_mule)
-       (detect_coding_iso_2022, decode_coding_iso_2022)
-       (encode_invocation_designation, encode_designation_at_bol)
-       (encode_coding_iso_2022, detect_coding_sjis, detect_coding_big5)
-       (decode_coding_sjis, decode_coding_big5, encode_coding_sjis)
-       (encode_coding_big5, detect_coding_ccl, decode_coding_ccl)
-       (encode_coding_ccl, encode_coding_raw_text)
-       (detect_coding_charset, decode_coding_charset)
-       (encode_coding_charset, detect_eol, decode_eol, produce_chars)
-       (produce_composition, produce_charset, produce_annotation)
-       (decode_coding, handle_composition_annotation)
-       (handle_charset_annotation, consume_chars, decode_coding_gap)
-       (decode_coding_object, encode_coding_object, detect_coding_system)
-       (Ffind_coding_systems_region_internal, Fcheck_coding_systems_region)
-       (code_convert_region, code_convert_string)
-       (Fdefine_coding_system_internal)
-       (coding_set_source, coding_set_destination):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (setup_iso_safe_charsets, consume_chars, Funencodable_char_position)
-       (Fdefine_coding_system_internal):
-       Don't assume fixnums fit in int.
-       (decode_coding_gap, decode_coding_object, encode_coding_object)
-       (Fread_coding_system, Fdetect_coding_region)
-       (Funencodable_char_position, Fcheck_coding_systems_region)
-       (get_translation, handle_composition_annotation, consume_chars):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       (consume_chars): Rewrite to not calculate an address outside buffer.
-       (Ffind_operation_coding_system): NATNUMP can eval its arg twice.
-       Don't access memory outside of the args array.
-       (Fdefine_coding_system_internal): Check for charset-id overflow.
-       (ENCODE_ISO_CHARACTER): Use unsigned, not int, to store the unsigned
-       result of ENCODE_CHAR.
-       * coding.h: Adjust decls to match defn changes elsewhere.
-       (struct coding_system):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       * composite.c (get_composition_id, find_composition)
-       (run_composition_function, update_compositions)
-       (compose_text, composition_gstring_put_cache)
-       (composition_gstring_p, composition_gstring_width)
-       (fill_gstring_header, fill_gstring_body, autocmp_chars)
-       (composition_compute_stop_pos, composition_reseat_it)
-       (composition_update_it, struct position_record)
-       (find_automatic_composition, composition_adjust_point)
-       (Fcomposition_get_gstring, Ffind_composition_internal):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (update_compositions):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       * composite.h: Adjust decls to match defn changes elsewhere.
-       (struct composition):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       * data.c (let_shadows_buffer_binding_p, let_shadows_global_binding_p):
-       Do not attempt to compute the address of the object just before a
-       buffer; this is not portable.
-       (Faref, Faset):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (Faset): Use int, not EMACS_INT, where int is wide enough.
-       (Fstring_to_number): Don't assume fixnums fit in int.
-       (Frem): Don't assume arg is nonnegative.
-       * dbusbind.c (xd_append_arg): Check for integers out of range.
-       (Fdbus_call_method): Don't overflow the timeout int.
-       (extract_signed, extract_unsigned): New functions.
-       (XD_CHECK_DBUS_SERIAL): Remove; superseded by extract_unsigned.
-       (xd_get_connection_references): Return ptrdiff_t, not int.
-       All uses changed.
-       (xd_signature, xd_append_arg, xd_retrieve_arg, Fdbus_message_internal)
-       (xd_read_message_1):
-       Use int, not unsigned, where the dbus API uses int.
-       (Fdbus_message_internal): Don't overflow mtype.
-       (syms_of_dbusbind): Allocate right-sized buffer for integers.
-       * dired.c (directory_files_internal, file_name_completion, scmp)
-       (file_name_completion_stat):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       (file_name_completion): Don't overflow matchcount.
-       (file_name_completion_stat): Use SAFE_ALLOCA, not alloca.
-       * dispextern.h: Adjust decls to match defn changes elsewhere.
-       (struct text_pos, struct glyph, struct bidi_saved_info)
-       (struct bidi_string_data, struct bidi_it, struct composition_it)
-       (struct it):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (struct display_pos, struct composition_it, struct it):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       * dispnew.c (increment_matrix_positions)
-       (increment_row_positions, mode_line_string)
-       (marginal_area_string):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (change_frame_size_1, Fredisplay, Fframe_or_buffer_changed_p):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       (duration_to_sec_usec): New function, to check for overflow better.
-       (Fsleep_for, sit_for): Use it.
-       * doc.c (get_doc_string, store_function_docstring):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (get_doc_string, Fsnarf_documentation):
-       Use int, not EMACS_INT, where int is wide enough.
-       (get_doc_string):
-       Use SAFE_ALLOCA, not alloca.
-       Check for overflow when converting EMACS_INT to off_t.
-       * doprnt.c (doprnt):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       * editfns.c (init_editfns, Fuser_uid, Fuser_real_uid):
-       Don't assume uid_t fits into fixnum.
-       (buildmark, Fgoto_char, overlays_around, find_field, Fdelete_field)
-       (Ffield_string, Ffield_string_no_properties, Ffield_beginning)
-       (Ffield_end, Fconstrain_to_field, Fline_beginning_position)
-       (Fline_end_position, Fprevious_char, Fchar_after, Fchar_before)
-       (general_insert_function)
-       (Finsert_char, make_buffer_string, make_buffer_string_both)
-       (update_buffer_properties, Fbuffer_substring)
-       (Fbuffer_substring_no_properties, Fcompare_buffer_substrings)
-       (Fsubst_char_in_region, check_translation)
-       (Ftranslate_region_internal, save_restriction_restore, Fformat)
-       (transpose_markers, Ftranspose_regions):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (clip_to_bounds): Move to lisp.h as an inline function).
-       (Fconstrain_to_field): Don't assume integers are nonnegative.
-       (Fline_beginning_position, Fsave_excursion, Fsave_current_buffer):
-       (Fsubst_char_in_region, Fsave_restriction):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       (Femacs_pid): Don't assume pid_t fits into fixnum.
-       (lo_time): Use int, not EMACS_INT, when int suffices.
-       (lisp_time_argument): Check for usec out of range.
-       (Fencode_time): Don't assume fixnum fits in int.
-       (Fuser_login_name, Fuser_full_name): Signal an error
-       if a uid argument is out of range, rather than relying on
-       undefined behavior.
-       (Fformat_time_string): Remove now-unnecessary check.
-       lisp_time_argument checks for out-of-range usec now.
-       Use ptrdiff_t, not size_t, where ptrdiff_t will do.
-       * emacs.c (gdb_valbits, gdb_gctypebits): Now int, not EMACS_INT.
-       (gdb_data_seg_bits): Now uintptr_t, not EMACS_INT.
-       (PVEC_FLAG, gdb_array_mark_flag): Now ptrdiff_t, not EMACS_INT.
-       (init_cmdargs, Fdump_emacs):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       (Fkill_emacs): Don't assume fixnum fits in int; instead, take just
-       the bottom (typically) 32 bits of the fixnum.
-       * eval.c (specpdl_size, call_debugger):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (when_entered_debugger, Fbacktrace_debug):
-       Don't assume fixnum can fit in int.
-       (Fdefvaralias, Fdefvar): Do not attempt to compute the address of
-       the object just before a buffer; this is not portable.
-       (FletX, Flet, Funwind_protect, do_autoload, Feval, funcall_lambda)
-       (grow_specpdl, unbind_to):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       (Fapply, apply_lambda): Don't assume ptrdiff_t can hold fixnum.
-       (grow_specpdl): Simplify allocation by using xpalloc.
-       (Fprog1, Fprog2): Don't assume list length fits in int.  Simplify.
-       * fileio.c (Ffind_file_name_handler, Fcopy_file, Frename_file)
-       (Finsert_file_contents, Fwrite_region, Fdo_auto_save):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       (Ffind_file_name_handler, non_regular_inserted, Finsert_file_contents)
-       (a_write, e_write):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (Fcopy_file, non_regular_nbytes, read_non_regular)
-       (Finsert_file_contents):
-       Use int, not EMACS_INT, where int is wide enough.
-       (READ_BUF_SIZE): Verify that it fits in int.
-       (Finsert_file_contents): Check that counts are in proper range,
-       rather than assuming fixnums fit into ptrdiff_t etc.
-       Don't assume fixnums fit into int.
-       * floatfns.c (Fexpt): Avoid undefined signed * signed overflow.
-       * fns.c (Fcompare_strings, Fstring_lessp, struct textprop_rec, concat)
-       (string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
-       (string_char_to_byte, string_byte_to_char)
-       (string_make_multibyte, string_to_multibyte)
-       (string_make_unibyte, Fstring_as_unibyte, Fstring_as_multibyte)
-       (Fstring_to_unibyte, Fsubstring, Fsubstring_no_properties)
-       (substring_both, Fdelete, internal_equal, Ffillarray)
-       (Fclear_string, mapcar1)
-       (Fbase64_encode_region, Fbase64_encode_string, base64_encode_1)
-       (Fbase64_decode_region, Fbase64_decode_string, base64_decode_1)
-       (larger_vector, make_hash_table, maybe_resize_hash_table)
-       (hash_lookup, hash_remove_from_table, hash_clear, sweep_weak_table)
-       (Fmaphash, secure_hash):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (concat): Check for string index and length overflow.
-       (Fmapconcat): Don't assume fixnums fit into ptrdiff_t.
-       (Frequire):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       (larger_vector): New API (vec, incr_min, size_max) replaces old
-       one (vec, new_size, init).  This catches size overflow.
-       INIT was removed because it was always Qnil.
-       All callers changed.
-       (INDEX_SIZE_BOUND): New macro, which calculates more precisely
-       the upper bound on a hash table index size.
-       (make_hash_table, maybe_resize_hash_table): Use it.
-       (secure_hash): Computer start_byte and end_byte only after
-       they're known to be in ptrdiff_t range.
-       * font.c (font_intern_prop, font_at, font_range, Ffont_shape_gstring)
-       (Ffont_get_glyphs, Ffont_at):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (font_style_to_value, font_prop_validate_style, font_expand_wildcards)
-       (Flist_fonts, Fopen_font):
-       Don't assume fixnum can fit in int.
-       (check_gstring): Don't assume index can fit in int.
-       (font_match_p): Check that fixnum is a character, not a nonnegative
-       fixnum, since the later code needs to stuff it into an int.
-       (font_find_for_lface): Use SAFE_ALLOCA_LISP, not alloca.
-       (font_fill_lglyph_metrics): Use unsigned, not EMACS_INT, to avoid
-       conversion overflow issues.
-       (Fopen_font): Check for integer out of  range.
-       (Ffont_get_glyphs): Don't assume index can fit in int.
-       * font.h: Adjust decls to match defn changes elsewhere.
-       * fontset.c (reorder_font_vector): Redo score calculation to avoid
-       integer overflow.
-       (num_auto_fontsets, fontset_from_font): Use ptrdiff_t, not
-       printmax_t, where ptrdiff_t is wide enough.
-       (Finternal_char_font):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       * frame.c (Fset_mouse_position, Fset_mouse_pixel_position)
-       (Fset_frame_height, Fset_frame_width, Fset_frame_size)
-       (Fset_frame_position, x_set_frame_parameters)
-       (x_set_line_spacing, x_set_border_width)
-       (x_set_internal_border_width, x_set_alpha, x_figure_window_size):
-       Check that fixnums are in proper range for system types.
-       (frame_name_fnn_p, Fframe_parameter, Fmodify_frame_parameters):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (Fmodify_frame_parameters): Don't assume fixnum fits in int.
-       Use SAFE_ALLOCA_LISP, not alloca.
-       * frame.h (struct frame): Use intptr_t, not EMACS_INT, where
-       intptr_t is wide enough.
-       * fringe.c (lookup_fringe_bitmap, get_logical_fringe_bitmap)
-       (Fdefine_fringe_bitmap): Don't assume fixnum fits in int.
-       (Ffringe_bitmaps_at_pos): Don't assume index fits in int.
-       Check for fixnum out of range.
-       * ftfont.c (ftfont_list): Don't assume index fits in int.
-       Check that fixnums are in proper range for system types.
-       (ftfont_shape_by_flt):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       * gnutls.c (emacs_gnutls_write, emacs_gnutls_read):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (Fgnutls_error_fatalp, Fgnutls_error_string, Fgnutls_boot):
-       Check that fixnums are in proper range for system types.
-       * gnutls.h: Adjust decls to match defn changes elsewhere.
-       * gtkutil.c (xg_dialog_run):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       (update_frame_tool_bar):
-       Check that fixnums are in proper range for system types.
-       * image.c (parse_image_spec): Redo count calculation to avoid overflow.
-       (lookup_image): Check that fixnums are in range for system types.
-       * indent.c (last_known_column, last_known_column_point):
-       (current_column_bol_cache):
-       (skip_invisible, current_column, check_display_width):
-       (check_display_width, scan_for_column, current_column_1)
-       (Findent_to, Fcurrent_indentation, position_indentation)
-       (indented_beyond_p, Fmove_to_column, compute_motion):
-       (Fcompute_motion, Fvertical_motion):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (last_known_column_modified): Use EMACS_INT, not int.
-       (check_display_width):
-       (Fcompute_motion):
-       Check that fixnums and floats are in proper range for system types.
-       (compute_motion): Don't assume index or fixnum fits in int.
-       (compute_motion, Fcompute_motion):
-       Use int, not EMACS_INT, when it is wide enough.
-       (vmotion): Omit local var start_hpos that is always 0; that way
-       we don't need to worry about overflow in expressions involving it.
-       * indent.h: Adjust decls to match defn changes elsewhere.
-       (struct position):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       Use int, not EMACS_INT, where int is wide enough.
-       Remove unused members ovstring_chars_done and tab_offset;
-       all uses removed.
-       * insdel.c (move_gap, move_gap_both, gap_left, gap_right)
-       (adjust_markers_for_delete, adjust_markers_for_insert, adjust_point)
-       (adjust_markers_for_replace, make_gap_larger, make_gap_smaller)
-       (make_gap, copy_text, 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_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 ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       * intervals.c (traverse_intervals, rotate_right, rotate_left)
-       (balance_an_interval, split_interval_right, split_interval_left)
-       (find_interval, next_interval, update_interval)
-       (adjust_intervals_for_insertion, delete_node, delete_interval)
-       (interval_deletion_adjustment, adjust_intervals_for_deletion)
-       (static_offset_intervals, offset_intervals)
-       (merge_interval_right, merge_interval_left, make_new_interval)
-       (graft_intervals_into_buffer, temp_set_point_both)
-       (temp_set_point, set_point, adjust_for_invis_intang)
-       (set_point_both, move_if_not_intangible, get_property_and_range)
-       (get_local_map, copy_intervals, copy_intervals_to_string)
-       (compare_string_intervals, set_intervals_multibyte_1):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       * intervals.h: Adjust decls to match defn changes elsewhere.
-       (struct interval):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       * keyboard.c (this_command_key_count, this_single_command_key_start)
-       (before_command_key_count, before_command_echo_length, echo_now)
-       (echo_length, recursive_edit_1, Frecursive_edit, Ftrack_mouse)
-       (command_loop_1, safe_run_hooks, read_char, timer_check_2)
-       (menu_item_eval_property, read_key_sequence, Fread_key_sequence)
-       (Fread_key_sequence_vector, Fexecute_extended_command, Fsuspend_emacs):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       (last_non_minibuf_size, last_point_position, echo_truncate)
-       (command_loop_1, adjust_point_for_property, read_char, gen_help_event)
-       (make_lispy_position, make_lispy_event, parse_modifiers_uncached)
-       (parse_modifiers, modify_event_symbol, Fexecute_extended_command)
-       (stuff_buffered_input):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (last_auto_save, command_loop_1, read_char):
-       Use EMACS_INT, not int, to avoid integer overflow.
-       (record_char): Avoid overflow in total_keys computation.
-       (parse_modifiers_uncached): Redo index calculation to avoid overflow.
-       * keyboard.h: Adjust decls to match defn changes elsewhere.
-       * keymap.c (Fdefine_key, Fcurrent_active_maps, accessible_keymaps_1)
-       (Fkey_description, Fdescribe_vector, Flookup_key):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       (click_position): New function, to check that positions are in range.
-       (Fcurrent_active_maps):
-       (describe_command):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (Faccessible_keymaps, Fkey_description):
-       (preferred_sequence_p):
-       Don't assume fixnum can fit into int.
-       (Fkey_description): Use SAFE_ALLOCA_LISP, not alloca.
-       Check for integer overflow in size calculations.
-       (Ftext_char_description): Use CHECK_CHARACTER, not CHECK_NUMBER, to
-       avoid mishandling large integers.
-       * lisp.h: Adjust decls to match defn changes elsewhere.
-       (ARRAY_MARK_FLAG, PSEUDOVECTOR_FLAG, struct Lisp_String)
-       (struct vectorlike_header, struct Lisp_Subr, struct Lisp_Hash_Table)
-       (struct Lisp_Marker):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (clip_to_bounds): Now an inline function, moved here from editfns.c.
-       (GLYPH_CODE_P): Check for overflow in system types, subsuming the
-       need for GLYPH_CODE_CHAR_VALID_P and doing proper checking ourselves.
-       All callers changed.
-       (GLYPH_CODE_CHAR, GLYPH_CODE_FACE):
-       Assume the arg has valid form, since it always does.
-       (TYPE_RANGED_INTEGERP): Avoid bug when checking against a wide
-       unsigned integer system type.
-       (CHECK_RANGED_INTEGER, CHECK_TYPE_RANGED_INTEGER): New macros.
-       (struct catchtag, specpdl_size, SPECPDL_INDEX, USE_SAFE_ALLOCA):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       (struct catchtag): Use EMACS_INT, not int, since it may be a fixnum.
-       (duration_to_sec_usec): New decl.
-       * lread.c (read_from_string_index, read_from_string_index_byte)
-       (read_from_string_limit, readchar, unreadchar, openp)
-       (read_internal_start, read1, oblookup):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (Fload, readevalloop, Feval_buffer, Feval_region):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       (openp): Check for out-of-range argument to 'access'.
-       (read1): Use int, not EMACS_INT, where int is wide enough.
-       Don't assume fixnum fits into int.
-       Fix off-by-one error that can read outside a buffer.
-       (read_filtered_event): Use duration_to_sec_usec
-       to do proper overflow checking on durations.
-       * macros.c (Fstart_kbd_macro): Use xpalloc to check for overflow
-       in size calculation.
-       (Fexecute_kbd_macro):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       * marker.c (cached_charpos, cached_bytepos, CONSIDER)
-       (byte_char_debug_check, buf_charpos_to_bytepos, verify_bytepos)
-       (buf_bytepos_to_charpos, Fset_marker, set_marker_restricted)
-       (set_marker_both, set_marker_restricted_both, marker_position)
-       (marker_byte_position, Fbuffer_has_markers_at):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (Fset_marker, set_marker_restricted): Don't assume fixnum fits in int.
-       * menu.c (ensure_menu_items): Rename from grow_menu_items.
-       It now merely ensures that the menu is large enough, without
-       necessarily growing it, as this avoids some integer overflow issues.
-       All callers changed.
-       (keymap_panes, parse_single_submenu, Fx_popup_menu):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       (parse_single_submenu, Fx_popup_menu): Don't assume fixnum fits in int.
-       Use SAFE_ALLOCA_LISP, not alloca.
-       (find_and_return_menu_selection): Avoid unnecessary casts of pointers
-       to EMACS_INT.  Check that fixnums are in proper range for system types.
-       * minibuf.c (minibuf_prompt_width, string_to_object)
-       (Fminibuffer_contents, Fminibuffer_contents_no_properties)
-       (Fminibuffer_completion_contents, Ftry_completion, Fall_completions):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (get_minibuffer, read_minibuf_unwind):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       (read_minibuf): Omit unnecessary arg BACKUP_N, which is always nil;
-       this simplifies overflow checking.  All callers changed.
-       (read_minibuf, Fread_buffer, Ftry_completion, Fall_completions)
-       (Ftest_completion):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       * nsfns.m (check_ns_display_info): Don't assume fixnum fits in long.
-       (x_set_menu_bar_lines, x_set_tool_bar_lines, Fx_create_frame):
-       Check that fixnums are in proper range for system types.
-       (Fx_create_frame, Fx_show_tip):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       * nsfont.m (ns_findfonts, nsfont_list_family):
-       Don't assume fixnum fits in long.
-       * nsmenu.m (ns_update_menubar, ns_menu_show, ns_popup_dialog):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       (ns_update_menubar): Use intptr_t, not EMACS_INT, when intptr_t is
-       wide enough.
-       * nsselect.m (ns_get_local_selection, clean_local_selection_data):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       * print.c (print_buffer_size, print_buffer_pos, print_buffer_pos_byte)
-       (PRINTDECLARE, PRINTPREPARE):
-       (strout, print_string):
-       (print, print_preprocess, print_check_string_charset_prop)
-       (print_object):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (PRINTDECLARE):
-       (temp_output_buffer_setup, Fprin1_to_string, print_object):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       (PRINTPREPARE): Use int, not ptrdiff_t, where int is wide enough.
-       (printchar, strout): Use xpalloc to catch size calculation overflow.
-       (Fexternal_debugging_output): Don't overflow EMACS_INT->int conversion.
-       (print_error_message): Use SAFE_ALLOCA, not alloca.
-       (print_object): Use int, not EMACS_INT, where int is wide enough.
-       (print_depth, new_backquote_output, print_number_index):
-       Use ptrdiff_t, not int, where int might not be wide enough.
-       * process.c (Fdelete_process): Don't assume pid fits into EMACS_INT.
-       (Fset_process_window_size, Fformat_network_address)
-       (get_lisp_to_sockaddr_size, set_socket_option, Fmake_network_process)
-       (sigchld_handler):
-       Check that fixnums are in proper range for system types.
-       (Fsignal_process): Simplify by avoiding a goto.
-       Check for process-ids out of pid_t range rather than relying on
-       undefined behavior.
-       (process_tick, update_tick): Use EMACS_INT, not int.
-       (Fformat_network_address, read_process_output, send_process)
-       (Fprocess_send_region, status_notify):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (Fformat_network_address, Fmake_serial_process, Fmake_network_process)
-       (wait_reading_process_output, read_process_output, exec_sentinel):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       (conv_lisp_to_sockaddr): Don't assume fixnums fit into int.
-       (Faccept_process_output): Use duration_to_sec_usec to do proper
-       overflow checking on durations.
-       (emacs_get_tty_pgrp, Fprocess_running_child_p, process_send_signal):
-       Don't assume pid_t fits in int.
-       * process.h (struct Lisp_Process): Members tick and update_tick
-       are now of type EMACS_INT, not int.
-       * puresize.h (PURESIZE_RATIO): Shrink this to 8/6 on 32-bit hosts
-       configured --with-wide-int.
-       * scroll.c (calculate_scrolling, calculate_direct_scrolling)
-       (line_ins_del): Use int, not EMACS_INT, where int is wide enough.
-       * search.c (looking_at_1, string_match_1):
-       (fast_string_match, fast_c_string_match_ignore_case)
-       (fast_string_match_ignore_case, fast_looking_at, scan_buffer)
-       (scan_newline, find_before_next_newline, search_command)
-       (trivial_regexp_p, search_buffer, simple_search, boyer_moore)
-       (set_search_regs, wordify):
-       (Freplace_match):
-       (Fmatch_data):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (string_match_1, search_buffer, set_search_regs):
-       (Fmatch_data):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       (wordify): Check for overflow in size calculation.
-       (Freplace_match): Avoid potential buffer overflow in search_regs.start.
-       (Fset_match_data): Don't assume fixnum fits in ptrdiff_t.
-       Check that fixnums are in proper range for system types.
-       * sound.c (struct sound_device)
-       (wav_play, au_play, vox_write, alsa_period_size, alsa_write):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (Fplay_sound_internal):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       * syntax.c (struct lisp_parse_state, find_start_modiff)
-       (Finternal_describe_syntax_value, scan_lists, scan_sexps_forward):
-       (Fparse_partial_sexp):
-       Don't assume fixnums can fit in int.
-       (struct lisp_parse_state, find_start_pos, find_start_value)
-       (find_start_value_byte, find_start_begv)
-       (update_syntax_table, char_quoted, dec_bytepos)
-       (find_defun_start, prev_char_comend_first, back_comment):
-       (scan_words, skip_chars, skip_syntaxes, forw_comment, Fforward_comment)
-       (scan_lists, Fbackward_prefix_chars, scan_sexps_forward):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (Finternal_describe_syntax_value): Check that match_lisp is a
-       character, not an integer, since the code stuffs it into int.
-       (scan_words, scan_sexps_forward):
-       Check that fixnums are in proper range for system types.
-       (Fforward_word):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       (scan_sexps_forward):
-       Use CHARACTERP, not INTEGERP, since the value must fit into int.
-       (Fparse_partial_sexp): Fix doc; element 8 is not ignored.
-       * syntax.h: Adjust decls to match defn changes elsewhere.
-       (struct gl_state_s):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (SETUP_SYNTAX_TABLE_FOR_OBJECT): Use PTRDIFF_MAX, not
-       MOST_POSITIVE_FIXNUM.
-       * sysdep.c (wait_for_termination_1, wait_for_termination)
-       (interruptible_wait_for_termination, mkdir):
-       Don't assume pid_t fits in int; on 64-bit AIX pid_t is 64-bit.
-       (emacs_read, emacs_write):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (system_process_attributes): Don't assume uid_t, gid_t, EMACS_INT,
-       and double all fit in int.
-       * term.c (set_tty_color_mode):
-       Check that fixnums are in proper range for system types.
-       * termhooks.h (struct input_event):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       * textprop.c (validate_interval_range, interval_of)
-       (Fadd_text_properties, set_text_properties_1)
-       (Fremove_text_properties, Fremove_list_of_text_properties)
-       (Ftext_property_any, Ftext_property_not_all)
-       (copy_text_properties, text_property_list, extend_property_ranges)
-       (verify_interval_modification):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (Fnext_single_char_property_change)
-       (Fprevious_single_char_property_change):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       (copy_text_properties):
-       Check for integer overflow in index calculation.
-       * undo.c (last_boundary_position, record_point, record_insert)
-       (record_delete, record_marker_adjustment, record_change)
-       (record_property_change):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (truncate_undo_list, Fprimitive_undo): Don't assume fixnum fits in int.
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       * w32fns.c (Fx_create_frame, x_create_tip_frame, Fx_show_tip)
-       (Fx_hide_tip, Fx_file_dialog):
-       * w32menu.c (set_frame_menubar):
-       Use ptrdiff_t, not int, for consistency with rest of code.
-       * window.c (window_scroll_preserve_hpos, window_scroll_preserve_vpos)
-       (select_window, Fdelete_other_windows_internal)
-       (window_scroll_pixel_based, window_scroll_line_based)
-       (Frecenter, Fset_window_configuration):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (Fset_window_hscroll, run_window_configuration_change_hook)
-       (set_window_buffer, temp_output_buffer_show, scroll_command)
-       (Fscroll_other_window, Frecenter):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       (Fwindow_line_height, window_scroll, Fscroll_left, Fscroll_right):
-       Don't assume fixnum fits in int.
-       (Fset_window_scroll_bars):
-       Check that fixnums are in proper range for system types.
-       * xdisp.c (help_echo_pos, pos_visible_p, string_pos_nchars_ahead)
-       (string_pos, c_string_pos, number_of_chars, init_iterator)
-       (in_ellipses_for_invisible_text_p, init_from_display_pos)
-       (compute_stop_pos, next_overlay_change, compute_display_string_pos)
-       (compute_display_string_end, handle_face_prop)
-       (face_before_or_after_it_pos, handle_invisible_prop)
-       (handle_display_prop, handle_display_spec, handle_single_display_spec)
-       (display_prop_intangible_p, string_buffer_position_lim)
-       (string_buffer_position, handle_composition_prop, load_overlay_strings)
-       (get_overlay_strings_1, get_overlay_strings)
-       (iterate_out_of_display_property, forward_to_next_line_start)
-       (back_to_previous_visible_line_start, reseat, reseat_to_string)
-       (get_next_display_element, set_iterator_to_next)
-       (get_visually_first_element, compute_stop_pos_backwards)
-       (handle_stop_backwards, next_element_from_buffer)
-       (move_it_in_display_line_to, move_it_in_display_line)
-       (move_it_to, move_it_vertically_backward, move_it_by_lines)
-       (add_to_log, message_dolog, message_log_check_duplicate)
-       (message2, message2_nolog, message3, message3_nolog
-       (with_echo_area_buffer, display_echo_area_1, resize_mini_window_1)
-       (current_message_1, truncate_echo_area, truncate_message_1)
-       (set_message, set_message_1, store_mode_line_noprop)
-       (hscroll_window_tree, debug_delta, debug_delta_bytes, debug_end_vpos)
-       (text_outside_line_unchanged_p, check_point_in_composition)
-       (reconsider_clip_changes)
-       (redisplay_internal, set_cursor_from_row, try_scrolling)
-       (try_cursor_movement, set_vertical_scroll_bar, redisplay_window)
-       (redisplay_window, find_last_unchanged_at_beg_row)
-       (find_first_unchanged_at_end_row, row_containing_pos, try_window_id)
-       (trailing_whitespace_p, find_row_edges, display_line)
-       (RECORD_MAX_MIN_POS, Fcurrent_bidi_paragraph_direction)
-       (display_mode_element, store_mode_line_string)
-       (pint2str, pint2hrstr, decode_mode_spec)
-       (display_count_lines, display_string, draw_glyphs)
-       (x_produce_glyphs, x_insert_glyphs)
-       (rows_from_pos_range, mouse_face_from_buffer_pos)
-       (fast_find_string_pos, mouse_face_from_string_pos)
-       (note_mode_line_or_margin_highlight, note_mouse_highlight):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (safe_call, init_from_display_pos, handle_fontified_prop)
-       (handle_single_display_spec, load_overlay_strings)
-       (with_echo_area_buffer, setup_echo_area_for_printing)
-       (display_echo_area, echo_area_display)
-       (x_consider_frame_title, prepare_menu_bars, update_menu_bar)
-       (update_tool_bar, hscroll_window_tree, redisplay_internal)
-       (redisplay_window, dump_glyph_row, display_mode_line)
-       (Fformat_mode_line, decode_mode_spec, on_hot_spot_p):
-       (handle_display_spec, display_prop_string_p):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       (handle_single_display_spec, build_desired_tool_bar_string)
-       (redisplay_tool_bar, scroll_window_tree, Fdump_glyph_matrix)
-       (get_specified_cursor_type):
-       Check that fixnums are in proper range for system types.
-       (struct overlay_entry, resize_mini_window, Fdump_glyph_row)
-       (Flookup_image_map):
-       Don't assume fixnums fit in int.
-       (compare_overlay_entries):
-       Avoid mishandling comparisons due to subtraction overflow.
-       (load_overlay_strings): Use SAFE_NALLOCA, not alloca.
-       (last_escape_glyph_face_id, last_glyphless_glyph_face_id):
-       (handle_tool_bar_click):
-       Use int, not unsigned, since we prefer signed and the signedness
-       doesn't matter here.
-       (get_next_display_element, next_element_from_display_vector):
-       Use int, not EMACS_INT, when int is wide enough.
-       (start_hourglass): Use duration_to_sec_usec to do proper
-       overflow checking on durations.
-       * xfaces.c (Fbitmap_spec_p):
-       Check that fixnums are in proper range for system types.
-       (compare_fonts_by_sort_order):
-       Avoid mishandling comparisons due to subtraction overflow.
-       (Fx_family_fonts, realize_basic_faces):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       (Fx_family_fonts):
-       Don't assume fixnum fits in int.
-       Use SAFE_ALLOCA_LISP, not alloca.
-       (merge_face_heights): Remove unnecessary cast to EMACS_INT.
-       (Finternal_make_lisp_face): Don't allocate more than MAX_FACE_ID.
-       (face_at_buffer_position, face_for_overlay_string)
-       (face_at_string_position):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       (merge_faces): Use int, not EMACS_INT, where int is wide enough.
-       * xfns.c (x_set_menu_bar_lines, x_set_tool_bar_lines, x_icon_verify)
-       (Fx_show_tip):
-       Check that fixnums are in proper range for system types.
-       (Fx_create_frame, x_create_tip_frame, Fx_show_tip)
-       (Fx_hide_tip, Fx_file_dialog, Fx_select_font):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       (Fx_change_window_property): Don't assume fixnums fit in int.
-       * xfont.c (xfont_chars_supported):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       * xmenu.c (Fx_popup_dialog, set_frame_menubar)
-       (create_and_show_popup_menu, create_and_show_dialog, xmenu_show):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       * xml.c (parse_region):
-       * xrdb.c (magic_file_p):
-       Use ptrdiff_t, not EMACS_INT, where ptrdiff_t is wide enough.
-       * xselect.c (TRACE1): Don't assume pid_t promotes to int.
-       (x_get_local_selection, x_reply_selection_request)
-       (x_handle_selection_request, wait_for_property_change):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       (selection_data_to_lisp_data): Use short, not EMACS_INT, where
-       short is wide enough.
-       (x_send_client_event): Don't assume fixnum fits in int.
-       * xterm.c (x_x_to_emacs_modifiers):
-       Don't assume EMACS_INT overflows nicely into int.
-       (x_emacs_to_x_modifiers): Use EMACS_INT, not int, because values
-       may come from Lisp.
-       (handle_one_xevent): NATNUMP can eval its arg twice.
-       (x_connection_closed):
-       Use ptrdiff_t, not int, to avoid needless 32-bit limit on 64-bit hosts.
-       * xterm.h: Adjust decls to match defn changes elsewhere.
-       (struct scroll_bar): Use struct vectorlike_header
-       rather than rolling our own approximation.
-       (SCROLL_BAR_VEC_SIZE): Remove; not used.
-
-2012-05-25  Glenn Morris  <rgm@gnu.org>
-
-       * lisp.mk (lisp): Update for more files being compiled now.
-
-2012-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * lread.c: Remove `read_pure' which makes no difference.
-       (read_pure): Remove var.
-       (unreadpure): Remove function.
-       (readevalloop): Don't call read_list with -1 flag.
-       (read1, read_vector): Don't test read_pure any more.
-       (read_list): Simplify.
-
-       * fileio.c, character.h: Minor style tweaks.
-
-2012-05-24  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * window.h (clip_changed): Remove useless declaration.
-
-2012-05-22  Juanma Barranquero  <lekktu@gmail.com>
-
-       * makefile.w32-in: Follow-up to 2012-05-22T16:20:27Z!eggert@cs.ucla.edu.
-       (TAGS, TAGS-gmake, CONFIG_H): Remove further references to m/intel386.h.
-
-2012-05-22  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Remove src/m/*.
-       This directory predates autoconf and is no longer needed nowadays.
-       Move its few remaining bits of functionality to where they're needed.
-       * m/README, m/alpha.h, m/amdx86-64.h, m/ia64.h, m/ibmrs6000.h:
-       * m/ibms390x.h, m/intel386.h, m/m68k.h, m/macppc.h, m/sparc.h:
-       * m/template.h: Remove.
-       * Makefile.in (M_FILE): Remove.  All uses removed.
-       * alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS):
-       * lisp.h (USE_LSB_TAG):
-       * mem-limits.h (EXCEEDS_LISP_PTR):
-       Use VAL_MAX, not VALBITS, in #if.
-       * lisp.h (EMACS_INT_MAX): New macro, useful in #if.
-       (EMACS_UINT): Define unconditionally now.
-       (BITS_PER_CHAR, BITS_PER_SHORT, BITS_PER_INT, BITS_PER_LONG)
-       (BITS_PER_EMACS_INT): New constants, replacing
-       what used to be in config.h, but not useful in #if.
-       (GCTYPEBITS, VALBITS): Define unconditionally, since m/* files don't
-       define them any more.
-       (VAL_MAX): New macro.
-       (VALMASK): Use it.
-       * puresize.h (PURESIZE_RATIO): Use EMACS_INT_MAX, not
-       BITS_PER_EMACS_INT, in #if.
-       * s/aix4-2.h (BROKEN_FIONREAD, BROKEN_SIGAIO, BROKEN_SIGPTY)
-       (BROKEN_SIGPOLL): Move here from m/ibmrs6000.h, which was removed.
-       * s/gnu-linux.h (ULIMIT_BREAK_VALUE) [__i386__]:
-       * s/ms-w32.h (DATA_START):
-       Move here from removed file m/intel386.h.
-       * s/gnu.h (NLIST_STRUCT): Remove undef; 'configure' does this.
-       * s/irix6-5.h (_LP64): Remove; lisp.h no longer needs this.
-
-2012-05-21  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Assume C89 or later.
-       * alloc.c, buffer.c, lisp.h: Replace POINTER_TYPE with void.
-       * alloc.c (overrun_check_malloc, overrun_check_realloc, xmalloc)
-       (xrealloc):
-       * buffer.c (mmap_free_1, mmap_enlarge): Omit needless casts.
-       * editfns.c, fns.c, gmalloc.c, insdel.c, sysdep.c, termcap.c (NULL):
-       * textprop.c, tparam.c (NULL): Remove.
-       * ralloc.c, vm-limit.c (POINTER): Assume void * works.
-       * regex.c (SIGN_EXTEND_CHAR): Assume signed char works.
-       * regex.h (_RE_ARGS): Remove.  All uses rewritten to use prototypes.
-       * unexelf.c (ElfBitsW): Assume c89 preprocessor or better.
-       * xterm.c (input_signal_count): Assume volatile works.
-
-2012-05-21  Ken Brown  <kbrown@cornell.edu>
-
-       * xgselect.c (xg_select): Fix first argument in call to 'select'
-       (bug#11508).
-
-2012-05-20  Ken Brown  <kbrown@cornell.edu>
-
-       * gmalloc.c (_free_internal_nolock, _realloc_internal_nolock)
-       [CYGWIN]: Cast ptr to (char *) before comparing to _heapbase.
-
-2012-05-19  Ken Brown  <kbrown@cornell.edu>
-
-       * xfns.c (x_in_use): Remove `static' qualifier.
-       * xterm.h (x_in_use): Declare.
-       * xgselect.c: Include xterm.h.
-       (xg_select): Test `x_in_use' instead of `inhibit_window_system'
-       and `display_arg' (bug#9754).
-
-2012-05-19  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * s/ms-w32.h (HAVE_GETDOMAINNAME): Remove; not needed.
-
-       * m/vax.h: Remove; no longer needed since HAVE_FTIME is being removed.
-       * s/ms-w32.h (HAVE_FTIME): Remove; not needed.
-
-2012-05-18  Eli Zaretskii  <eliz@gnu.org>
-
-       Fix compilation with -DGLYPH_DEBUG=1 on MS-Windows.
-
-       * w32term.c [GLYPH_DEBUG]: Add prototype for x_check_font.
-       (x_check_font) [GLYPH_DEBUG]: New function, copied from xterm.c.
-
-       * w32fns.c (unwind_create_frame) [GLYPH_DEBUG]: Fix broken
-       reference to image_cache->refcount.
-       (x_create_tip_frame): Fix broken use of FRAME_IMAGE_CACHE.
-
-2012-05-17  Juri Linkov  <juri@jurta.org>
-
-       * search.c (Fword_search_regexp, Fword_search_backward)
-       (Fword_search_forward, Fword_search_backward_lax)
-       (Fword_search_forward_lax): Move functions to isearch.el
-       (bug#10145, bug#11381).
-
-2012-05-16  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * xgselect.c (xg_select): Just invoke 'select' if -nw (Bug#9754).
-
-2012-05-15  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * lread.c (init_obarray): Declare Qt and Qnil as special.
-
-2012-05-14  Glenn Morris  <rgm@gnu.org>
-
-       * nsterm.m (ns_init_paths): Fix typo ("libexec" not "lib-exec").
-       Put "libexec" before "bin", for the sake of init_callproc_1.
-
-2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * keyboard.c (kbd_buffer_get_event) [!HAVE_DBUS]: Omit unused local.
-
-       * unexaix.c: Port to more-recent AIX compilers.
-       (report_error, report_error_1, make_hdr, copy_sym)
-       (mark_x, adjust_lnnoptrs, unrelocate_symbols):
-       Make arguments const char *, not char *, to avoid violations of C
-       standard and to fix some AIX warnings reported by Gilles Pion.
-
-2012-05-14  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (handle_stop): Don't call get_overlay_strings_1 if we
-       already have overlays loaded.
-       (handle_single_display_spec): Before returning without displaying
-       fringe bitmap, synchronize the bidi iterator with the main display
-       iterator, by calling iterate_out_of_display_property.
-       (iterate_out_of_display_property): Detect buffer iteration by
-       testing that it->string is a Lisp string.
-       (get_next_display_element): When the current object is exhausted,
-       and there's something on it->stack, call set_iterator_to_next to
-       proceed with what's on the stack, instead of returning zero.
-       (set_iterator_to_next): If called at the end of a Lisp string,
-       proceed to consider_string_end without incrementing string
-       position.  Don't increment display vector index past the end of
-       the display vector.  (Bug#11417)
-       (pos_visible_p): Don't report a position visible when move_it_to
-       stopped at the last line of window, which happens to be scanned
-       backwards by the bidi iteration.  (Bug#11464)
-
-2012-05-14  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (handle_single_display_spec): Return 1 for left-margin
-       and right-margin display specs even if the spec is invalid or we
-       are on a TTY, and thus unable to display on the fringes.
-       That's because the text with the property will not be displayed anyway,
-       so we need to signal to the caller that this is a "replacing"
-       display spec.  This fixes display when the spec is invalid or we
-       are on a TTY.
-
-2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * unexaix.c (make_hdr): Fix typo in prototype.
-       This bug broke the build on AIX.  Problem reported by Gilles Pion.
-
-2012-05-14  Michael Albinus  <michael.albinus@gmx.de>
-
-       * keyboard.c (kbd_buffer_get_event): Read special events also in
-       batch mode.  (Bug#11415)
-
-2012-05-12  Glenn Morris  <rgm@gnu.org>
-
-       * ns.mk: Update for ns_appbindir no longer having trailing "/".
-
-2012-05-12  Eli Zaretskii  <eliz@gnu.org>
-
-       * lisp.mk (lisp): Add newcomment.elc.
-
-2012-05-12  Glenn Morris  <rgm@gnu.org>
-
-       * Makefile.in (MKDIR_P): New, set by configure.
-       * ns.mk (${ns_appdir}, ${ns_appbindir}Emacs): Use $MKDIR_P.
-
-2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Remove unused function hourglass_started.
-       * dispextern.h (hourglass_started):
-       * w32fns.c (hourglass_started):
-       * xdisp.c (hourglass_started): Remove.
-
-2012-05-10  Juanma Barranquero  <lekktu@gmail.com>
-
-       * makefile.w32-in ($(BLD)/gmalloc.$(O), $(BLD)/w32menu.$(O)):
-       Update dependencies.
-
-2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * xgselect.c (xg_select): Put maxfds+1 into a var.
-       This is slightly clearer, and pacifies Ubuntu 12.04 gcc.
-
-       * sound.c (DEFAULT_ALSA_SOUND_DEVICE): Define only if HAVE_ALSA.
-
-2012-05-10  Dave Abrahams  <dave@boostpro.com>
-
-       * filelock.c (syms_of_filelock): New boolean create-lockfiles.
-       (lock_file): If create_lockfiles is 0, do nothing.  (Bug#11227)
-
-2012-05-09  Michael Albinus  <michael.albinus@gmx.de>
-
-       * dbusbind.c (xd_registered_buses): New internal Lisp object.
-       Rename all occurences of Vdbus_registered_buses to xd_registered_buses.
-       (syms_of_dbusbind): Remove declaration of Vdbus_registered_buses.
-       Initialize xd_registered_buses.
-
-2012-05-09  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Untag more efficiently if USE_LSB_TAG.
-       This is based on a proposal by YAMAMOTO Mitsuharu in
-       <http://lists.gnu.org/archive/html/emacs-devel/2008-01/msg01876.html>.
-       For an admittedly artificial (nth 8000 longlist) benchmark on
-       Fedora 15 x86-64, this yields a 25% CPU speedup.  Also, it shrinks
-       Emacs's overall text size by 1%.
-       * lisp.h (XUNTAG): New macro.
-       (XCONS, XVECTOR, XSTRING, XSYMBOL, XFLOAT, XMISC, XPROCESS, XWINDOW)
-       (XTERMINAL, XSUBR, XBUFFER, XCHAR_TABLE, XSUB_CHAR_TABLE, XBOOL_VECTOR)
-       (XSETTYPED_PSEUDOVECTOR, XHASH_TABLE, TYPED_PSEUDOVECTORP): Use it.
-       * eval.c (Fautoload):
-       * font.h (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT):
-       * frame.h (XFRAME): Use XUNTAG.
-
-       Port recent dbusbind.c changes to 32-bit --with-wide-int.
-       * dbusbind.c (xd_append_arg, xd_retrieve_arg, Fdbus_message_internal):
-       Remove unportable assumptions about print widths of types like
-       dbus_uint32_t.
-       (xd_get_connection_address, Fdbus_init_bus): Cast Emacs integer to
-       intptr_t when converting between pointer and integer, to avoid GCC
-       warnings about wrong width.
-
-2012-05-09  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32proc.c (new_child): Force Windows to reserve only 64KB of
-       stack for each reader_thread, instead of defaulting to 8MB
-       determined by the linker.  This avoids failures in creating
-       subprocesses on Windows 7, see the discussion in this thread:
-       http://lists.gnu.org/archive/html/emacs-devel/2012-03/msg00119.html.
-
-2012-05-07  Jérémy Compostella  <jeremy.compostella@gmail.com>
-
-       Fix up display of the *Minibuf-0* buffer in the mini window.
-       * keyboard.c (read_char): Don't clear the echo area if there's no
-       message to clear.
-       * xdisp.c (redisplay_internal): Redisplay the mini window (with the
-       contents of *Minibuf-0*) if there's no message displayed in its stead.
-
-2012-05-07  Michael Albinus  <michael.albinus@gmx.de>
-
-       * dbusbind.c (XD_DEBUG_MESSAGE): Don't print message twice in
-       batch mode.
-
-2012-05-06  Chong Yidong  <cyd@gnu.org>
-
-       * lisp.mk (lisp): Update.
-
-2012-05-05  Jim Meyering  <meyering@redhat.com>
-
-       * w32font.c (fill_in_logfont): NUL-terminate a string (Bug#11372).
-
-2012-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * data.c (PUT_ERROR): New macro.
-       (syms_of_data): Use it.  Add new error type `user-error'.
-       * undo.c (user_error): New function.
-       (Fprimitive_undo): Use it.
-       * print.c (print_error_message): Adjust print style for `user-error'.
-       * keyboard.c (user_error): New function.
-       (Fexit_recursive_edit, Fabort_recursive_edit): Use it.
-
-2012-05-03  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Do not limit current-time-string to years 1000..9999.
-       * editfns.c (TM_YEAR_IN_ASCTIME_RANGE): Remove.
-       (Fcurrent_time_string): Support any year that is supported by the
-       underlying localtime representation.  Don't use asctime, as it
-       has undefined behavior for years outside the range -999..9999.
-
-2012-05-02  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix race conditions involving setenv, gmtime, localtime, asctime.
-       Without this fix, interrupts could mess up code that uses these
-       nonreentrant functions, since setting TZ invalidates existing
-       tm_zone or tzname values, and since most of these functions return
-       pointers to static storage.
-       * editfns.c (format_time_string, Fdecode_time, Fencode_time)
-       (Fcurrent_time_string, Fcurrent_time_zone, Fset_time_zone_rule):
-       Grow the critical sections to include not just invoking
-       localtime/gmtime, but also accessing these functions' results
-       including their tm_zone values if any, and any related TZ setting.
-       (format_time_string): Last arg is now struct tm *, not struct tm **,
-       so that the struct tm is saved in the critical section.
-       All callers changed.  Simplify allocation of initial buffer, partly
-       motivated by the fact that memory allocation needs to be outside
-       the critical section.
-
-2012-05-02  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * intervals.c (adjust_intervals_for_insertion): Initialize `newi'
-       with RESET_INTERVAL.
-
-       * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
-       Remove duplicated buffer name initialization.
-
-2012-05-02  Jim Meyering  <jim@meyering.net>
-
-       * xterm.c (x_term_init): Use memcpy instead of strncpy (Bug#11373).
-
-       * xfns.c (x_window): Use xstrdup (Bug#11375).
-
-2012-05-02  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (pos_visible_p): If already at a newline from the
-       display string before the 'while' loop, don't walk back the glyphs
-       from it3.glyph_row.  Solves assertion violation when the display
-       string begins with a newline (egg.el).  (Bug#11367)
-
-2012-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * keyboard.c (Fexecute_extended_command, Vsuggest_key_bindings):
-       Move to simple.el.
-
-2012-05-01  Glenn Morris  <rgm@gnu.org>
-
-       * syssignal.h: Remove reference to BROKEN_SIGINFO (last used in
-       s/ptx4.h), BROKEN_SIGTSTP (last used in m/ustation.h, m/dpx2.h),
-       and BROKEN_SIGURG (was in s/gnu-linux.h prior to 2008-02-10).
-       All were removed before 23.1.
-
-       * dispnew.c: Remove HAVE_LIBNCURSES test;
-       it is always true on relevant platforms.
-
-       * Makefile.in (LD_SWITCH_X_SITE_RPATH):
-       Rename from LD_SWITCH_X_SITE_AUX_RPATH.
-
-       * Makefile.in (LD_SWITCH_X_SITE_AUX): Remove; no longer used.
-
-2012-04-30  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * .gdbinit (xpr): Remove checks for no longer existing misc types.
-       (xintfwd, xboolfwd, xobjfwd, xbufobjfwd, xkbobjfwd, xbuflocal):
-       Remove.
-
-2012-04-28  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Do not avoid creating empty evaporating overlays (Bug#9642).
-       * buffer.c (Fmove_overlay): Revert the change of 2012-04-23.
-       That is, do not delete an evaporating overlay if it becomes
-       empty after its bounds are adjusted to fit within its buffer.
-       This fix caused other problems, and I'm reverting it until we get
-       to the bottom of them.
-
-2012-04-27  Chong Yidong  <cyd@gnu.org>
-
-       * xselect.c (x_convert_selection): Initialize a pointer (Bug#11315).
-
-2012-04-27  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (pos_visible_p): If the window start position is beyond
-       ZV, start the display from buffer beginning.  Prevents assertion
-       violation in init_iterator when the minibuffer window is scrolled
-       via the scroll bar.
-
-       * window.c (window_scroll_pixel_based): Likewise.
-
-2012-04-27  Chong Yidong  <cyd@gnu.org>
-
-       * keymap.c (where_is_internal): Doc fix (Bug#10872).
-
-2012-04-27  Glenn Morris  <rgm@gnu.org>
-
-       * fileio.c (Fcopy_file, Fset_file_selinux_context):
-       Ignore ENOTSUP failures from setfilecon functions.  (Bug#11245)
-
-2012-04-27  Eli Zaretskii  <eliz@gnu.org>
-
-       * dispnew.c (swap_glyph_pointers, copy_row_except_pointers):
-       Don't overrun array limits of glyph row's used[] array.  (Bug#11288)
-
-2012-04-26  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (IT_DISPLAYING_WHITESPACE): In addition to the loaded
-       display element, check also the underlying string or buffer
-       character.  (Bug#11341)
-
-       * w32menu.c: Include w32heap.h.
-       (add_menu_item): If the call to AppendMenuW (via
-       unicode_append_menu) fails, disable Unicode menus only if we are
-       running on Windows 9X/Me.
-
-2012-04-24  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * .gdbinit (xpr): Handle USE_2_TAGS_FOR_INTS.
-       (xgetint): Add missing shift for LSB tags.
-
-2012-04-24  Martin Rudalics  <rudalics@gmx.at>
-
-       * keyboard.c (read_char): Don't wipe echo area for select window
-       events: These might get delayed via `mouse-autoselect-window'
-       (Bug#11304).
-
-2012-04-24  Juanma Barranquero  <lekktu@gmail.com>
-
-       * gnutls.c (init_gnutls_functions): Protect against (unlikely)
-       manipulation of :loaded-from data.
-
-2012-04-23  Juanma Barranquero  <lekktu@gmail.com>
-
-       * gnutls.c (init_gnutls_functions): The value of :loaded-from is
-       now a cons (bug#11311).
-
-2012-04-23  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Do not create empty overlays with the evaporate property (Bug#9642).
-       * buffer.c (Fmove_overlay): Delete an evaporating overlay
-       if it becomes empty after its bounds are adjusted to fit within
-       its buffer.  Without this fix, in a nonempty buffer (let ((o
-       (make-overlay 1 2))) (overlay-put o 'evaporate t) (move-overlay o 0 1))
-       yields an empty overlay that has the evaporate property, which is
-       not supposed to happen.
-
-       Fix minor GTK3 problems found by static checking.
-       * emacsgtkfixed.c (EMACS_TYPE_FIXED, EMACS_FIXED, EmacsFixed)
-       (EmacsFixedPrivate, EmacsFixedClass, struct _EmacsFixed)
-       (struct _EmacsFixedClass, emacs_fixed_get_type):
-       Move decls here from emacsgtkfixed.h, since they needn't be public.
-       (emacs_fixed_get_type): Now static.
-       (emacs_fixed_class_init): Omit unused local.
-       (emacs_fixed_child_type): Remove; unused.
-       * emacsgtkfixed.h (EMACS_TYPE_FIXED, EMACS_FIXED, EmacsFixed)
-       (EmacsFixedPrivate, EmacsFixedClass, struct _EmacsFixed)
-       (struct _EmacsFixedClass): Move to emacsgtkfixed.c.
-       (EMACS_FIXED_CLASS, EMACS_IS_FIXED, EMACS_IS_FIXED_CLASS)
-       (EMACS_FIXED_GET_CLASS): Remove; unused.
-       * gtkutil.c (xg_create_frame_widgets) [!HAVE_GTK3]: Omit unused local.
-
-       * keyboard.c (handle_async_input): Define only if SYNC_INPUT || SIGIO.
-       Problem reported by Juanma Barranquero for Windows -Wunused-function.
-
-2012-04-22  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Modernize and clean up gmalloc.c to assume C89 (Bug#9119).
-       * gmalloc.c (_MALLOC_INTERNAL, _MALLOC_H, _PP, __ptr_t)
-       (__malloc_size_t, __malloc_ptrdiff_t):
-       Remove.  All uses removed, replaced by the definiens if needed,
-       since we can assume C89 or better now.
-       Include <stdint.h>, for PTRDIFF_MAX, uintptr_t.
-       (protect_malloc_state, align, get_contiguous_space)
-       (malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
-       (malloc_atfork_handler_child, malloc_enable_thread)
-       (malloc_initialize_1, __malloc_initialize, morecore_nolock)
-       (_malloc_internal_nolock, _malloc_internal, malloc, _malloc)
-       (_free, _realloc, _free_internal_nolock, _free_internal, free, cfree)
-       (special_realloc, _realloc_internal_nolock, _realloc_internal)
-       (realloc, calloc, __default_morecore, memalign, valloc, checkhdr)
-       (freehook, mallochook, reallochook, mabort, mcheck, mprobe):
-       Define using prototypes, not old style.
-       (align, _malloc_internal_nolock, _free_internal_nolock, memalign):
-       Don't assume ptrdiff_t and uintptr_t are no wider than unsigned long.
-       (align): Don't assume that signed integer overflow wraps around.
-       Omit unused local var.
-       (malloc_initialize_1, morecore_nolock, _malloc_internal_nolock)
-       (_free_internal_nolock, memalign, mallochook, reallochook):
-       Omit no-longer-needed casts.
-       (valloc): Use getpagesize, not __getpagesize.
-       (MAGICWORD, MAGICFREE): Now randomish size_t values, not 32-bit.
-       (struct hdr): The 'magic' member is now size_t, not unsigned long.
-
-       * dbusbind.c (XD_DBUS_VALIDATE_OBJECT): Define only if needed.
-
-2012-04-22  Michael Albinus  <michael.albinus@gmx.de>
-
-       Move functions from C to Lisp.  Make non-blocking method calls
-       the default.  Implement further D-Bus standard interfaces.
-
-       * dbusbind.c (DBUS_NUM_MESSAGE_TYPES): Declare.
-       (QCdbus_request_name_allow_replacement)
-       (QCdbus_request_name_replace_existing)
-       (QCdbus_request_name_do_not_queue)
-       (QCdbus_request_name_reply_primary_owner)
-       (QCdbus_request_name_reply_in_queue)
-       (QCdbus_request_name_reply_exists)
-       (QCdbus_request_name_reply_already_owner): Move to dbus.el.
-       (QCdbus_registered_serial, QCdbus_registered_method)
-       (QCdbus_registered_signal): New Lisp objects.
-       (XD_DEBUG_MESSAGE): Use sizeof.
-       (XD_MESSAGE_TYPE_TO_STRING, XD_OBJECT_TO_STRING)
-       (XD_DBUS_VALIDATE_BUS_ADDRESS, XD_DBUS_VALIDATE_OBJECT)
-       (XD_DBUS_VALIDATE_BUS_NAME, XD_DBUS_VALIDATE_PATH)
-       (XD_DBUS_VALIDATE_INTERFACE, XD_DBUS_VALIDATE_MEMBER): New macros.
-       (XD_CHECK_DBUS_SERIAL): Rename from CHECK_DBUS_SERIAL_GET_SERIAL.
-       (xd_signature, xd_append_arg): Allow float for integer types.
-       (xd_get_connection_references): New function.
-       (xd_get_connection_address): Rename from xd_initialize.
-       Return cached address.
-       (xd_remove_watch): Do not unset $DBUS_SESSION_BUS_ADDRESS.
-       (xd_close_bus): Rename from Fdbus_close_bus.  Not needed on Lisp
-       level.
-       (Fdbus_init_bus): New optional arg PRIVATE.  Cache address.
-       Return number of refcounts.
-       (Fdbus_get_unique_name): Make stronger parameter check.
-       (Fdbus_message_internal): New defun.
-       (Fdbus_call_method, Fdbus_call_method_asynchronously)
-       (Fdbus_method_return_internal, Fdbus_method_error_internal)
-       (Fdbus_send_signal, Fdbus_register_service)
-       (Fdbus_register_signal, Fdbus_register_method): Move to dbus.el.
-       (xd_read_message_1): Obey new structure of Vdbus_registered_objects.
-       (xd_read_queued_messages): Obey new structure of Vdbus_registered_buses.
-       (Vdbus_compiled_version, Vdbus_runtime_version)
-       (Vdbus_message_type_invalid, Vdbus_message_type_method_call)
-       (Vdbus_message_type_method_return, Vdbus_message_type_error)
-       (Vdbus_message_type_signal): New defvars.
-       (Vdbus_registered_buses, Vdbus_registered_objects_table):
-       Adapt docstring.
-
-2012-04-22  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix GC_MALLOC_CHECK debugging output on 64-bit hosts.
-       * alloc.c (emacs_blocked_malloc) [GC_MALLOC_CHECK]:
-       Do not assume ptrdiff_t is the same width as 'int'.
-
-       * alloc.c: Handle unusual debugging option combinations.
-       (GC_CHECK_MARKED_OBJECTS): Undef if ! GC_MARK_STACK,
-       since the two debugging options are incompatible.
-       (GC_MALLOC_CHECK): Similarly, undef if GC_CHECK_MARKED_OBJECTS
-       is defined.
-       (mem_init, mem_insert, mem_insert_fixup):
-       Define if GC_MARK_STACK || GC_MALLOC_CHECK.
-       (NEED_MEM_INSERT): Remove; no longer needed.
-
-2012-04-22  Leo Liu  <sdl.web@gmail.com>
-
-       * sysdep.c (list_system_processes): Support Darwin (Bug#5725).
-
-2012-04-22  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * sysdep.c [__FreeBSD__]: Minor cleanups.
-       (list_system_processes, system_process_attributes) [__FreeBSD__]:
-       Use Emacs indenting style more consistently.  Avoid some casts.
-       Use 'double' consistently rather than mixing 'float' and 'double'.
-
-2012-04-21  Eduard Wiebe  <usenet@pusto.de>
-
-       * sysdep.c (list_system_processes, system_process_attributes):
-       Add implementation for FreeBSD (Bug#5243).
-
-2012-04-21  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * lisp.mk (lisp): Update.
-
-2012-04-20  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * keyboard.c (process_pending_signals): Define only if SYNC_INPUT.
-       It is never used otherwise.
-
-2012-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * print.c (print_preprocess): Only check print_depth if print-circle
-       is nil.
-       (print_object): Check for cycles even when print-circle is nil and
-       print-gensym is t, but only check print_depth if print-circle is nil.
-
-2012-04-20  Chong Yidong  <cyd@gnu.org>
-
-       * process.c (wait_reading_process_output): If EIO occurs on a pty,
-       set the status to "failed" and ensure that sentinel is run.
-
-2012-04-20  Glenn Morris  <rgm@gnu.org>
-
-       * process.c (Fset_process_inherit_coding_system_flag)
-       (Fset_process_query_on_exit_flag): Doc fix (mention return value).
-       (Fmake_network_process, Fmake_serial_process): Doc fix.
-
-2012-04-20  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (string_buffer_position_lim): Limit starting position to
-       BEGV.
-       (set_cursor_from_row): If called for a mode-line or header-line
-       row, return zero immediately.
-       (try_cursor_movement): If inside continuation line, don't back up
-       farther than the first row after the header line, if any.
-       Don't consider the header-line row as "partially visible", even if
-       MATRIX_ROW_PARTIALLY_VISIBLE_P returns non-zero.  (Bug#11261)
-
-2012-04-20  Atsuo Ohki  <ohki@gssm.otsuka.tsukuba.ac.jp>  (tiny change)
-
-       * lread.c (lisp_file_lexically_bound_p): Fix hang at ";-*-\n"
-       (bug#11238).
-
-2012-04-20  Teodor Zlatanov  <tzz@lifelogs.com>
-2012-04-18  Paul Eggert  <eggert@cs.ucla.edu>
-
-       configure: new option --enable-gcc-warnings (Bug#11207)
-       * Makefile.in (C_WARNINGS_SWITCH): Remove.
-       (WARN_CFLAGS, WERROR_CFLAGS): New macros.
-       (ALL_CFLAGS): Use new macros rather than old.
-       * process.c: Ignore -Wstrict-overflow to work around GCC bug 52904.
-       * regex.c: Ignore -Wstrict-overflow.  If !emacs, also ignore
-       -Wunused-but-set-variable, -Wunused-function, -Wunused-macros,
-       -Wunused-result, -Wunused-variable.  This should go away once
-       the Emacs and Gnulib regex code is merged.
-       (xmalloc, xrealloc): Now static.
-
-2012-04-17  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * dired.c (Fsystem_groups): Remove unused local.
-
-2012-04-17  Glenn Morris  <rgm@gnu.org>
-
-       * dired.c (Fsystem_users): Doc fix.
-
-2012-04-17  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * dired.c (Fsystem_users, Fsystem_groups): New functions.  (Bug#7900)
-       (syms_of_dired): Add them.
-
-2012-04-16  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix minor alloc.c problems found by static checking.
-       * alloc.c (_malloc_internal, _free_internal) [!DOUG_LEA_MALLOC]:
-       New extern decls, to avoid calling undeclared functions.
-       (dont_register_blocks): Define if ((!SYSTEM_MALLOC && !SYNC_INPUT)
-       && GC_MALLOC_CHECK), not if ((GC_MARK_STACK || defined
-       GC_MALLOC_CHECK) && GC_MALLOC_CHECK), to match when it's used.
-       (NEED_MEM_INSERT): New macro.
-       (mem_insert, mem_insert_fixup) [!NEED_MEM_INSERT]: Remove; unused.
-       Remove one incorrect comment and fix another.
-
-       Fix minor ralloc.c problems found by static checking.
-       See http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00720.html
-       * ralloc.c (ALIGNED, ROUND_TO_PAGE, HEAP_PTR_SIZE)
-       (r_alloc_size_in_use, r_alloc_freeze, r_alloc_thaw): Remove; unused.
-       (r_alloc_sbrk): Now static.
-
-       Improve ralloc.c interface checking.
-       See http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00720.html
-       * buffer.c (ralloc_reset_variable, r_alloc, r_re_alloc)
-       (r_alloc_free) [REL_ALLOC]: Move decls from here ...
-       * lisp.h (r_alloc, r_alloc_free, r_re_alloc, r_alloc_reset_variable)
-       [REL_ALLOC]: ... to here, to check interface.
-       * m/ia64.h (r_alloc, r_alloc_free) [REL_ALLOC && !_MALLOC_INTERNAL]:
-       Remove decls.  This fixes an "It stinks!".
-
-       * alloc.c (which_symbols): Fix alignment issue / type clash.
-
-2012-04-15  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * lisp.h (struct Lisp_Symbol): Remove explicit padding.
-       (struct Lisp_Misc_Any): Likewise.
-       (struct Lisp_Free): Likewise.
-       * alloc.c (union aligned_Lisp_Symbol): Define.
-       (SYMBOL_BLOCK_SIZE, struct symbol_block): Use union
-       aligned_Lisp_Symbol instead of struct Lisp_Symbol.
-       (union aligned_Lisp_Misc): Define.
-       (MARKER_BLOCK_SIZE, struct marker_block): Use union
-       aligned_Lisp_Misc instead of union Lisp_Misc.
-       (Fmake_symbol, allocate_misc, gc_sweep): Adjust.
-
-2012-04-14  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Make GC_MAKE_GCPROS_NOOPS the default (Bug#9926).
-       * lisp.h (GC_MARK_STACK): Default to GC_MAKE_GCPROS_NOOPS.
-       * s/cygwin.h, s/darwin.h, s/freebsd.h, s/gnu.h, s/irix6-5.h, s/msdos.h:
-       * s/netbsd.h, s/sol2-6.h:
-       Remove definition of GC_MARK_STACK, since the default now works.
-       * s/aix4-2.h, s/hpux10-20.h, s/unixware.h:
-       Define GC_MARK_STACK to GC_USE_GCPROS_AS_BEFORE, since that's
-       no longer the default.
-       * s/gnu-linux.h (GC_MARK_STACK): Adjust to change in default.
-
-2012-04-14  Atsuo Ohki  <ohki@gssm.otsuka.tsukuba.ac.jp>  (tiny change)
-
-       * lread.c (lisp_file_lexically_bound_p):
-       Fix hang at ";-*-\n" (bug#11238).
-
-2012-04-14  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (find_last_unchanged_at_beg_row): Don't consider a row
-       "unchanged" if its end.pos is beyond ZV.  (Bug#11199)
-
-2012-04-14  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsterm.m (constrainFrameRect): Always constrain when there is only
-       one screen (Bug#10962).
-
-2012-04-13  Ken Brown  <kbrown@cornell.edu>
-
-       * s/cygwin.h (PTY_OPEN): Don't try to close a bogus file descriptor.
-
-2012-04-13  Reuben Thomas  <rrt@sc3d.org>
-
-       * indent.c (Fmove_to_column): Change interactive spec (Bug#739).
-
-2012-04-11  Daniel Colascione  <dancol@dancol.org>
-
-       * s/cygwin.h: The vfork the #define in cygwin.h was protecting
-       against is gone.  It's better to use vfork now so that when Cygwin
-       gains a new, working vfork, we use it automatically (bug#10398).
-
-2012-04-11  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * window.c (save_window_save): Obey window-point-insertion-type.
-
-2012-04-11  Glenn Morris  <rgm@gnu.org>
-
-       * Makefile.in (GNUSTEP_CFLAGS): Rename from C_SWITCH_X_SYSTEM.
-
-2012-04-11  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * alloc.c (lisp_align_malloc): Remove unneeded prototype.
-
-2012-04-10  Jason S. Cornez  <jcornez@ravenpack.com>  (tiny change)
-
-       * keyboard.c: Override inhibit-quit after the third C-g (bug#6585).
-       (force_quit_count): New var.
-       (handle_interrupt): Use it.
-
-2012-04-10  Juanma Barranquero  <lekktu@gmail.com>
-
-       * w32.c (w32_delayed_load): Record the full path of the library
-       being loaded (bug#10424).
-
-2012-04-09  Glenn Morris  <rgm@gnu.org>
-
-       * doc.c (Fsnarf_documentation): Check variables, functions are bound,
-       not just in the obarray, before snarfing them.  (Bug#11036)
-
-       * Makefile.in ($(leimdir)/leim-list.el):
-       Pass EMACS rather than BUILT_EMACS.
-
-2012-04-09  Teodor Zlatanov  <tzz@lifelogs.com>
-
-       * process.c (make_process):
-       * process.h: Add integer `gnutls_handshakes_tried' member to
-       process struct.
-
-       * gnutls.h: Add `GNUTLS_EMACS_HANDSHAKES_LIMIT' upper limit.
-       Add convenience `GNUTLS_LOG2i' macro.
-
-       * gnutls.c (gnutls_log_function2i): Convenience log function.
-       (emacs_gnutls_read): Use new log functions,
-       `gnutls_handshakes_tried' process member, and
-       `GNUTLS_EMACS_HANDSHAKES_LIMIT' to limit the number of handshake
-       attempts per process (connection).
-
-2012-04-09  Chong Yidong  <cyd@gnu.org>
-
-       * eval.c (Fuser_variable_p, user_variable_p_eh)
-       (lisp_indirect_variable): Functions deleted.
-       (Fdefvar): Caller changed.
-
-       * callint.c (Finteractive, Fcall_interactively):
-       * minibuf.c (Fread_variable): Callers changed.
-
-2012-04-09  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (set_cursor_from_row): If the display string appears in
-       the buffer at position that is closer to point than the position
-       after the display string, display the cursor on the first glyph of
-       the display string.  Fixes cursor display when a 'display' text
-       property immediately follows invisible text.  (Bug#11094)
-
-2012-04-09  Paul Eggert  <eggert@cs.ucla.edu>
-
-       composite.c: use 'double' consistently
-       * composite.c (get_composition_id): Use 'double' consistently
-       instead of converting 'float' to 'double' and vice versa; this is
-       easier to understand and avoids a GCC warning.
-
-2012-04-09  Glenn Morris  <rgm@gnu.org>
-
-       * Makefile.in: Generate leim-list with bootstrap-emacs, in
-       preparation for dumping it with emacs.  (Bug#4789)
-       (leimdir): New variable.
-       ($(leimdir)/leim-list.el): New rule.
-       (emacs$(EXEEXT)): Depend on leim-list.el.
-
-       * buffer.c (Qucs_set_table_for_input): Remove.  (Bug#9821)
-       (Fget_buffer_create): Don't call Qucs_set_table_for_input.
-       (init_buffer_once, syms_of_buffer): Remove Qucs_set_table_for_input.
-
-2012-04-08  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * lisp.h (struct Lisp_Symbol): Add explicit padding to ensure
-       proper alignment.
-
-2012-04-07  Juanma Barranquero  <lekktu@gmail.com>
-
-       * xml.c (init_libxml2_functions) [WINDOWSNT]:
-       Remove unused local variable.
-
-2012-04-07  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Avoid unnecessary pointer scanning in garbage collection (Bug#10780).
-       * alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): New macro.
-       (mark_memory): Mark Lisp_Objects only if pointers might hide in
-       objects, as mark_maybe_pointer will catch them otherwise.
-       (GC_LISP_OBJECT_ALIGNMENT): Remove; no longer needed.
-       * s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT) [__mc68000__]: Likewise.
-
-2012-04-07  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix typo that broke non-Windows builds.
-       * xml.c (libxml2_loaded_p) [!!WINDOWSNT]: 'inine' -> 'inline'.
-
-2012-04-07  Eli Zaretskii  <eliz@gnu.org>
-
-       Support building on MS-Windows with libxml2.
-
-       * makefile.w32-in (OBJ2): Add xml.$(O).
-       (GLOBAL_SOURCES): Add xml.c.
-       ($(BLD)/xml.$(O)): New dependency list.
-
-       * xml.c (DEF_XML2_FN, LOAD_XML2_FN) [WINDOWSNT]: New macros.
-       (fn_htmlReadMemory, fn_xmlReadMemory, fn_xmlDocGetRootElement)
-       (fn_xmlFreeDoc, fn_xmlCleanupParser, fn_xmlCheckVersion)
-       [!WINDOWSNT]: New macros.
-       (init_libxml2_functions, libxml2_loaded_p): New functions.
-       (parse_region): Call fn_xmlCheckVersion instead of using the macro
-       LIBXML_TEST_VERSION.  Call libxml2 functions via the fn_* macros.
-       (xml_cleanup_parser): New function, export for fn_xmlCleanupParser.
-       Calls xmlCleanupParser only if libxml2 was loaded (or statically
-       linked in).
-       (Flibxml_parse_html_region, Flibxml_parse_xml_region):
-       Call init_libxml2_functions before calling libxml2 functions.
-       (syms_of_xml) <Qlibxml2_dll>: DEFSYM it.
-
-       * emacs.c: Don't include libxml/parser.h.
-       (shut_down_emacs): Call xml_cleanup_parser, instead of calling
-       xmlCleanupParser directly.
-
-       * lisp.h [HAVE_LIBXML2]: Add prototype for xml_cleanup_parser.
-
-2012-04-07  Eli Zaretskii  <eliz@gnu.org>
-
-       * indent.c (Fvertical_motion): If there is a display string at
-       point, use it.vpos to compute how many lines to backtrack after
-       move_it_to point.  (Bug#11133)
-
-2012-04-06  Eli Zaretskii  <eliz@gnu.org>
-
-       * buffer.h (FETCH_CHAR, FETCH_MULTIBYTE_CHAR):
-       * character.h (STRING_CHAR, STRING_CHAR_AND_LENGTH): Add comments
-       about subtle differences between FETCH_CHAR* and STRING_CHAR*
-       macros related to unification of CJK characters.  For the details,
-       see the discussion following the message here:
-       http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11073#14.
-
-2012-04-04  Chong Yidong  <cyd@gnu.org>
-
-       * keyboard.c (Vdelayed_warnings_list): Doc fix.
-
-2012-04-01  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32menu.c (simple_dialog_show, add_menu_item): Use SAFE_ALLOCA
-       instead of alloca.  (Bug#11138)
-
-2012-04-01  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * w32menu.c (is_simple_dialog): Properly check lisp types.
-       (Bug#11141)
-
-2012-03-31  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (move_it_by_lines): When DVPOS is positive, and the
-       position we get to after a call to move_it_to fails the
-       IS_POS_VALID_AFTER_MOVE_P test, move to the next buffer position
-       only if we wind up in a string from display property.  (Bug#11063)
-
-       * window.c (Fdelete_other_windows_internal): Invalidate the row
-       and column information about mouse highlight, so that redisplay
-       restores it after reallocating the glyph matrices.  (Bug#7464)
-
-       * xdisp.c (set_cursor_from_row): If `cursor' property on a display
-       string comes from a `display' text property, use the buffer
-       position of that property as if we actually saw that position in
-       the row's glyphs.
-       (move_it_by_lines): Remove the assertion that
-       "it->current_x == 0 && it->hpos == 0" which can be legitimately
-       violated when there's a before-string at the beginning of a line.
-       (Bug#11063)
-
-2012-03-30  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (append_space_for_newline): If the default face was
-       remapped, use the remapped face for the appended newline.
-       (extend_face_to_end_of_line): Use the remapped default face for
-       extending the face to the end of the line.
-       (display_line): Call extend_face_to_end_of_line when the default
-       face was remapped.  (Bug#11068)
-
-2012-03-29  Eli Zaretskii  <eliz@gnu.org>
-
-       * s/ms-w32.h: Discourage from defining HAVE_GETCWD.
-
-2012-03-28  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * keyboard.c (safe_run_hooks_error): Don't unquote strings.
-
-2012-03-27  Glenn Morris  <rgm@gnu.org>
-
-       * search.c (Fword_search_backward_lax, Fword_search_forward_lax):
-       Doc fixes.
-
-2012-03-26  Kenichi Handa  <handa@m17n.org>
-
-       * dispextern.h (struct glyph): Fix previous change.  Change the
-       bit length of glyphless.ch to 25 (Bug#11082).
-
-2012-03-26  Chong Yidong  <cyd@gnu.org>
-
-       * keyboard.c (Vselection_inhibit_update_commands): New variable.
-       (command_loop_1): Use it; inhibit selection update for
-       handle-select-window too (Bug#8996).
-
-2012-03-25  Fabrice Popineau  <fabrice.popineau@supelec.fr>
-
-       * w32heap.c (_heap_init, _heap_term): Remove dead MSVC-specific code.
-
-2012-03-25  Kenichi Handa  <handa@m17n.org>
-
-       * dispextern.h (struct glyph): Change the bit length of
-       glyphless.ch to 22 to make the member glyphless fit in 32 bits.
-
-2012-03-24  Eli Zaretskii  <eliz@gnu.org>
-
-       * s/ms-w32.h (tzname): Include time.h before redirecting to
-       _tzname.  Fixes the MSVC build.  (Bug#9960)
-
-2012-03-24  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * xdisp.c (produce_glyphless_glyph): Limit length of acronym to 6
-       characters.
-
-       * xterm.c (XTread_socket): Only modify handling_signal if
-       !SYNC_INPUT.  (Bug#11080)
-
-2012-03-23  Eli Zaretskii  <eliz@gnu.org>
-
-       * bidi.c (bidi_fetch_char): Use STRING_CHAR_AND_LENGTH instead of
-       FETCH_MULTIBYTE_CHAR followed by CHAR_BYTES.  Prevents crashes
-       when fetching a multibyte character consumes more bytes than
-       CHAR_BYTES returns, due to unification of CJK characters in
-       string_char.  (Bug#11073)
-
-2012-03-23  Troels Nielsen  <bn.troels@gmail.com>  (tiny change)
-
-       * process.c (wait_reading_process_output): Handle pty disconnect
-       by refraining from sending oneself a SIGCHLD (bug#10933).
-
-2012-03-22  Chong Yidong  <cyd@gnu.org>
-
-       * dispextern.h (struct it): New member string_from_prefix_prop_p.
-
-       * xdisp.c (push_prefix_prop): Rename from push_display_prop.
-       Mark string as coming from a prefix property.
-       (handle_face_prop): Use default face for prefix strings (Bug#4281).
-       (pop_it, reseat_1): Save and restore string_from_prefix_prop_p.
-
-2012-03-21  Chong Yidong  <cyd@gnu.org>
-
-       * xfaces.c (Vface_remapping_alist): Doc fix.
-
-2012-03-20  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32proc.c (Fw32_set_console_codepage)
-       (Fw32_set_console_output_codepage, Fw32_get_codepage_charset):
-       Doc fixes.
-
-2012-03-20  Chong Yidong  <cyd@gnu.org>
-
-       * dispnew.c (Fredisplay, Vredisplay_preemption_period): Update doc
-       to reflect default non-nil value of redisplay-dont-pause.
-
-2012-03-19  Kenichi Handa  <handa@m17n.org>
-
-       * ftfont.c (ftfont_drive_otf): Mask bits of character code to make
-       it fit in a valid range (Bug#11003).
-
-2012-03-18  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (cursor_row_p): Even if the glyph row ends in a string
-       that is not from display property, accept the row as a "cursor
-       row" if one of the string's character has a non-nil `cursor'
-       property.  Fixes cursor positioning when there are newlines in
-       overlay strings, e.g. in icomplete.el.  (Bug#11035)
-
-2012-03-12  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * buffer.c (compare_overlays): Don't assume args differ (Bug#6830).
-
-2012-03-12  Chong Yidong  <cyd@gnu.org>
-
-       * eval.c (inhibit_lisp_code): Rename from
-       inhibit_window_configuration_change_hook; move from window.c.
-
-       * xfns.c (unwind_create_frame_1, Fx_create_frame):
-       * window.c (run_window_configuration_change_hook)
-       (syms_of_window): Callers changed.
-
-2012-03-11  Chong Yidong  <cyd@gnu.org>
-
-       * keymap.c (Fkey_description): Doc fix (Bug#9700).
-
-       * editfns.c (Fconstrain_to_field): Doc fix (Bug#9452).
-
-2012-03-10  Chong Yidong  <cyd@gnu.org>
-
-       * frame.c (other_visible_frames): Don't assume the selected frame
-       is visible (Bug#10955).
-
-2012-03-09  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * buffer.c (compare_overlays): Avoid qsort's instability (bug#6830).
-
-2012-03-08  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * gtkutil.c (x_wm_set_size_hint): Use one row in call to
-       FRAME_TEXT_LINES_TO_PIXEL_HEIGHT so base_height is greater than
-       zero (Bug#10954).
-
-2012-03-03  Glenn Morris  <rgm@gnu.org>
-
-       * alloc.c (Fgarbage_collect, misc-objects-consed): Doc fixes.
-
-2012-03-02  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (try_window_reusing_current_matrix): Don't move cursor
-       position past the first glyph_row that ends at ZV.  (Bug#10902)
-       (redisplay_window, next_element_from_string): Fix typos in
-       comments.
-       (redisplay_window): Pass to move_it_vertically the margin in
-       pixels, not in screen lines.
-
-2012-03-02  Glenn Morris  <rgm@gnu.org>
-
-       * buffer.c (buffer-list-update-hook): Doc fix.
-
-2012-02-29  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (get_overlay_strings_1): Under bidi redisplay, call
-       push_it before setting up the iterator for the first overlay
-       string, even if we have an empty string loaded.
-       (next_overlay_string): If there's an empty string on the iterator
-       stack, pop the stack.  (Bug#10903)
-
-2012-02-25  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Generalize fix for crash due to non-contiguous EMACS_INT (Bug#10780).
-       Suggested by Stefan Monnier in
-       <http://lists.gnu.org/archive/html/emacs-devel/2012-02/msg00692.html>.
-       * alloc.c (widen_to_Lisp_Object): New static function.
-       (mark_memory): Also mark Lisp_Objects by fetching pointer words
-       and widening them to Lisp_Objects.  This would work even if
-       USE_LSB_TAG is defined and wide integers are used, which might
-       happen in a future version of Emacs.
-
-2012-02-25  Chong Yidong  <cyd@gnu.org>
-
-       * fileio.c (Ffile_selinux_context, Fset_file_selinux_context):
-       Doc fix.
-
-       * xselect.c (Fx_selection_exists_p): Doc fix.
-       (x_clipboard_manager_save_all): Print an informative message
-       before saving to clipboard manager.
-
-2012-02-24  Chong Yidong  <cyd@gnu.org>
-
-       * keyboard.c (process_special_events): Handle all X selection
-       requests in kbd_buffer, not just the next one (Bug#8869).
-
-2012-02-23  Chong Yidong  <cyd@gnu.org>
-
-       * xfns.c (Fx_create_frame): Avoid window-configuration-change-hook
-       call when setting menu-bar-lines and tool-bar-lines parameters.
-       (unwind_create_frame_1): New helper function.
-
-       * window.c (inhibit_window_configuration_change_hook): New var.
-       (run_window_configuration_change_hook): Obey it.
-       (syms_of_window): Initialize it.
-
-2012-02-22  Chong Yidong  <cyd@gnu.org>
-
-       * xterm.c (x_draw_image_relief): Add missing type check for
-       Vtool_bar_button_margin (Bug#10743).
-
-2012-02-21  Chong Yidong  <cyd@gnu.org>
-
-       * fileio.c (Vfile_name_handler_alist): Doc fix.
-
-       * buffer.c (Fget_file_buffer): Protect against invalid file
-       handler return value.
-
-2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * .gdbinit (xreload): Don't assume EMACS_INT fits in 'long'
-       when computing $valmask.
-
-       Fix crash due to non-contiguous EMACS_INT (Bug#10780).
-       * lisp.h (VALBITS): Move definition up, so that USE_LSB_TAG can use it.
-       (USE_LSB_TAG): Do not define if UINTPTR_MAX >> VALBITS == 0.
-       It's useless in that case, and it can cause problems on hosts
-       that allocate halves of EMACS_INT values separately.
-       Reported by Dan Horák.  Diagnosed by Andreas Schwab in
-       <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10780#30>.
-       * mem-limits.h (EXCEEDS_LISP_PTR): Define to 0 on hosts where
-       UINTPTR_MAX >> VALBITS == 0.  This is required by the above change;
-       it avoids undefined behavior on hosts where shifting right by more
-       than the word width has undefined behavior.
-
-2012-02-19  Chong Yidong  <cyd@gnu.org>
-
-       * fileio.c (Ffile_name_directory, Ffile_name_nondirectory)
-       (Funhandled_file_name_directory, Ffile_name_as_directory)
-       (Fdirectory_file_name, Fexpand_file_name)
-       (Fsubstitute_in_file_name): Protect against invalid file handler
-       return values (Bug#10845).
-
-2012-02-18  Eli Zaretskii  <eliz@gnu.org>
-
-       * .gdbinit (pitx): Fix incorrect references to fields of the
-       iterator stack.
-
-2012-02-17  Chong Yidong  <cyd@gnu.org>
-
-       * syntax.c (Fscan_lists): Doc fix (Bug#10833).
-
-2012-02-15  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * image.c (MAX_IMAGE_SIZE): Increase from 6.0 to 10.0; see
-       <http://lists.gnu.org/archive/html/emacs-devel/2012-02/msg00540.html>.
-
-2012-02-15  Chong Yidong  <cyd@gnu.org>
-
-       * eval.c (Fdefvar, Fdefconst): Doc fix; note that the variable is
-       marked as special.  Also, starting docstrings with * is obsolete.
-
-2012-02-13  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * gnutls.c (emacs_gnutls_write): Fix last change.
-
-2012-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
-
-       * gnutls.c (emacs_gnutls_write): Set errno appropriately for
-       send_process.
-
-2012-02-13  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * keymap.c (Fsingle_key_description): Handle char ranges.
-
-2012-02-12  Chong Yidong  <cyd@gnu.org>
-
-       * xdisp.c (handle_stop): Avoid assigning -1 to it->face_id here,
-       as that creates a dangerous corner case.
-
-       * window.c (Fdelete_window_internal): Invalidate the mouse
-       highlight (Bug#9904).
-
-2012-02-12  Glenn Morris  <rgm@gnu.org>
-
-       * xselect.c (Fx_own_selection_internal)
-       (Fx_get_selection_internal, Fx_disown_selection_internal)
-       (Fx_selection_owner_p, Fx_selection_exists_p): Doc fixes.
-       * nsselect.m (Fx_own_selection_internal)
-       (Fx_disown_selection_internal, Fx_selection_exists_p)
-       (Fx_selection_owner_p, Fx_get_selection_internal):
-       Sync docs and argument specs with the xselect.c versions.
-
-2012-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
-
-       * gnutls.c (emacs_gnutls_write): Don't infloop if sendto fails.
-
-2012-02-11  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32select.c (Fx_selection_exists_p): Sync doc string and
-       argument list with xselect.c.  (Bug#10783)
-
-       * w16select.c (Fx_selection_exists_p): Sync doc string and
-       argument list with xselect.c.  (Bug#10783)
-
-2012-02-10  Glenn Morris  <rgm@gnu.org>
-
-       * fns.c (Fsecure_hash): Doc fix.
-
-2012-02-09  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (produce_chars): Fix updating of src_end (Bug#10701).
-
-2012-02-07  Chong Yidong  <cyd@gnu.org>
-
-       * buffer.c (Fbuffer_local_variables)
-       (buffer_lisp_local_variables): Handle unbound vars correctly;
-       don't let Qunbound leak into Lisp.
-
-2012-02-07  Glenn Morris  <rgm@gnu.org>
-
-       * image.c (Fimagemagick_types): Doc fix.
-
-       * image.c (imagemagick-render-type): Change it from a lisp object
-       to an integer.  Move the doc here from the lisp manual.
-       Treat all values not equal to 0 the same.
-
-2012-02-06  Chong Yidong  <cyd@gnu.org>
-
-       * doc.c (store_function_docstring): Avoid applying docstring of
-       alias to base function (Bug#2603).
-
-2012-02-04  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * .gdbinit (pp1, pv1): Remove redundant defines.
-       (pr): Use pp.
-
-2012-02-04  Chong Yidong  <cyd@gnu.org>
-
-       * nsterm.m: Declare a global (Bug#10694).
-
-2012-02-04  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32.c (get_emacs_configuration_options):
-       Include --enable-checking, if specified, in the return value.
-
-2012-02-04  Martin Rudalics  <rudalics@gmx.at>
-
-       * dispnew.c (change_frame_size_1): Calculate new_frame_total_cols
-       after rounding frame sizes.  (Bug#9723)
-
-2012-02-04  Eli Zaretskii  <eliz@gnu.org>
-
-       * keyboard.c (adjust_point_for_property): Don't position point
-       before BEGV.  (Bug#10696)
-
-2012-02-03  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Handle overflow when computing char display width (Bug#9496).
-       * character.c (char_width): Return EMACS_INT, not int.
-       (char_width, c_string_width): Check for overflow when
-       computing the width; this is possible now that individual
-       characters can have unbounded width.  Problem introduced
-       by merge from Emacs 23 on 2012-01-19.
-
-2012-02-02  Michael Albinus  <michael.albinus@gmx.de>
-
-       * dbusbind.c (Fdbus_register_method): Mention the return value
-       :ignore in the docstring.
-
-2012-02-02  Glenn Morris  <rgm@gnu.org>
-
-       * callproc.c (Fcall_process, Fcall_process_region): Doc fix.
-
-       * nsterm.m (syms_of_nsterm) <x-toolkit-scroll-bars>:
-       Unconditionally set to t.  (Bug#10673)
-       * nsterm.m (syms_of_nsterm) <x-toolkit-scroll-bars>:
-       * w32term.c (syms_of_w32term) <x-toolkit-scroll-bars>:
-       * xterm.c (syms_of_xterm) <x-toolkit-scroll-bars>: Doc fix.
-
-2012-02-02  Kenichi Handa  <handa@m17n.org>
-
-       (x_produce_glyphs): Cancel previous change.  If cmp->glyph_len is
-       0, do not call append_composite_glyph.
-
-2012-02-02  Kenichi Handa  <handa@m17n.org>
-
-       * xdisp.c (BUILD_COMPOSITE_GLYPH_STRING): Initialize first_s to
-       NULL (Bug#6988).
-       (x_produce_glyphs): If the component of a composition is a null
-       string, set it->pixel_width to 1 to avoid zero-width glyph.
-
-2012-02-01  Eli Zaretskii  <eliz@gnu.org>
-
-       * ralloc.c (resize_bloc, r_alloc_sbrk): Don't call memmove if its
-       first 2 arguments are identical.  This makes inserting large
-       output from a subprocess an order of magnitude faster on
-       MS-Windows, where all sbrk'ed memory is always contiguous.
-
-2012-01-31  Glenn Morris  <rgm@gnu.org>
-
-       * nsterm.m (syms_of_nsterm) <x-toolkit-scroll-bars>:
-       * w32term.c (syms_of_w32term) <x-toolkit-scroll-bars>:
-       * xterm.c (syms_of_xterm) <x-toolkit-scroll-bars>: Sync docs.
-
-2012-01-29  Glenn Morris  <rgm@gnu.org>
-
-       * gnutls.c (syms_of_gnutls): More doc (from etc/NEWS).
-
-2012-01-28  Samuel Thibault  <sthibault@debian.org>  (tiny change)
-
-       * s/gnu.h: Define POSIX_SIGNALS (Bug#10552).
-
-2012-01-28  Chong Yidong  <cyd@gnu.org>
-
-       * minibuf.c (syms_of_minibuf): Doc fix (Bug#10550).
-
-2012-01-26  Chong Yidong  <cyd@gnu.org>
-
-       * keyboard.c (Vecho_keystrokes): Document zero value (Bug#10503).
-
-       * search.c (Fsearch_forward, Fsearch_backward): Document negative
-       repeat counts (Bug#10507).
-
-2012-01-26  Glenn Morris  <rgm@gnu.org>
-
-       * lread.c (syms_of_lread): Doc fix.
-
-2012-01-25  HIROSHI OOTA  <nil@mad.dog.cx>  (tiny change)
-
-       * coding.c (encode_designation_at_bol): Change return value to
-       EMACS_INT.
-
-2012-01-25  Chong Yidong  <cyd@gnu.org>
-
-       * eval.c (Fuser_variable_p): Doc fix; mention custom-variable-p.
-
-2012-01-21  Chong Yidong  <cyd@gnu.org>
-
-       * floatfns.c (Fcopysign): Make the second argument non-optional,
-       since nil is not allowed anyway.
-
-2012-01-21  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * process.c (read_process_output): Use p instead of XPROCESS (proc).
-       (send_process): Likewise.
-
-2012-01-19  Martin Rudalics  <rudalics@gmx.at>
-
-       * window.c (save_window_save, Fcurrent_window_configuration)
-       (Vwindow_persistent_parameters): Do not use Qstate.
-       Rewrite doc-strings.
-
-2012-01-19  Kenichi Handa  <handa@m17n.org>
-
-       * character.c (char_width): New function.
-       (Fchar_width, c_string_width, lisp_string_width):
-       Use char_width (Bug#9496).
-
-2012-01-16  Martin Rudalics  <rudalics@gmx.at>
-
-       * window.c (Vwindow_persistent_parameters): New variable.
-       (Fset_window_configuration, save_window_save): Handle persistent
-       window parameters.
-
-2012-01-14  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32fns.c (signal_user_input): Don't do a QUIT, to avoid
-       thrashing the stack of the thread.  (Bug#9087)
-
-2012-01-12  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * xdisp.c (rows_from_pos_range): Add parens as per gcc -Wparentheses.
-
-2012-01-11  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (rows_from_pos_range): Handle the case where the
-       highlight ends on a newline.  (Bug#10464)
-       (mouse_face_from_buffer_pos): Fix off-by-one error in calculating
-       he end column for display of highlight that ends on a newline
-       before a R2L line.
-
-2012-01-11  Glenn Morris  <rgm@gnu.org>
-
-       * lread.c (init_lread): If no-site-lisp, remove site-lisp dirs
-       from load-path also when installation-directory is nil.  (Bug#10208)
-
-2012-01-10  Glenn Morris  <rgm@gnu.org>
-
-       * emacs.c (syms_of_emacs) <installation-directory>: Doc fix.
-
-       * epaths.in (PATH_LOADSEARCH, PATH_EXEC, PATH_DATA, PATH_DOC):
-       Update template values to be closer to their typical values these days.
-
-2012-01-09  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (rows_from_pos_range): Accept additional argument
-       DISP_STRING, and accept any glyph in a row whose object is that
-       string as eligible for mouse highlight.  Fixes mouse highlight of
-       display strings from overlays.  (Bug#10464)
-
-2012-01-07  Paul Eggert  <eggert@cs.ucla.edu>
-
-       emacs: fix an auto-save permissions race condition (Bug#10400)
-       * fileio.c (auto_saving_dir_umask): New static var.
-       (Fmake_directory_internal): Use it.
-       (do_auto_save_make_dir): Set it, instead of invoking chmod after
-       creating the directory.  The old code temporarily assigns
-       too-generous permissions to the directory.
-       (do_auto_save_eh): Clear it.
-       (Fdo_auto_save): Catch all errors, not just file errors, so
-       that the var is always cleared.
-
-2012-01-07  Eli Zaretskii  <eliz@gnu.org>
-
-       * search.c (scan_buffer): Pass character positions to
-       know_region_cache, not byte positions.  (Bug#6540)
-
-2012-01-07  LynX  <_LynX@bk.ru>  (tiny change)
-
-       * w32.c (sys_rename): Report EXDEV when rename of a directory
-       fails because the target is on another logical disk.  (Bug#10284)
-
-2012-01-07  David Benjamin  <davidben@mit.edu>  (tiny change)
-
-       * xterm.c (x_embed_request_focus): New function.
-
-       * xterm.h: Add prototype.
-
-       * xfns.c (Fx_focus_frame): Use it for embedded frames (Bug#9977).
-
-2012-01-05  Glenn Morris  <rgm@gnu.org>
-
-       * emacs.c (emacs_copyright): Update short copyright year to 2012.
-
-2012-01-01  Eli Zaretskii  <eliz@gnu.org>
-
-       * gnutls.c (init_gnutls_functions): Load gnutls_check_version.
-       Load gnutls_transport_set_lowat only if GnuTLS version is below
-       2.11.1.
-       (emacs_gnutls_handshake): Call gnutls_transport_set_lowat only for
-       GnuTLS versions below 2.11.1.
-
-2011-12-31  Antoine Levitt  <antoine.levitt@gmail.com>
-
-       * xdisp.c (syms_of_xdisp) <window-scroll-functions>: Add warning
-       to the doc string advising against its use for altering the way
-       windows are scrolled.
-
-2011-12-28  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (Fdefine_coding_system_internal): Make an utf-8 base
-       coding-system ASCII compatible only when it does not produce BOM
-       on encoding (Bug#10383).
-
-2011-12-26  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * xmenu.c (x_menu_wait_for_event): Use xg_select for Gtk3 so menus
-       can scroll.
-       (create_and_show_popup_menu): Always use menu_position_func for
-       Gtk3 (Bug#10361).
-
-2011-12-24  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * callint.c (Fcall_interactively): Don't truncate prompt string.
-
-2011-12-23  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (handle_invisible_prop): Handle correctly an invisible
-       property that ends at ZV, so that the bidi iteration could be
-       resumed from there (after widening).  (Bug#10360)
-
-2011-12-22  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsfont.m (ns_spec_to_descriptor): Do not autorelease fdesc.
-
-2011-12-21  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsterm.m (x_free_frame_resources):
-       Release f->output_data.ns->miniimage.
-       (ns_index_color): Fix indentation.  Do not retain
-       color_table->colors[i].
-
-       * nsmenu.m (ns_update_menubar): Call free_menubar_widget_value_tree
-       before returning.
-
-       * nsfns.m (x_set_background_color): Assign return value from
-       ns_index_color to face-background instead of NSColor*.
-       (ns_implicitly_set_icon_type): Fix indentation.
-       Change assignment in for loop to comparison.
-
-       * emacs.c (ns_pool): New variable.
-       (main): Assign ns_pool.
-       (Fkill_emacs): Call ns_release_autorelease_pool.
-
-       * nsfont.m (ns_spec_to_descriptor): Fix indentation,
-       autorelease fdesc, release fdAttrs and tdict.
-       (ns_get_covering_families): Release charset.
-       (ns_findfonts): Release NSFontDescriptor created with new.
-       (ns_uni_to_glyphs): Fix indentation.
-       (setString): Release attrStr before assigning new value.
-
-2011-12-18  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsmenu.m (NSMenuDidBeginTrackingNotification): Declare if OSX < 10.5
-       and NS_IMPL_COCOA.
-       (trackingNotification): Surround with ifdef NS_IMPL_COCOA.
-       (syms_of_nsmenu): Set trackingMenu to 1 if not NS_IMPL_COCOA.
-
-2011-12-18  David Reitter  <reitter@cmu.edu>
-
-       * nsterm.m (ns_term_init): Subscribe for notifications
-       NSMenuDidBeginTrackingNotification and NSMenuDidEndTrackingNotification
-       to method trackingNotification in EmacsMenu.
-
-       * nsmenu.m (trackingMenu): New variable.
-       (trackingNotification): New method (from Aquamacs).
-       (menuNeedsUpdate): Expand comment and return if trackingMenu is 0,
-       from Aquamacs (Bug#7030).
-
-2011-12-18  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsselect.m (CUT_BUFFER_SUPPORT): Remove define.
-       (symbol_to_nsstring): Fix indentation.
-       (ns_symbol_to_pb): New function.
-       (Fns_get_selection_internal): Rename from Fns_get_cut_buffer_internal.
-       (Fns_rotate_cut_buffers_internal): Remove.
-       (Fns_store_selection_internal): Rename from
-       Fns_store_cut_buffer_internal.
-       (ns_get_foreign_selection, Fx_own_selection_internal)
-       (Fx_disown_selection_internal, Fx_selection_exists_p)
-       (Fns_get_selection_internal, Fns_store_selection_internal):
-       Use ns_symbol_to_pb and check if return value is nil.
-       (syms_of_nsselect): Remove ifdef CUT_BUFFER_SUPPORT.  Remove defsubr
-       Sns_rotate_cut_buffers_internal.  Sns_get_cut_buffer_internal
-       renamed to Sns_get_selection_internal, Sns_store_cut_buffer_internal
-       renamed to Sns_store_selection_internal.
-       (ns_handle_selection_request): Move code to Fx_own_selection_internal
-       and remove this function.
-       (ns_handle_selection_clear): Remove, never used.
-       (Fx_own_selection_internal): Move code from ns_handle_selection_request
-       here.
-
-2011-12-17  Ken Brown  <kbrown@cornell.edu>
-
-       * fileio.c (check_writable) [CYGWIN]: Return non-zero if UID or
-       GID is unknown (Bug#10257).
-
-2011-12-17  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * s/gnu-linux.h: Fix mark_memory typo (Bug#10286).
-       (GC_MARK_SECONDARY_STACK): Omit removed 3rd arg to mark_memory,
-       which caused a build failure on GNU/Linux IA-64.  This problem was
-       introduced by my 2011-10-07 patch.
-
-2011-12-15  Juri Linkov  <juri@jurta.org>
-
-       * image.c (imagemagick_error): New function.  (Bug#10112)
-       (imagemagick_load_image): Comment out `MagickSetResolution' call.
-       Use `imagemagick_error' where ImageMagick functions return
-       `MagickFalse'.
-       (Fimagemagick_types): Add `Fnreverse' to return the list in the
-       proper order.
-
-2011-12-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * xftfont.c (xftfont_draw): Use the font metrics of s->font to
-       fill background (Bug#8992).
-
-2011-12-13  Martin Rudalics  <rudalics@gmx.at>
-
-       * window.c (Vwindow_combination_resize)
-       (Vwindow_combination_limit): Use t instead of non-nil in
-       doc-strings.
-       (Vrecenter_redisplay): Add first sentence of doc-string on
-       separate line.
-       (Frecenter): Fix doc-string typo.
-
-2011-12-11  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (Funencodable_char_position): Pay attention to the
-       buffer text relocation (Bug#9389).
-
-2011-12-10  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * xterm.c (x_term_init): Move call to gdk_window_add_filter before
-       gtk_init (Bug#10100).
-
-2011-12-10  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (RECORD_MAX_MIN_POS): Use IT->cmp_it.charpos only if
-       IT->string is nil.  (Bug#10263)
-
-2011-12-10  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsterm.h (x_free_frame_resources): Declare.
-
-       * nsfns.m (ns_get_defaults_value): New function (Bug#10103).
-       (Fns_get_resource, x_get_string_resource): Call ns_get_defaults_value.
-
-       * nsterm.h (ns_get_defaults_value): Declare.
-
-       * nsterm.m (ns_default): Call ns_get_defaults_value.
-
-2011-12-09  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (try_scrolling): Don't set scroll_down_p if dy is zero.
-       (Bug#10170)
-
-2011-12-09  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * unexelf.c (unexec) [NS_IMPL_GNUSTEP]: Take account of the case
-       that where the value of an _OBJC_* symbol points to is in the .bss
-       section (Bug#10240).
-
-2011-12-08  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>  (tiny change)
-
-       * coding.c (encode_coding_ccl): Check (charbuf < charbuf_end)
-       after the loop to call ccl_driver at least once (Bug#8619).
-
-2011-12-08  Kenichi Handa  <handa@m17n.org>
-
-       * ftfont.c (get_adstyle_property): Fix previous change
-       (Bug#10233).
-
-2011-12-07  Juanma Barranquero  <lekktu@gmail.com>
-
-       * w32.c (init_environment): If no_site_lisp, remove site-lisp
-       dirs from the default value of EMACSLOADPATH (bug#10208).
-
-2011-12-07  Glenn Morris  <rgm@gnu.org>
-
-       * lread.c (init_lread): If no_site_lisp, exclude site-lisp/ in
-       installation and source directories as well.  (Bug#10208)
-
-2011-12-06  Chong Yidong  <cyd@gnu.org>
-
-       * minibuf.c (Fread_from_minibuffer): Doc fix (Bug#10228).
-
-2011-12-06  Glenn Morris  <rgm@gnu.org>
-
-       * process.c (start_process_unwind): Treat any pid <= 0, except -2,
-       as an error, not just -1.  (Bug#10217)
-
-2011-12-05  Chong Yidong  <cyd@gnu.org>
-
-       * keyboard.c (process_special_events): New function.
-       (swallow_events, Finput_pending_p): Use it (Bug#10195).
-
-2011-12-05  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * coding.c (encode_designation_at_bol): Don't use uninitialized
-       local variable (Bug#9318).
-
-2011-12-05  Kenichi Handa  <handa@m17n.org>
-
-       * ftfont.c (get_adstyle_property): If the font is not BDF nor PCF,
-       return Qnil (Bug#8046, Bug#10193).
-
-2011-12-05  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (encode_designation_at_bol): New args charbuf_end and
-       dst.  Return the number of produced bytes.  Callers changed.
-       (coding_set_source): Return how many bytes coding->source was
-       relocated.
-       (coding_set_destination): Return how many bytes
-       coding->destination was relocated.
-       (CODING_DECODE_CHAR, CODING_ENCODE_CHAR, CODING_CHAR_CHARSET)
-       (CODING_CHAR_CHARSET_P): Adjust for the avove changes.
-
-2011-12-05  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>  (tiny change)
-
-       * coding.c (CODING_CHAR_CHARSET_P): New macro.
-       (encode_coding_emacs_mule, encode_coding_iso_2022): Use the above
-       macro (Bug#9318).
-
-2011-12-05  Andreas Schwab  <schwab@linux-m68k.org>
-
-       The following changes are to fix Bug#9318.
-
-       * coding.c (CODING_ENCODE_CHAR, CODING_CHAR_CHARSET): New macros.
-       (encode_coding_emacs_mule, ENCODE_ISO_CHARACTER)
-       (encode_coding_iso_2022, encode_coding_sjis)
-       (encode_coding_big5, encode_coding_charset): Use the above macros.
-
-2011-12-05  Juanma Barranquero  <lekktu@gmail.com>
-
-       * lisp.h (process_quit_flag): Fix external declaration.
-
-2011-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       Don't macro-inline non-performance-critical code.
-       * eval.c (process_quit_flag): New function.
-       * lisp.h (QUIT): Use it.
-
-2011-12-04  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsfns.m (get_geometry_from_preferences): New function.
-       (Fx_create_frame): Call get_geometry_from_preferences (Bug#10103).
-
-2011-12-04  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * emacs.c (Qkill_emacs): Define.
-       (syms_of_emacs): Initialize it.
-       * keyboard.c (interrupt_signal): Don't call Fkill_emacs here, set
-       Qquit_flag to `kill-emacs' instead.
-       (quit_throw_to_read_char): Add parameter `from_signal'.
-       All callers changed.  Call Fkill_emacs if requested and safe.
-       * lisp.h (QUIT): Call Fkill_emacs if requested.
-
-2011-12-03  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * widget.c (update_wm_hints): Return if wmshell is null.
-       (widget_update_wm_size_hints): New function.
-
-       * widget.h (widget_update_wm_size_hints): Declare.
-
-       * xterm.c (x_wm_set_size_hint): If USE_X_TOOLKIT, call
-       widget_update_wm_size_hints (Bug#10104).
-
-2011-12-03  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (handle_invisible_prop): If the invisible text ends just
-       before a newline, prepare the bidi iterator for consuming the
-       newline, and keep the current paragraph direction.  (Bug#10183)
-       (redisplay_window): Don't let `margin' become negative.  (Bug#10192)
-
-2011-12-02  Juri Linkov  <juri@jurta.org>
-
-       * search.c (Fword_search_regexp): New Lisp function created from
-       `wordify'.  Change type of arg `lax' from `int' to `Lisp_Object'.
-       (Fword_search_backward, Fword_search_forward)
-       (Fword_search_backward_lax, Fword_search_forward_lax):
-       Use `Fword_search_regexp' instead of `wordify'.  Doc fix.
-       (syms_of_search): Define `Sword_search_regexp'.  (Bug#10145)
-
-2011-12-01  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * fileio.c (Finsert_file_contents): Move after-change-function call
-       to before the "handled:" label, since all "goto handled" appear in
-       cases where the *-change-functions have already been properly called
-       (bug#10117).
-
-2011-12-01  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * keyboard.c (interrupt_signal): Don't call kill-emacs when
-       waiting for input.  (Bug#10169)
-
-2011-11-30  Eli Zaretskii  <eliz@gnu.org>
-
-       * dispnew.c (adjust_glyph_matrix): Remove the assertion that
-       verifies glyph row's hash code--we have just reallocated the
-       glyphs, so their contents can be complete garbage.  (Bug#10164)
-
-2011-11-30  Juanma Barranquero  <lekktu@gmail.com>
-
-       * dispnew.c (adjust_glyph_matrix) [XASSERTS]: Add missing check.
-
-2011-11-30  Eli Zaretskii  <eliz@gnu.org>
-
-       * dispnew.c (adjust_glyph_matrix) [XASSERTS]: Ensure ROW's
-       attributes are tested _before_ calling verify_row_hash, to protect
-       against GCC re-ordering of the tests.  (Bug#10164)
-
-2011-11-29  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * xterm.h (struct x_output): net_wm_state_hidden_seen is new.
-
-       * xterm.c (handle_one_xevent): Only set async_visible and friends
-       if net_wm_state_hidden_seen is non-zero (Bug#10002)
-       (get_current_wm_state): Set net_wm_state_hidden_seen to 1 if
-       _NET_WM_STATE_HIDDEN is in NET_WM_STATE.
-
-2011-11-28  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Remove GCPRO-related macros that exist only to avoid shadowing locals.
-       * lisp.h (GCPRO1_VAR, GCPRO2_VAR, GCPRO3_VAR, GCPRO4_VAR, GCPRO5_VAR)
-       (GCPRO6_VAR, UNGCPRO_VAR): Remove.  See
-       <http://lists.gnu.org/archive/html/emacs-diffs/2011-11/msg00265.html>.
-       All uses changed to use GCPRO1 etc.
-       (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6, UNGCPRO):
-       Revert to old implementation (i.e., before 2011-03-11).
-
-2011-11-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
-
-       * dispnew.c (scrolling_window): Truncate overlaps in copy destination
-       of scroll runs so as to avoid assigning disabled bogus rows and
-       unnecessary graphics copy operations.
-
-2011-11-27  Eli Zaretskii  <eliz@gnu.org>
-
-       * s/ms-w32.h (utimbuf) [_MSC_VER]: Don't define.
-       (snprintf) [_MSC_VER]: Redirect to _snprintf.
-       (strtoll) [_MSC_VER]: Redirect to _strtoi64.
-       (malloc, free, realloc, calloc): Redirect to e_* only when
-       compiling Emacs.
-
-       * lisp.h (GCTYPEBITS): Move before first use.
-       (ALIGN_GCTYPEBITS) [_MSC_VER]: Define.
-       (DECL_ALIGN) [_MSC_VER]: Use it, as MSVC doesn't like bit ops in
-       this macro definition.
-
-       * s/ms-w32.h (tzname): Redirect to _tzname for all values of
-       _MSC_VER.
-
-2011-11-27  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * gtkutil.c (xg_create_frame_widgets):
-       Call gtk_window_set_has_resize_grip (FALSE) if that function is
-       present with Gtk+ 2.0.
-
-2011-11-26  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * fileio.c (Finsert_file_contents): Undo previous change; see
-       <http://lists.gnu.org/archive/html/emacs-diffs/2011-11/msg00265.html>.
-
-2011-11-26  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Rename locals to avoid shadowing.
-       * fileio.c (Finsert_file_contents):
-       Rename inner 'gcpro1' to 'inner_gcpro1' to avoid shadowing.
-       * process.c (wait_reading_process_output):
-       Rename inner 'proc' to 'p' to avoid shadowing.
-       Indent for consistency with usual Emacs style.
-
-2011-11-25  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (redisplay_window): If cursor row is not fully visible
-       after recentering, and scroll-conservatively is set to a large
-       number, scroll window by a few more lines to make the cursor fully
-       visible and out of scroll-margin.  (Bug#10105)
-       (start_display): Don't move to the next line if the display should
-       start at a newline that is part of a display vector or an overlay
-       string.  (Bug#10119)
-
-2011-11-24  Juri Linkov  <juri@jurta.org>
-
-       * image.c (imagemagick_load_image): Move `MagickSetResolution' down
-       after the `MagickPingImage' call.  (Bug#10112)
-
-2011-11-23  Chong Yidong  <cyd@gnu.org>
-
-       * window.c (Fcoordinates_in_window_p): Accept only live windows.
-
-2011-11-23  Martin Rudalics  <rudalics@gmx.at>
-
-       * buffer.c (Fkill_buffer): Run replace_buffer_in_windows before
-       making another buffer current.  (Bug#10114)
-
-2011-11-23  Glenn Morris  <rgm@gnu.org>
-
-       * font.c (font_find_for_lface) [HAVE_NS]: Ignore case.  (Bug#2526)
-
-2011-11-23  Chong Yidong  <cyd@gnu.org>
-
-       * xdisp.c (compute_stop_pos): Check validity of end_charpos before
-       using it (Bug#5984).
-
-2011-11-22  Eli Zaretskii  <eliz@gnu.org>
-
-       * dispnew.c (adjust_glyph_matrix): Don't verify hash code of mode-
-       and header-lines, as they don't have one computed for them.
-       (Bug#10098)
-
-       * .gdbinit (prow): Make displayed values more self-explaining.
-       Add row's hash code.
-
-2011-11-21  Lars Magne Ingebrigtsen  <larsi@gnus.org>
-
-       * process.c (wait_reading_process_output): Fix asynchrounous
-       GnuTLS socket handling on some versions of the GnuTLS library.
-       (wait_reading_process_output): Add comment and URL.
-
-2011-11-21  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * xterm.c (x_clear_frame): Reinstate the XClearWindow call.
-
-2011-11-21  Chong Yidong  <cyd@gnu.org>
-
-       * window.c (Fnext_window, Fprevious_window): Doc fix.
-
-2011-11-20  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * window.c (get_phys_cursor_glyph): Fix Lisp_Object/int mixup.
-
-2011-11-20  Juanma Barranquero  <lekktu@gmail.com>
-
-       * nsfont.m (syms_of_nsfont) <ns-reg-to-script>: Fix typo.
-
-2011-11-20  Martin Rudalics  <rudalics@gmx.at>
-
-       * window.c (Fset_window_combination_limit): Rename argument
-       STATUS to LIMIT.
-       (Vwindow_combination_limit): Remove "status" from doc-string.
-
-2011-11-20  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * m/ibms390.h: Remove.
-       * m/ibms390x.h: Don't include "ibms390.h".
-
-2011-11-20  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * fileio.c (Finsert_file_contents): Add missing gcpro1 variable.
-       Suggested by Dmitry Antipov <dmantipov@yandex.ru>.
-
-2011-11-20  Juanma Barranquero  <lekktu@gmail.com>
-
-       * casetab.c (Fset_case_table):
-       * charset.c (Fcharset_after): Fix typos.
-
-2011-11-20  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Standardize on VIRT_ADDR_VARIES behavior (Bug#10042).
-       Otherwise, valgrind does not work on some platforms.
-       Problem reported by Andreas Schwab in
-       <http://lists.gnu.org/archive/html/emacs-devel/2011-11/msg00081.html>.
-       * puresize.h (pure, PURE_P): Always behave as if VIRT_ADDR_VARIES
-       is set, removing the need for VIRT_ADDRESS_VARIES.
-       (PURE_P): Use a more-efficient implementation that needs just one
-       comparison, not two: on x86-64 with GCC 4.6.2, this cut down the
-       number of instructions from 6 (xorl, cmpq, jge, xorl, cmpq, setge)
-       to 4 (xorl, subq, cmpq, setbe).
-       * alloc.c (pure): Always extern now, since that's the
-       VIRT_ADDR_VARIES behavior.
-       (PURE_POINTER_P): Use a single comparison, not two, for
-       consistency with the new puresize.h.
-       * lisp.h (PNTR_COMPARISON_TYPE): Remove; no longer needed.
-       * m/ibms390.h, m/intel386.h, m/template.h, s/cygwin.h, s/hpux10-20.h:
-       Remove VIRT_ADDR_VARIES no longer needed.
-
-2011-11-19  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (x_write_glyphs, draw_phys_cursor_glyph)
-       (erase_phys_cursor, update_window_cursor, show_mouse_face)
-       (cursor_in_mouse_face_p): If the cursor position is out of bounds,
-       behave as if the cursor position were at the window margin.
-
-       * window.c (get_phys_cursor_glyph): If the window is hscrolled,
-       and the cursor position is out of bounds, behave as if the cursor
-       position were at the window margin.  (Bug#10075)
-
-2011-11-18  Chong Yidong  <cyd@gnu.org>
-
-       * window.c (Fwindow_combination_limit): Make first argument
-       non-optional, since it is meaningless for live windows like the
-       selected window.
-
-2011-11-18  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * keymap.c (Fwhere_is_internal): Add missing RETURN_UNGCPROs.
-
-2011-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * intervals.c: Fix grafting over the whole buffer (bug#10071).
-       (graft_intervals_into_buffer): Simplify.
-
-2011-11-18  Eli Zaretskii  <eliz@gnu.org>
-
-       * dispnew.c (swap_glyph_pointers): Swap the used[] arrays and the
-       hash values of the two rows.
-       (copy_row_except_pointers): Preserve the used[] arrays and the
-       hash values of the two rows.  (Bug#10035)
-       (add_row_entry): Add xassert to verify that ROW's hash code is valid.
-
-       * xdisp.c (row_hash): New function, body extracted from
-       compute_line_metrics.
-       (compute_line_metrics): Call row_hash, instead of computing the
-       hash code inline.
-
-       * dispnew.c (verify_row_hash): Call row_hash for computing the
-       hash code of a row, instead of duplicating code from xdisp.c.
-
-       * dispextern.h (row_hash): Add prototype.
-
-2011-11-18  Tassilo Horn  <tassilo@member.fsf.org>
-
-       * frame.c (delete_frame): Don't delete the terminal when the last
-       X frame is closed if emacs is built with GTK toolkit.
-
-2011-11-17  Juanma Barranquero  <lekktu@gmail.com>
-
-       * window.c (syms_of_window) <window-combination-resize>: Fix typo.
-
-2011-11-17  Martin Rudalics  <rudalics@gmx.at>
-
-       * window.c (Vwindow_splits): Rename to
-       Vwindow_combination_resize.  Suggested by Juri Linkov.
-       (Fsplit_window_internal): Use Vwindow_combination_resize instead
-       of Vwindow_splits.
-
-2011-11-16  Juanma Barranquero  <lekktu@gmail.com>
-
-       * nsfns.m (Fns_font_name):
-       * window.c (syms_of_window) <window-combination-limit>: Fix typos.
-
-2011-11-16  Martin Rudalics  <rudalics@gmx.at>
-
-       * window.h (window): Rename slot "nest" to "combination_limit".
-       * window.c (Fwindow_nest): Rename to Fwindow_combination_limit.
-       (Fset_window_nest): Rename to Fset_window_combination_limit.
-       (Vwindow_nest): Rename to Vwindow_combination_limit.
-       (recombine_windows, make_parent_window, make_window)
-       (Fsplit_window_internal, saved_window)
-       (Fset_window_configuration, save_window_save): Rename all
-       occurrences of window_nest to window_combination_limit.
-
-2011-11-15  Juanma Barranquero  <lekktu@gmail.com>
-
-       * image.c (imagemagick_load_image): Fix typo.
-
-2011-11-14  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (display_line): Move the call to
-       highlight_trailing_whitespace before the call to
-       compute_line_metrics, since the latter needs to see the final
-       faces of all the glyphs to compute ROW's hash value.
-       Fixes assertion violations in row_equal_p.  (Bug#10035)
-
-2011-11-14  Juanma Barranquero  <lekktu@gmail.com>
-
-       * w32proc.c (reader_thread): Don't check pending input if cp->fd < 0,
-       just return (bug#10044).
-
-2011-11-12  Eli Zaretskii  <eliz@gnu.org>
-
-       * makefile.w32-in (HEAPSIZE): New variable, allows to build temacs
-       with user-defined heap size.  Bump the default size of the temacs
-       heap to 27MB, to avoid memory warning when running temacs.
-       ($(TEMACS)): Use HEAPSIZE instead of a hardcoded value.
-
-       * dispnew.c (scrolling_window): Fix incorrect indices in accessing
-       current_matrix and desired_matrix.  (Bug#9990)
-       (verify_row_hash) [XASSERTS]: New function.
-       (adjust_glyph_matrix, row_equal_p): Use it in xassert to verify
-       that the hash value of glyph rows is correct.
-
-2011-11-12  Martin Rudalics  <rudalics@gmx.at>
-
-       * window.h (window): Remove splits slot.
-       * window.c (Fwindow_splits, Fset_window_splits): Remove.
-       (Fdelete_other_windows_internal, make_parent_window)
-       (make_window, Fsplit_window_internal, Fdelete_window_internal)
-       (Fset_window_configuration, save_window_save): Don't deal with
-       split status of windows.
-       (saved_window): Remove splits slot.
-       (Vwindow_splits): Rewrite doc-string.
-
-2011-11-11  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * xfns.c (unwind_create_frame):
-       * nsfns.m (unwind_create_frame):
-       * w32fns.c (unwind_create_frame): Use Fmemq to check if frame is in
-       Vframe_list (Bug#9999).
-
-2011-11-11  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * xdisp.c (syms_of_xdisp): Remove duplicated definition of Qtext.
-
-2011-11-11  Kenichi Handa  <handa@m17n.org>
-
-       * callproc.c (Fcall_process): Set the member dst_multibyte of
-       process_coding.
-
-2011-11-11  Johan Bockgård  <bojohan@gnu.org>
-
-       * xdisp.c (fill_composite_glyph_string): Always set s->face, to
-       avoid a crash (bug#9496).
-
-2011-11-09  Chong Yidong  <cyd@gnu.org>
-
-       * window.c (Fwindow_inside_edges, Fwindow_inside_pixel_edges)
-       (Fwindow_inside_absolute_pixel_edges): Only allow live windows.
-
-2011-11-08  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * s/gnu.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS (Bug#9926).
-
-2011-11-08  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Avoid some portability problems by eschewing 'extern inline' functions.
-       The trivial performance wins aren't worth the portability hassles; see
-       <http://lists.gnu.org/archive/html/emacs-devel/2011-11/msg00084.html>
-       et seq.
-       * 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): Undo previous change,
-       by removing the "extern"s.
-       * intervals.c (adjust_intervals_for_insertion)
-       (adjust_intervals_for_deletion): Undo previous change,
-       making these static again.
-       (offset_intervals, temp_set_point_both, temp_set_point)
-       (copy_intervals_to_string): No longer inline.
-       * xdisp.c (window_text_bottom_y, window_box_width)
-       (window_box_height, window_box_left_offset)
-       (window_box_right_offset, window_box_left, window_box_right)
-       (window_box): No longer inline.
-
-2011-11-08  Chong Yidong  <cyd@gnu.org>
-
-       * window.c (Fwindow_left_column, Fwindow_top_line): Doc fix.
-       (Fwindow_body_height, Fwindow_body_width): Move from Lisp.
-       Signal an error if not a live window.
-       (Fwindow_total_width, Fwindow_total_height): Move from Lisp.
-       (Fwindow_total_size, Fwindow_body_size): Move to Lisp.
-
-2011-11-07  Juanma Barranquero  <lekktu@gmail.com>
-
-       * lisp.h (syms_of_abbrev): Remove declaration.
-       Reported by CHENG Gao <chenggao@royau.me>.
-
-2011-11-07  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32.c (check_windows_init_file): Don't look for term/w32-win.el
-       if Vpurify_flag is non-nil.  Fixes a crash when running w32 build
-       of temacs in GUI mode.
-
-2011-11-07  Martin Rudalics  <rudalics@gmx.at>
-
-       * window.h: Declare delete_all_child_windows instead of
-       delete_all_subwindows.
-       * window.c (Fwindow_nest, Fset_window_nest)
-       (Fset_window_new_total, Fset_window_new_normal)
-       (Fwindow_resize_apply): Don't use term subwindow in doc-strings.
-       (delete_all_subwindows): Rename to delete_all_child_windows.
-       (Fdelete_other_windows_internal, Fset_window_configuration):
-       Call delete_all_child_windows instead of delete_all_subwindows.
-       * frame.c (delete_frame): Call delete_all_child_windows instead
-       of delete_all_subwindows.
-
-2011-11-07  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * alloc.c (DEADP): New macro, for porting to GNU/Hurd (Bug#9926).
-       This is also needed for porting to any host where GC_MARK_STACK is
-       not GC_MAKE_GCPROS_NOOPS.
-       (which_symbols): Use it.
-
-2011-11-07  Kenichi Handa  <handa@m17n.org>
-
-       * coding.c (coding_set_destination): Check coding->src_pos only
-       when coding->src_object is a buffer (bug#9910).
-
-       * process.c (send_process): Set the member src_multibyte of coding
-       to 0 (bug#9911) when sending a unibyte text.
-
-       * callproc.c (Fcall_process): Set the member src_multibyte of
-       process_coding to 0 (bug#9912).
-
-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-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.
-
-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.
-
-2011-11-05  Christoph Scholtes  <cschol2112@googlemail.com>
-
-       * makefile.w32-in ($(TEMACS), (gl-stamp)): Use $(THISDIR) to
-       support MSVC.
-
-2011-11-05  Jason Rumney  <jasonr@gnu.org>
-
-       * 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.
-
-2011-11-05  Eli Zaretskii  <eliz@gnu.org>
-
-       * s/ms-w32.h (fstat, stat, utime): Move redirections to
-       "emacs"-only part.
-
-       * w32fns.c (x_create_tip_frame, Fx_create_frame): Rearrange
-       initialization code to keep similarity to xfns.c after changes
-       from 2011-11-05.
-
-2011-11-05  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * 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).
-
-       * nsterm.m (x_free_frame_resources): New function.
-       (x_destroy_window): Move code to x_free_frame_resources.
-
-       * 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).
-
-2011-11-05  Eli Zaretskii  <eliz@gnu.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.
-
-       * 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.
-
-       * w32fns.c [_MSC_VER]: DECLARE_HANDLE for any MSVC version.
-
-2011-11-05  Fabrice Popineau  <fabrice.popineau@supelec.fr>  (tiny change)
-
-       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.
-
-       * 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.
-
-       * lisp.h (DECL_ALIGN) [_MSC_VER]: Define for MSVC.
-
-       * regex.c <re_char> [_MSC_VER]: A separate definition for MSVC.
-
-2011-11-04  Eli Zaretskii  <eliz@gnu.org>
-
-       * 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)
-
-2011-11-04  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * 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.
-
-2011-11-04  Eli Zaretskii  <eliz@gnu.org>
-
-       * window.c (Fwindow_body_size): Mention in the doc string that the
-       return value is in frame's canonical units.  (Bug#9949)
-
-2011-11-03  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (note_mouse_highlight): Initialize `area'.  (Bug#9947)
-
-       * w32fns.c (unwind_create_frame): If needed, free the glyph
-       matrices of the partially constructed frame.  (Bug#9943)
-       * xfns.c (unwind_create_frame): Likewise.
-
-2011-11-01  Eli Zaretskii  <eliz@gnu.org>
-
-       * 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.
-
-2011-11-01  Martin Rudalics  <rudalics@gmx.at>
-
-       * window.c (temp_output_buffer_show): Don't use
-       Vtemp_buffer_show_specifiers.
-       (Vtemp_buffer_show_specifiers): Remove unused variable.
-
-2011-10-30  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (try_cursor_movement): Make sure ROW isn't decremented
-       past the beginning of the current glyph matrix.
-
-2011-10-30  Adam Sjøgren  <asjo@koldfront.dk>  (tiny change)
-
-       * xterm.c: Include X11/Xproto.h if HAVE_GTK3.
-       (x_error_handler): Ignore BadMatch for X_SetInputFocus for
-       HAVE_GTK3 (Bug#9869).
-
-       * gtkutil.c (xg_win_to_widget, xg_event_is_for_menubar): Initialize
-       type to GDK_NOTHING so valgrind does not complain (Bug#9901).
-
-       * xterm.h (x_display_info): Add Xatom_net_wm_state_hidden (Bug#9893).
-
-       * 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.
-
-2011-10-29  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * 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.
-
-2011-10-29  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * frame.h (MOUSE_HL_INFO): Remove excess parens.
-
-2011-10-29  Eli Zaretskii  <eliz@gnu.org>
-
-       Fix the `xbytecode' command.
-       * .gdbinit (xprintbytestr): New command.
-       (xwhichsymbols): Rename from `which'; all callers changed.
-       (xbytecode): Print the byte-code string as well.
-
-2011-10-29  Kim Storm  <storm@cua.dk>
-
-       * alloc.c (which_symbols): New function.
-
-2011-10-29  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * minibuf.c (read_minibuf_noninteractive): Allow reading empty
-       line.  (Bug#9903)
-
-2011-10-29  Glenn Morris  <rgm@gnu.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)
-
-2011-10-28  Eli Zaretskii  <eliz@gnu.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.
-
-2011-10-28  Chong Yidong  <cyd@gnu.org>
-
-       * xdisp.c (note_mouse_highlight): Fix use of uninitialized var.
-
-2011-10-28  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * window.c (make_window): Initialize phys_cursor_on_p.
-
-2011-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * lisp.h (struct Lisp_Symbol): Update comments.
-
-2011-10-28  Juanma Barranquero  <lekktu@gmail.com>
-
-       * w32font.c (w32_load_unicows_or_gdi32): Add missing return.
-
-2011-10-28  Eli Zaretskii  <eliz@gnu.org>
-
-       Fix Emacs on Windows 9X (bug#8562).  Thanks to oslsachem
-       <oslsachem@gmail.com> for helping to debug this.
-
-       * 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.
-
-       * emacs.c (main) [HAVE_NTGUI]: Call globals_of_w32font.
-
-       * w32.h (syms_of_w32font): Add prototype.
-
-2011-10-27  Juanma Barranquero  <lekktu@gmail.com>
-
-       * 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.
-
-2011-10-27  Chong Yidong  <cyd@gnu.org>
-
-       * process.c (make_process): Set gnutls_state to NULL.
-
-       * 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.
-
-       * gnutls.h (GNUTLS_LOG, GNUTLS_LOG2): Fix macros.
-
-2011-10-27  Chong Yidong  <cyd@gnu.org>
-
-       * gnutls.c (emacs_gnutls_deinit): New function.
-       Deallocate credentials structures as well as calling gnutls_deinit.
-       (Fgnutls_deinit, Fgnutls_boot): Use it.
-
-       * process.c (make_process): Initialize GnuTLS credentials to NULL.
-       (deactivate_process): Call emacs_gnutls_deinit.
-
-2011-10-27  Juanma Barranquero  <lekktu@gmail.com>
-
-       * 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.
-
-2011-10-26  Juanma Barranquero  <lekktu@gmail.com>
-
-       * 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)
-
-2011-10-25  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * dispextern.h (Fcontrolling_tty_p): New decl (Bug#6649 part 2).
-
-2011-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * keyboard.c (test_undefined): New function (bug#9751).
-       (read_key_sequence): Use it to detect when a key is bound to `undefined'.
-
-2011-10-25  Enami Tsugutomo  <tsugutomo.enami@jp.sony.com>
-
-       * sysdep.c (init_sys_modes): Fix the check for the controlling
-       terminal (Bug#6649).
-
-2011-10-20  Eli Zaretskii  <eliz@gnu.org>
-
-       * dispextern.h (struct bidi_it): New member next_en_type.
-
-       * 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.
-
-2011-10-20  Paul Eggert  <eggert@cs.ucla.edu>
-
-       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.
-
-2011-10-19  Eli Zaretskii  <eliz@gnu.org>
-
-       * 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)
-
-2011-10-18  Chong Yidong  <cyd@gnu.org>
-
-       * xdisp.c (get_next_display_element): Handle U+2010 and U+2011
-       with nobreak-char-display too.
-
-2011-10-18  Eli Zaretskii  <eliz@gnu.org>
-
-       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.
-
-2011-10-17  Eli Zaretskii  <eliz@gnu.org>
-
-       * 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)
-
-2011-10-15  Martin Rudalics  <rudalics@gmx.at>
-
-       * window.c (coordinates_in_window): Rewrite and delabelize
-       vertical border check.  (Bug#5357) (Bug#9618)
-
-2011-10-14  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * xterm.c (frame_highlight, frame_unhighlight): Ignore unexplained
-       errors in XSetWindowBorder (bug#9310).
-
-2011-10-13  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * editfns.c (Fset_time_zone_rule): Replace free with xfree to
-       avoid crash when xmalloc overrun checking is enabled.
-
-2011-10-13  Eli Zaretskii  <eliz@gnu.org>
-
-       * 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.
-
-       * bidi.c (bidi_init_it): Don't initialize paragraph_dir here, as
-       some callers set that themselves.
-
-2011-10-12  Eli Zaretskii  <eliz@gnu.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)
-
-2011-10-12  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * doc.c (get_doc_string): Encode file name (bug#9735).
-
-2011-10-12  Eli Zaretskii  <eliz@gnu.org>
-
-       * bidi.c (bidi_level_of_next_char):
-       * xdisp.c (get_visually_first_element): Remove old incorrect
-       comments regarding the Unicode Line Separator character.
-
-       * bidi.c (bidi_init_it): Initialize paragraph_dir to NEUTRAL_DIR.
-
-2011-10-12  Dmitry Antipov  <dmantipov@yandex.ru>
-
-       * alloc.c (Fgc_status): Do not access beyond zombies array
-       boundary if nzombies > MAX_ZOMBIES.
-       * alloc.c (dump_zombies): Add missing format specifier.
-
-2011-10-12  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * xdisp.c (set_cursor_from_row): Simplify conditionals,
-       to pacify GCC 4.6.1 x86-64 with -O2 -Wstrict-overflow.
-
-       * lread.c (read_escape): Allow hex escapes as large as ?\xfffffff.
-       Some packages use them to denote characters with modifiers.
-
-2011-10-11  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * 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.
-
-2011-10-11  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * minibuf.c (Finternal_complete_buffer): Fix last change (bug#9709).
-
-2011-10-08  Glenn Morris  <rgm@gnu.org>
-
-       * callint.c (Fcall_interactively): Give a more explicit error for the
-       'c' case with a non-character input.  (Bug#8479)
-
-2011-10-08  Eli Zaretskii  <eliz@gnu.org>
-
-       * 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.
-
-       * dispnew.c (buffer_posn_from_coords): Account for a possible
-       presence of header-line.  (Bug#4426)
-
-2011-10-07  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * buffer.c (syms_of_buffer) <enable-multibyte-characters>:
-       Don't advertise functionality which we discourage or doesn't work.
-
-2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * 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.
-
-2011-10-03  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * 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.
-
-2011-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * 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.
-
-       * minibuf.c (Finternal_complete_buffer): Only show internal buffers if
-       they've been requested explicitly (bug#9591).
-
-2011-10-01  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * keymap.c (Fsingle_key_description): Use make_specified_string
-       instead of build_string to build string from push_key_description.
-       (Bug#5193)
-
-2011-09-30  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * 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.
-
-       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.
-
-2011-09-30  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * 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).
-
-2011-09-30  Paul Eggert  <eggert@cs.ucla.edu>
-
-       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.
-
-       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.
-
-2011-09-29  Eli Zaretskii  <eliz@gnu.org>
-
-       * sysdep.c (snprintf) [!EOVERFLOW]: If EOVERFLOW is not defined,
-       use EDOM.
-
-2011-09-28  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (compute_display_string_end): If there's no display
-       string at CHARPOS, return -1.
-
-       * 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)
-
-2011-09-28  Juanma Barranquero  <lekktu@gmail.com>
-
-       * lread.c (Fread_from_string): Fix typo in docstring.
-
-2011-09-27  Eli Zaretskii  <eliz@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.
-
-2011-09-27  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * lread.c (readevalloop): Use correct code for NBSP.
-       (read1): Likewise.  (Bug#9608)
-
-2011-09-25  Michael Albinus  <michael.albinus@gmx.de>
-
-       * dbusbind.c (Fdbus_register_signal): When service is not
-       registered, use nil in Vdbus_registered_objects_table.  (Bug#9581)
-
-2011-09-25  Glenn Morris  <rgm@gnu.org>
-
-       * buffer.c (truncate-lines): Doc fix.
-
-2011-09-24  Chong Yidong  <cyd@stupidchicken.com>
-
-       * window.c (Fwindow_prev_buffers, Fset_window_prev_buffers)
-       (Fset_window_next_buffers): Doc fix.
-
-2011-09-24  Glenn Morris  <rgm@gnu.org>
-
-       * minibuf.c (read_minibuf): Disable line truncation.  (Bug#5715)
-
-2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
-
-       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.
-
-2011-09-24  Eli Zaretskii  <eliz@gnu.org>
-
-       * dispnew.c (syms_of_display) <redisplay-dont-pause>:
-       Default value is now t.  Doc fix.
-
-       * 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)
-
-       * 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.
-
-2011-09-24  Michael Albinus  <michael.albinus@gmx.de>
-
-       * dbusbind.c (Fdbus_register_signal): Add match rule to
-       Vdbus_registered_objects_table.  (Bug#9581)
-       (Fdbus_register_method, Vdbus_registered_objects_table):
-       Fix docstring.
-
-2011-09-24  Jim Meyering  <meyering@redhat.com>
-
-       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)
-
-2011-09-23  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * emacs.c (Fkill_emacs): In noninteractive mode exit
-       non-successfully if a write error occurred on stdout.  (Bug#9574)
-
-2011-09-21  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (pop_it): Allow it->object that is a cons cell to pass
-       the xassert test.
-
-       * dispextern.h (struct it): Update the comment documenting what
-       can it->OBJECT be.
-
-2011-09-20  Eli Zaretskii  <eliz@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.
-
-2011-09-19  Lars Magne Ingebrigtsen  <larsi@gnus.org>
-
-       * lread.c (Fread_from_string): Document what FINAL-STRING-INDEX is
-       (bug#9493).
-
-2011-09-18  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xfns.c (Fx_create_frame): Handle the bitmapIcon resource as
-       boolean (Bug#9154).
-
-2011-09-18  Eli Zaretskii  <eliz@gnu.org>
-
-       * 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)
-
-2011-09-18  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-18  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * search.c (boyer_moore): Take unibyte characters from pattern
-       literally.  (Bug#9458)
-
-2011-09-18  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (reseat_at_next_visible_line_start): Fix last change.
-
-2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix minor problem found by static checking.
-       * xdisp.c (reseat_at_next_visible_line_start): Mark locals as
-       initialized, to pacify gcc -Wuninitialized.
-
-       * 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.
-
-2011-09-18  Eli Zaretskii  <eliz@gnu.org>
-
-       * .gdbinit (pgx): Fix references to fields of `struct glyph'.
-
-2011-09-17  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (produce_stretch_glyph): Another fix for changes made on
-       2011-08-30T17:32:44Z!eliz@gnu.org.  (Bug#9530)
-
-2011-09-17  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (reseat_at_next_visible_line_start): Keep information
-       about the current paragraph and restore it after the call to reseat.
-
-       * 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)
-
-       * xdisp.c (set_cursor_from_row): Don't invoke special treatment of
-       truncated lines if point is covered by a display string.  (Bug#9524)
-
-2011-09-16  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * 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.
-
-2011-09-16  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * eval.c (Fquote): Document its non-consing behavior (bug#9482).
-
-2011-09-16  Eli Zaretskii  <eliz@gnu.org>
-
-       * image.c (tiff_handler): Work around a bug in MinGW GCC 3.x (see
-       GCC PR/17406) by declaring this function with external scope.
-
-2011-09-15  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * editfns.c (Fformat): Fix bug in text-property fix (Bug#9514).
-       Don't mishandle (length (format "%%")) and (format "%4000s%%" "").
-
-2011-09-15  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * editfns.c (Fformat): Correctly handle text properties on "%%".
-
-2011-09-15  Eli Zaretskii  <eliz@gnu.org>
-
-       * 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.
-
-2011-09-15  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * editfns.c (Fformat): Fix off-by-1 bug for "%%b" (Bug#9514).
-       This occurs when processing a multibyte format.
-       Problem reported by Wolfgang Jenker.
-
-2011-09-15  Johan Bockgård  <bojohan@gnu.org>
-
-       * xdisp.c (try_cursor_movement): Only check for exact match if
-       cursor hpos found by set_cursor_from_row is valid.  (Bug#9495)
-
-2011-09-14  Paul Eggert  <eggert@cs.ucla.edu>
-
-       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.
-
-2011-09-14  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * 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.
-
-2011-09-14  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (try_window_reusing_current_matrix): Fix incorrect
-       computation of loop end.  Reported by Johan Bockgård
-       <bojohan@gnu.org>.
-
-2011-09-13  Chong Yidong  <cyd@stupidchicken.com>
-
-       * frame.c (Fother_visible_frames_p): Function deleted.
-
-2011-09-12  Eli Zaretskii  <eliz@gnu.org>
-
-       * indent.c (compute_motion): Process display vector front to back
-       rather than the other way around.  (Bug#2496)
-
-2011-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * fileio.c (Finsert_file_contents): Don't assume beg_offset is 0.
-
-2011-09-11  Chong Yidong  <cyd@stupidchicken.com>
-
-       * minibuf.c (Fread_from_minibuffer): Doc fix.
-
-2011-09-11  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (produce_stretch_glyph): Fix a typo made in changes from
-       2011-08-30T17:32:44Z!eliz@gnu.org.  (Bug#9475)
-
-2011-09-11  Lars Magne Ingebrigtsen  <larsi@gnus.org>
-
-       * fileio.c (Fvisited_file_modtime): Document `(-1 65535)' as a
-       value for non-existent files.
-
-2011-09-11  Eli Zaretskii  <eliz@gnu.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)
-
-2011-09-11  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * 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.
-
-2011-09-10  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * 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.
-
-2011-09-10  Lars Magne Ingebrigtsen  <larsi@gnus.org>
-
-       * xml.c (parse_region): Make the parsing work for
-       non-comment-starting XML files again (bug#9144).
-
-2011-09-10  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * image.c (gif_load): Fix calculation of bottom and right corner.
-       (Bug#9468)
-
-2011-09-10  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (MAX_DISP_SCAN): Decrease to 250.  Prevents sluggish
-       redisplay in small windows.
-
-2011-09-09  Eli Zaretskii  <eliz@gnu.org>
-
-       * frame.c (x_report_frame_params): Cast to avoid compiler warnings.
-
-2011-09-08  Martin Rudalics  <rudalics@gmx.at>
-
-       * window.c (Fset_window_prev_buffers, Fset_window_next_buffers):
-       Operate on live windows only.
-
-2011-09-08  Juanma Barranquero  <lekktu@gmail.com>
-
-       * emacs.c (my_heap_start): #ifdef to avoid warnings when unused.
-
-2011-09-07  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (move_it_in_display_line_to): Call RESTORE_IT on ppos_it
-       only under bidi iteration.
-
-2011-09-07  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * gtkutil.c (xg_make_tool_item): Insert comment about eventbox.
-
-2011-09-06  Paul Eggert  <eggert@cs.ucla.edu>
-
-       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.
-
-2011-09-06  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * Makefile.in (gl-stamp): move-if-change now in build-aux (Bug#9169).
-
-2011-09-06  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * 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.
-
-2011-09-05  Michael Albinus  <michael.albinus@gmx.de>
-
-       * dbusbind.c (xd_signature_cat): Rename from signature_cat.
-
-2011-09-04  Paul Eggert  <eggert@cs.ucla.edu>
-
-       sprintf-related integer and memory overflow issues (Bug#9412).
-
-       * 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.
-
-       * dbusbind.c (signature_cat): New function.
-       (xd_signature, Fdbus_register_signal):
-       Do not overrun buffer; instead, report string overflow.
-
-       * dispnew.c (add_window_display_history): Don't overrun buffer.
-       Truncate instead; this is OK since it's just a log.
-
-       * editfns.c (Fcurrent_time_zone): Don't overrun buffer
-       even if the time zone offset is outlandishly large.
-       Don't mishandle offset == INT_MIN.
-
-       * 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.
-
-       * 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'.
-
-       * print.c (print_object): Use ptrdiff_t, not int, for index that can
-       exceed INT_MAX.
-
-       * 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.
-
-2011-09-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
-
-       * Require libxml/parser.h to avoid compilation warning.
-
-       * emacs.c (shut_down_emacs): Call xmlCleanupParser on shutdown.
-
-       * xml.c (parse_region): Don't call xmlCleanupParser after parsing,
-       since this reportedly can destroy thread storage.
-
-2011-08-30  Chong Yidong  <cyd@stupidchicken.com>
-
-       * syntax.c (find_defun_start): Update all cache variables if
-       exiting early (Bug#9401).
-
-2011-08-30  Eli Zaretskii  <eliz@gnu.org>
-
-       * image.c (x_bitmap_pixmap): Cast to int to avoid compiler warnings.
-
-       * 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)
-
-       * term.c (tty_append_glyph): New function.
-       (produce_stretch_glyph): Static function and its prototype deleted.
-
-       * dispextern.h (produce_stretch_glyph, tty_append_glyph):
-       Add prototypes.
-
-2011-08-29  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * 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.
-
-2011-08-28  Johan Bockgård  <bojohan@gnu.org>
-
-       * term.c (init_tty) [HAVE_GPM]: Move mouse settings after
-       set_tty_hooks.
-
-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.
-
-2011-08-27  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * 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.
-
-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.
-
-       * 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.
-
-2011-08-23  Eli Zaretskii  <eliz@gnu.org>
-
-       * bidi.c (bidi_get_type): Abort if we get zero as the bidi type of
-       a character.
-
-2011-08-23  Chong Yidong  <cyd@stupidchicken.com>
-
-       * nsfont.m (ns_otf_to_script): Fix typo.
-
-2011-08-22  Kenichi Handa  <handa@m17n.org>
-
-       * chartab.c (Fset_char_table_extra_slot): Do not inhibit setting a
-       extra slot even if the purpose is char-code-property-table.
-
-2011-08-23  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (redisplay_window): When computing centering_position,
-       account for the height of the header line.  (Bug#8874)
-
-       * 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.
-
-       * 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.
-
-2011-08-23  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * cmds.c (Fself_insert_command): Mention post-self-insert-hook.
-
-2011-08-22  Eli Zaretskii  <eliz@gnu.org>
-
-       * 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.
-
-2011-08-22  Chong Yidong  <cyd@stupidchicken.com>
-
-       * 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).
-
-2011-08-20  Chong Yidong  <cyd@stupidchicken.com>
-
-       * eval.c (Fsignal): Handle `debug' symbol in error handler (Bug#9329).
-       (Fcondition_case): Document `debug' symbol in error handler.
-
-2011-08-19  Eli Zaretskii  <eliz@gnu.org>
-
-       * 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.
-
-       * 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.
-
-2011-08-18  Eli Zaretskii  <eliz@gnu.org>
-
-       * 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'.
-
-       * 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.
-
-2011-08-18  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * process.c (Fnetwork_interface_list): Correctly determine buffer size.
-
-2011-08-17  Chong Yidong  <cyd@stupidchicken.com>
-
-       * eval.c (internal_condition_case, internal_condition_case_1)
-       (internal_condition_case_2, internal_condition_case_n):
-       Remove unnecessary aborts (Bug#9081).
-
-2011-08-17  Eli Zaretskii  <eliz@gnu.org>
-
-       * lread.c (Fload) [DOS_NT]: If `openp' returns -2, but the file
-       has no `load' handler, try opening the file locally.  (Bug#9311)
-
-2011-08-16  Ken Brown  <kbrown@cornell.edu>
-
-       * gmalloc.c: Expand comment.
-
-2011-08-16  Eli Zaretskii  <eliz@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.
-
-2011-08-16  Ken Brown  <kbrown@cornell.edu>
-
-       Fix memory allocation problems in Cygwin build (Bug#9273).
-
-       * unexcw.c ( __malloc_initialized): Declare external variable.
-       (fixup_executable): Force the dumped emacs to reinitialize malloc.
-
-       * 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.
-
-2011-08-15  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * bidi.c (bidi_initialize): Remove unused local.
-
-2011-08-15  Eli Zaretskii  <eliz@gnu.org>
-
-       * bidimirror.h:
-       * biditype.h: Remove file.
-       * makefile.w32-in ($(BLD)/bidi.$(O)):
-       * deps.mk (bidi.o): Remove biditype.h and bidimirror.h.
-
-       * dispextern.h: Fix a typo in the comment to bidi_type_t.
-
-       * chartab.c: Improve commentary for the uniprop_table API.
-
-       * 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.
-
-       * xdisp.c (move_it_in_display_line_to): Don't reset pixel
-       coordinates of the iterator when restoring from ppos_it.
-       (Bug#9296)
-
-2011-08-14  Kenichi Handa  <handa@m17n.org>
-
-       * process.c (create_process): Call setup_process_coding_systems
-       after the pid of the process is set to -1 (Bug#8162).
-
-2011-08-14  Eli Zaretskii  <eliz@gnu.org>
-
-       * 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)
-
-2011-08-14  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * nsterm.h (ns_run_ascript): Declare.
-       (NSAPP_DATA2_RUNASSCRIPT): Define.
-
-       * 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).
-
-       * 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).
-
-2011-08-14  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * 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.
-
-       * xfaces.c (QCignore_defface): Rename from Qignore_defface, all
-       uses changed.
-
-2011-08-14  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * xfaces.c (Qframe_set_background_mode): Now static.
-       * dispextern.h (Qframe_set_background_mode): Remove decl.
-
-       * process.c (Fnetwork_interface_info): Declare local only if needed.
-
-2011-08-13  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * 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.
-
-2011-08-12  Eli Zaretskii  <eliz@gnu.org>
-
-       * 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)
-
-2011-08-09  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * fontset.c (fontset_get_font_group): Add proper type checks.
-       (Bug#9172)
-
-2011-08-09  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-08-08  Eli Zaretskii  <eliz@gnu.org>
-
-       * 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.
-
-2011-08-08  Chong Yidong  <cyd@stupidchicken.com>
-
-       * editfns.c (Fset_time_zone_rule): Document relationship with the
-       setenv function.
-
-       * ftfont.c (ftfont_pattern_entity): Copy the extras argument to
-       the font entity extracted from the cache (Bug#8109).
-
-2011-08-07  Chong Yidong  <cyd@stupidchicken.com>
-
-       * composite.c (autocmp_chars): Don't reset point.  That is done by
-       restore_point_unwind (Bug#5984).
-
-2011-08-07  Juri Linkov  <juri@jurta.org>
-
-       * editfns.c (Fformat_time_string): Doc fix, add tag `usage:'
-       to show the arg `TIME' instead of `TIMEVAL'.
-
-2011-08-06  Eli Zaretskii  <eliz@gnu.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)
-
-       * 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)
-
-2011-08-05  Eli Zaretskii  <eliz@gnu.org>
-
-       * bidi.c <bidi_cache_total_alloc>: Now static.
-       (bidi_initialize): Initialize bidi_cache_total_alloc.
-
-       * xdisp.c (display_line): Release buffer allocated for shelved bidi
-       cache.  (Bug#9221)
-
-       * 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.
-
-       * dispextern.h (bidi_unshelve_cache): Update prototype.
-
-       * 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)
-
-2011-08-05  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (set_cursor_from_row): Prefer the candidate glyph that
-       came from a string character with a `cursor' property.  (Bug#9229)
-
-2011-08-04  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * Makefile.in (LIB_PTHREAD): New variable.
-       (LIBES): Add LIB_PTHREAD (Bug#9216).
-
-       * alloc.c, emacs.c, gmalloc.c, gtkutil.c, keyboard.c, syssignal.h:
-       Rename HAVE_GTK_AND_PTHREAD to HAVE_PTHREAD (Bug#9216).
-
-2011-08-04  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * regex.c (re_iswctype): Remove some redundant boolean conversions.
-
-2011-08-04  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * 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.
-
-2011-08-04  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * callproc.c (Fcall_process): Avoid vfork clobbering
-       the local vars buffer, coding_systems, current_dir.
-
-2011-08-03  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * keymap.c (Fmake_composed_keymap): Move to subr.el.
-
-2011-08-03  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * fontset.c (dump_fontset) [FONTSET_DEBUG]: Declare EXTERNALLY_VISIBLE
-       so that it is not optimized away.
-
-       * xdisp.c (compute_display_string_pos): Remove unused local.
-
-2011-08-02  Eli Zaretskii  <eliz@gnu.org>
-
-       Fix slow cursor motion and scrolling in large buffers with
-       selective display, like Org Mode buffers.  (Bug#9218)
-
-       * dispextern.h (struct bidi_it): New member disp_prop_p.
-
-       * 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.
-
-       * 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.
-
-2011-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * keymap.c (Fdefine_key): Fix Lisp_Object/int mixup; apply some CSE.
-
-2010-12-03  Don March  <don@ohspite.net>
-
-       * keymap.c (Fdefine_key): Fix non-prefix key error message when
-       last character M-[char] is translated to ESC [char] (bug#7541).
-
-2011-08-02  Kenichi Handa  <handa@m17n.org>
-
-       * lisp.h (uniprop_table): Extern it.
-
-       * chartab.c (uniprop_table): Make it non-static.
-
-2011-08-01  Eli Zaretskii  <eliz@gnu.org>
-
-       * 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)
-
-2011-07-30  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * regex.c (re_comp): Protoize.
-       (re_exec): Fix return type.
-       (regexec): Fix type of `ret'.  (Bug#9203)
-
-2011-07-28  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * image.c (check_image_size): Use 1024x1024 if unknown frame (Bug#9189).
-       This is needed if max-image-size is a floating-point number.
-
-2011-07-28  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * print.c (print_object): Print empty symbol as ##.
-
-       * lread.c (read1): Read ## as empty symbol.
-
-2011-07-28  Alp Aker  <alp.tekin.aker@gmail.com>
-
-       * nsfns.m (x_set_foreground_color): Set f->foreground_pixel when
-       setting frame foreground color (Bug#9175).
-       (x_set_background_color): Likewise.
-
-       * nsmenu.m (-setText): Size tooltip dimensions precisely to
-       contents (Bug#9176).
-       (EmacsTooltip -init): Remove bezels and add shadows to
-       tooltip windows.
-
-       * nsterm.m (ns_dumpglyphs_stretch): Avoid overwriting left fringe
-       or scroll bar (Bug#8470).
-
-       * 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).
-
-       * nsterm.h (nsfont_info): Remove voffset field.
-
-2011-07-28  Alp Aker  <alp.tekin.aker@gmail.com>
-
-       Implement strike-through and overline on NextStep (Bug#8863).
-
-       * 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.
-
-       * nsterm.h: Add declaration for ns_draw_text_decoration.
-
-       * 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.
-
-2011-07-28  Eli Zaretskii  <eliz@gnu.org>
-
-       * 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.
-
-       * 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.
-
-2011-07-22  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (rows_from_pos_range): Don't ignore glyphs whose object
-       is an integer, which is important for empty lines.  (Bug#9149)
-
-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-21  Chong Yidong  <cyd@stupidchicken.com>
-
-       * editfns.c (Fstring_to_char): No need to explain what a character
-       is in the docstring (Bug#6576).
-
-2011-07-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
-
-       * xml.c (parse_region): Make sure we always return a tree.
-
-2011-07-20  HAMANO Kiyoto  <khiker.mail@gmail.com>
-
-       * xml.c (parse_region): If a document contains only comments,
-       return that, too.
-
-2011-07-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
-
-       * xml.c (make_dom): Return comments, too.
-
-2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
-
-       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.
-
-2011-07-19  Lars Magne Ingebrigtsen  <larsi@gnus.org>
-
-       * lread.c (syms_of_lread): Clarify when `lexical-binding' is used
-       (bug#8460).
-
-2011-07-18  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * fileio.c (Fcopy_file) [!MSDOS]: Tighten created file's mask.
-       This fixes some race conditions on the permissions of any newly
-       created file.
-
-       * alloc.c (valid_pointer_p): Use pipe, not open.
-       This fixes some permissions issues when debugging.
-
-       * 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.
-
-2011-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * 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.
-
-2011-07-17  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * lread.c (read_integer): Unread even EOF character.
-       (read1): Likewise.  Properly record start position of symbol.
-
-       * lread.c (read1): Read `#:' as empty uninterned symbol if no
-       symbol character follows.
-
-2011-07-17  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * 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.
-
-2011-07-16  Juanma Barranquero  <lekktu@gmail.com>
-
-       * makefile.w32-in (GLOBAL_SOURCES): Add gnutls.c (followup to bug#9059).
-
-2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * fileio.c (Fcopy_file): Don't diagnose fchown failures.  (Bug#9002)
-
-2011-07-16  Lars Magne Ingebrigtsen  <larsi@gnus.org>
-
-       * gnutls.c (syms_of_gnutls): Define `gnutls-log-level' here, since
-       it's used from the C level.
-
-       * process.c: Use the same condition for POLL_FOR_INPUT in both
-       keyboard.c and process.c (bug#1858).
-
-2011-07-09  Lawrence Mitchell  <wence@gmx.li>
-
-       * gnutls.c (Qgnutls_bootprop_min_prime_bits): New variable.
-       (Fgnutls_boot): Use it.
-
-2011-07-15  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * doc.c (Fsubstitute_command_keys): Revert last change.
-
-2011-07-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
-
-       * doc.c (Fsubstitute_command_keys): Clarify that \= really only
-       quotes the next character, and doesn't affect other longer
-       sequences (bug#8935).
-
-       * lread.c (syms_of_lread): Clarify that is isn't only
-       `eval-buffer' and `eval-defun' that's affected by
-       `lexical-binding' (bug#8460).
-
-2011-07-15  Eli Zaretskii  <eliz@gnu.org>
-
-       * xdisp.c (move_it_in_display_line_to): Fix vertical motion with
-       bidi redisplay when a line includes both an image and is truncated.
-
-2011-07-14  Paul Eggert  <eggert@cs.ucla.edu>
-
-       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.
-
-2011-07-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
-
-       * search.c (Fre_search_backward): Mention `case-fold-search' in
-       all the re_search_* functions (bug#8138).
-
-       * keyboard.c (Fopen_dribble_file): Document when the file is
-       closed (bug#8056).
-
-2011-07-14  Eli Zaretskii  <eliz@gnu.org>
-
-       * bidi.c (bidi_dump_cached_states): Fix format of displaying
-       bidi_cache_idx.
-
-       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 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.
-
-       * .gdbinit (xvectype, xvector, xcompiled, xchartable, xboolvector)
-       (xpr, xfont, xbacktrace): Use "header.size" when accessing vectors
-       and vector-like objects.
-
-       * dispnew.c (buffer_posn_from_coords): Save and restore the bidi
-       cache around display iteration.
-
-       * window.c (Fwindow_end, window_scroll_pixel_based)
-       (displayed_window_lines, Frecenter): Save and restore the bidi
-       cache around display iteration.
-
-2011-07-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
-
-       * editfns.c (Fdelete_region): Clarify the use of the named
-       parameters (bug#6788).
-
-2011-07-14  Martin Rudalics  <rudalics@gmx.at>
-
-       * indent.c (Fvertical_motion): Set and restore w->pointm when
-       saving and restoring the window's buffer (Bug#9006).
-
-2011-07-13  Lars Magne Ingebrigtsen  <larsi@gnus.org>
-
-       * editfns.c (Fstring_to_char): Clarify just what is returned
-       (bug#6576).  Text by Eli Zaretskii.
-
-2011-07-13  Juanma Barranquero  <lekktu@gmail.com>
-
-       * gnutls.c (init_gnutls_functions): Honor gnutls_log_level (bug#9059).
-
-2011-07-13  Eli Zaretskii  <eliz@gnu.org>
-
-       * buffer.c (mmap_find): Fix a typo.
-
-2011-07-13  Johan Bockgård  <bojohan@gnu.org>
-
-       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.
-
-2011-07-13  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * buffer.c (Fget_buffer_create): Initialize inhibit_shrinking.
-       The old code sometimes used this field without initializing it.
-
-       * 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.
-
-2011-07-12  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * character.c (Fcharacterp): Don't advertise optional ignored
-       argument.  (Bug#4026)
-
-2011-07-12  Lars Magne Ingebrigtsen  <larsi@gnus.org>
-
-       * keymap.c (syms_of_keymap): Clarify that "modifier" is "modifier
-       key" (bug#4257).
-
-       * window.c (Fset_window_start): Doc fix (bug#4199).
-       (Fset_window_hscroll): Ditto.
-
-2011-07-12  Paul Eggert  <eggert@cs.ucla.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.
-
-2011-07-12  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xdisp.c (Vresize_mini_windows): Minor doc fix (Bug#3300).
-
-2011-07-11  Lars Magne Ingebrigtsen  <larsi@gnus.org>
-
-       * xdisp.c (syms_of_xdisp): Make it explicit that the mini-windows
-       are the mini-buffer and the echo area (bug#3320).
-
-       * term.c (init_tty): Remove support for supdup, c10 and perq
-       terminals, which are no longer supported (bug#1482).
-
-2011-07-10  Johan Bockgård  <bojohan@gnu.org>
-
-       * xdisp.c (Ftool_bar_lines_needed): Fix WINDOWP check.
-
-2011-07-10  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * xmenu.c (menu_highlight_callback): Only pass frame to show_help_event
-       for non-popups (Bug#3642).
-
-2011-07-10  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * 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.
-
-2011-07-10  Paul Eggert  <eggert@cs.ucla.edu>
-
-       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.
-
-2011-07-09  Juanma Barranquero  <lekktu@gmail.com>
-
-       * chartab.c (uniprop_table_uncompress): Remove unused local variable.
-
-2011-07-09  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * gtkutil.c (qttip_cb): Remove code without function.
-
-2011-07-09  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32.c (pthread_sigmask): New stub.
-
-2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
-
-       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.
-
-2011-07-08  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * 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).
-
-2011-07-08  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * 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.
-
-       * nsterm.m (initFrameFromEmacs): Don't use ns_return_types
-       in registerServicesMenuSendTypes.
-       (validRequestorForSendType): Don't check ns_return_types.
-
-       * nsfns.m (Fx_open_connection): Put NSStringPboardType into
-       ns_return_type.
-
-2011-07-08  Jason Rumney  <jasonr@gnu.org>
-
-       * w32term.c (x_make_frame_visible): Use SH_SHOWNORMAL rather than
-       SH_SHOW for hidden windows (Bug#5482).
-
-       * w32fns.c (w32_wnd_proc) [WM_TIMER, WM_SET_CURSOR]: Avoid using
-       frame struct members of non-existent frames (Bug#6284).
-
-2011-07-08  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * 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.
-
-       * 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.
-
-       * nsselect.m (ns_string_from_pasteboard): Don't use deprecated methods
-       cString and lossyCString on OSX >= 10.4.
-
-       * nsmenu.m (fillWithWidgetValue): Don't use deprecated method
-       sizeToFit on OSX >= 10.2.
-
-       * nsimage.m (allocInitFromFile): Don't use deprecated method
-       bestRepresentationForDevice on OSX >= 10.6.
-
-       * nsfns.m (check_ns_display_info): Cast to long and use %ld in error
-       to avoid warning.
-
-       * emacs.c: Declare unexec_init_emacs_zone.
-
-       * nsgui.h: Fix compiler warning about gnulib redefining verify.
-
-       * nsselect.m (ns_get_local_selection): Change to extern (Bug#8842).
-
-       * nsmenu.m (ns_update_menubar): Remove useless setDelegate call
-       on svcsMenu (Bug#8842).
-
-       * nsfns.m (Fx_open_connection): Remove NSStringPboardType from
-       ns_return_types.
-       (Fns_list_services): Just return Qnil on 10.6, code not working there.
-
-       * 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.
-
-       * nsterm.h (MAC_OS_X_VERSION_10_6): Define here instead of nsterm.m.
-       (ns_get_local_selection): Declare.
-
-2011-07-07  Lars Magne Ingebrigtsen  <larsi@gnus.org>
-
-       * 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.
-
-       * callint.c (Fcall_interactively): Change "reading args" to
-       "providing args" to try to clarify what it does (bug#1010).
-
-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-07-07  Eli Zaretskii  <eliz@gnu.org>
-
-       * term.c (produce_glyphs) <xassert>: Allow IT_GLYPHLESS in it->what.
-       (Bug#9015)
-
-2011-07-07  Kenichi Handa  <handa@m17n.org>
-
-       * 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.
-
-2011-07-04  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * fileio.c (barf_or_query_if_file_exists): Use S_ISDIR.
-       This is more efficient than Ffile_directory_p and avoids a minor race.
-
-2011-07-04  Lars Magne Ingebrigtsen  <larsi@gnus.org>
-
-       * buffer.c (Foverlay_put): Say what the return value is
-       (bug#7835).
-
-       * 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.
-
-       * fns.c (Frequire): Remove the mention of the .gz files, since
-       that's installation-specific, but keep the mention of
-       `get-load-suffixes'.
-
-2011-07-04  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * editfns.c (Fformat_time_string): Don't assume strlen fits in int.
-       Report string overflow if the output is too long.
-
-2011-07-04  Juanma Barranquero  <lekktu@gmail.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).
-
-       * 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.
-
-2011-07-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
-
-       * callint.c (Finteractive): Clarify the meaning of "@" (bug#8813).
-
-2011-07-03  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xfaces.c (Finternal_merge_in_global_face): Modify the foreground
-       and background color parameters if they have been changed.
-
-2011-07-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
-
-       * editfns.c (Fformat): Clarify the - and 0 flags (bug#6659).
-
-2011-07-03  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * xsettings.c (SYSTEM_FONT): Define only when used.
-       No need to define when HAVE_GSETTINGS || !HAVE_XFT.
-
-       * keymap.c (access_keymap_1): Now static.
-
-2011-07-02  Chong Yidong  <cyd@stupidchicken.com>
-
-       * keyboard.c (command_loop_1): If a down-mouse event is unbound,
-       leave any prefix arg for the up event (Bug#1586).
-
-2011-07-02  Lars Magne Ingebrigtsen  <larsi@gnus.org>
-
-       * lread.c (syms_of_lread): Mention single symbols defined by
-       `defvar' or `defconst' (bug#7154).
-
-       * fns.c (Frequire): Mention .el.gz files (bug#7314).
-       (Frequire): Mention get-load-suffixes.
-
-2011-07-02  Martin Rudalics  <rudalics@gmx.at>
-
-       * 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.
-
-2011-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       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.
-
-2011-07-01  Glenn Morris  <rgm@gnu.org>
-
-       * Makefile.in (SETTINGS_LIBS): Fix typo.
-
-2011-07-01  Kazuhiro Ito  <kzhr@d1.dion.ne.jp>  (tiny change)
-
-       * coding.c (Fencode_coding_string): Record the last coding system
-       used, as the function doc string says (bug#8738).
-
-2011-07-01  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * 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".
-
-       * xgselect.c: Add defined (HAVE_GSETTINGS).
-       (xgselect_initialize): Ditto.
-
-       * process.c: Add defined (HAVE_GSETTINGS) for xgselect.h
-       (wait_reading_process_output): Add defined (HAVE_GSETTINGS) for
-       xg_select.
-
-2011-07-01  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * 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.
-
-       * Makefile.in (SETTINGS_CFLAGS, SETTINGS_LIBS): Rename from
-       GCONF_CFLAGS/LIBS.
-
-2011-06-29  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.
-
-2011-06-28  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * gnutls.c (Qgnutls_bootprop_verify_error): Remove unused var.
-
-2011-06-27  Juanma Barranquero  <lekktu@gmail.com>
-
-       * makefile.w32-in: Redesign dependencies so they reflect more
-       clearly which files are directly included by each source file,
-       and not through other includes.
-
-2011-06-27  Martin Rudalics  <rudalics@gmx.at>
-
-       * 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.
-
-       * 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.
-
-2011-06-26  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * emacsgtkfixed.h: State that this is only used with Gtk+3.
-       (emacs_fixed_set_min_size): Remove.
-       (emacs_fixed_new): Take frame as argument.
-
-       * 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).
-
-       * 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.
-
-2011-06-26  Eli Zaretskii  <eliz@gnu.org>
-
-       * 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.
-
-2011-06-26  Chong Yidong  <cyd@stupidchicken.com>
-
-       * 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).
-
-2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Use gnulib's dup2 module instead of rolling our own.
-       * sysdep.c (dup2) [!HAVE_DUP2]: Remove; gnulib now does this.
-
-2011-06-25  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-24  Juanma Barranquero  <lekktu@gmail.com>
-
-       Move DEFSYM to lisp.h and use everywhere.
-
-       * character.h (DEFSYM): Move declaration...
-       * lisp.h (DEFSYM): ...here.
-
-       * gnutls.c:
-       * minibuf.c:
-       * w32menu.c:
-       * w32proc.c:
-       * w32select.c: Don't include character.h.
-
-       * 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.
-
-       * 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.
-
-       * category.h (CATEGORY_SET_P): Remove unnecessary cast to EMACS_INT.
-
-       * 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.
-
-2011-06-22  Jim Meyering  <meyering@redhat.com>
-
-       Don't leak an XBM-image-sized buffer
-       * image.c (xbm_load): Free the image buffer after using it.
-
-2011-06-21  Paul Eggert  <eggert@cs.ucla.edu>
-
-       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.
-
-2011-06-21  Leo Liu  <sdl.web@gmail.com>
-
-       * deps.mk (fns.o):
-       * makefile.w32-in ($(BLD)/fns.$(O)): Include sha256.h and
-       sha512.h.
-
-       * 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.
-
-2011-06-20  Deniz Dogan  <deniz@dogan.se>
-
-       * process.c (Fset_process_buffer): Clarify return value in
-       docstring.
-
-2011-06-18  Chong Yidong  <cyd@stupidchicken.com>
-
-       * dispnew.c (add_window_display_history): Use BVAR.
-
-       * 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.
-
-       * xfaces.c (check_lface_attrs, check_lface, dump_realized_face):
-       Likewise.
-
-       * xfns.c (Fx_create_frame, x_create_tip_frame): Delay image cache
-       check till after the cache is created in init_frame_faces.
-
-2011-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * fns.c (Fsafe_length): Yet another int/Lisp_Object mixup.
-
-2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * 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".
-
-       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, Bug#8828).
-
-       * 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.
-
-       * 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.
-
-       * dired.c (Ffile_attributes): Don't use 32-bit hack on 64-bit hosts.
-
-       * unexelf.c (unexec): Don't assume BSS addr fits in unsigned.
-
-       * xterm.c (handle_one_xevent): Omit unnecessary casts to unsigned.
-
-       * keyboard.c (modify_event_symbol): Don't limit alist len to UINT_MAX.
-
-       * lisp.h (CHAR_TABLE_SET): Omit now-redundant test.
-
-       * lread.c (Fload): Don't compare a possibly-garbage time_t value.
-
-       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>
-
-       * 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.
-
-2011-06-08  Martin Rudalics  <rudalics@gmx.at>
-
-       * 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.
-
-       * 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.
-
-       * 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.
-
-2011-06-06  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * 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.
-
-2011-06-05  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * editfns.c (Fformat): Correctly handle zero flag with hexadecimal
-       format.  (Bug#8806)
-
-       * gtkutil.c (xg_get_default_scrollbar_width): Avoid warning.
-
-       * xfns.c (x_set_scroll_bar_default_width): Move declarations
-       before statements.
-
-2011-06-05  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * gtkutil.c (xg_get_default_scrollbar_width): New function.
-
-       * gtkutil.h: Declare xg_get_default_scrollbar_width.
-
-       * xfns.c (x_set_scroll_bar_default_width): If USE_GTK, get
-       min width by calling x_set_scroll_bar_default_width (Bug#8505).
-
-2011-06-05  Juanma Barranquero  <lekktu@gmail.com>
-
-       * xdisp.c (single_display_spec_intangible_p): Remove declaration.
-
-2011-06-04  Chong Yidong  <cyd@stupidchicken.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).
-
-2011-06-04  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * emacs.c (main): Warn when starting a GTK emacs in daemon mode.
-
-2011-06-04  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-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.
-
-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.
-
-2011-06-01  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       Make it possible to build with GCC-4.6+ -O2 -flto.
-
-       * emacs.c (__malloc_initialize_hook): Mark as EXTERNALLY_VISIBLE.
-
-2011-06-01  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       * minibuf.c (get_minibuffer, read_minibuf_unwind):
-       Call minibuffer-inactive-mode.
-
-2011-05-31  Juanma Barranquero  <lekktu@gmail.com>
-
-       * makefile.w32-in ($(BLD)/data.$(O), $(BLD)/editfns.$(O)):
-       Update dependencies.
-
-2011-05-31  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * data.c (init_data): Remove code for UTS, this system is not
-       supported anymore.
-
-2011-05-31  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       Don't force ./temacs to start in terminal mode.
-
-       * 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.
-
-2011-05-31  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       * dispnew.c (add_window_display_history): Use const for the string
-       pointer.  Remove declaration, not needed.
-
-2011-05-31  Paul Eggert  <eggert@cs.ucla.edu>
-
-       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__.
-
-2011-05-31  Dan Nicolaescu  <dann@ics.uci.edu>
-
-       Make it possible to run ./temacs.
-
-       * 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.
-
-2011-05-31  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.
-
-2011-05-31  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * ccl.c (CCL_CODE_RANGE): Allow negative numbers.  (Bug#8751)
-       (CCL_CODE_MIN): New macro.
-
-2011-05-30  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * alloc.c (lisp_align_malloc): Omit unnecessary val==NULL tests.
-
-       * 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.
-
-2011-05-29  Chong Yidong  <cyd@stupidchicken.com>
-
-       * image.c: Various fixes to ImageMagick code comments.
-       (Fimagemagick_types): Doc fix.
-
-2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Minor fixes prompted by GCC 4.6.0 warnings.
-
-       * xselect.c (converted_selections, conversion_fail_tag): Now static.
-
-       * 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.
-
-2011-05-29  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xselect.c (x_clipboard_manager_save_frame)
-       (x_clipboard_manager_save_all): New functions.
-       (Fx_clipboard_manager_save): Lisp function deleted.
-
-       * emacs.c (Fkill_emacs): Call x_clipboard_manager_save_all.
-       * frame.c (delete_frame): Call x_clipboard_manager_save_frame.
-
-       * xterm.h: Update prototype.
-
-2011-05-28  William Xu  <william.xwl@gmail.com>
-
-       * nsterm.m (ns_term_shutdown): Synchronize user defaults before
-       exiting (Bug#8239).
-
-2011-05-28  Jim Meyering  <meyering@redhat.com>
-
-       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.
-
-2011-05-27  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Integer overflow fixes.
-
-       * 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)
-
-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-24  Leo Liu  <sdl.web@gmail.com>
-
-       * deps.mk (fns.o):
-       * makefile.w32-in ($(BLD)/fns.$(O)): Include sha1.h.
-
-       * fns.c (crypto_hash_function, Fsha1): New function.
-       (Fmd5): Use crypto_hash_function.
-       (syms_of_fns): Add Ssha1.
-
-2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * 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).
-
-2011-05-22  Chong Yidong  <cyd@stupidchicken.com>
-
-       * 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.
-
-2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * xselect.c (QSAVE_TARGETS): New static var, to fix build failure.
-
-2011-05-22  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xselect.c (syms_of_xselect): Include character.h; use DEFSYM.
-
-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-21  Glenn Morris  <rgm@gnu.org>
-
-       * 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.
-
-2011-05-20  Eli Zaretskii  <eliz@gnu.org>
-
-       * callproc.c (Fcall_process) [MSDOS]: Fix arguments to
-       report_file_error introduced by the change from 2011-05-07.
-
-2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * 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>.
-
-2011-05-20  Kenichi Handa  <handa@m17n.org>
-
-       * composite.c (find_automatic_composition): Fix previous change.
-
-2011-05-20  Glenn Morris  <rgm@gnu.org>
-
-       * 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.
-
-2011-05-19  Glenn Morris  <rgm@gnu.org>
-
-       * 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.
-
-2011-05-18  Kenichi Handa  <handa@m17n.org>
-
-       * 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.
-
-2011-05-18  Juanma Barranquero  <lekktu@gmail.com>
-
-       * makefile.w32-in: Update dependencies.
-
-2011-05-18  Christoph Scholtes  <cschol2112@googlemail.com>
-
-       * menu.c: Include limits.h (fixes the MS-Windows build broken by
-       2011-06-18T18:49:19Z!cyd@stupidchicken.com).
-
-2011-05-18  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix some integer overflow issues, such as string length overflow.
-
-       * insdel.c (count_size_as_multibyte): Check for string overflow.
-
-       * 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.
-
-       * 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.
-
-       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)
-
-       * dispextern.h (struct image): Don't assume time_t <= unsigned long.
-       * image.c (clear_image_cache): Likewise.
-
-       * term.c (term_mouse_position): Don't assume time_t wraparound.
-
-       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>
-
-       * textprop.c (Fprevious_single_char_property_change): Doc fix (bug#8655).
-
-2011-05-12  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-10  Jim Meyering  <meyering@redhat.com>
-
-       * xdisp.c (x_intersect_rectangles): Fix typo "the the -> the".
-
-2011-05-10  Juanma Barranquero  <lekktu@gmail.com>
-
-       * image.c (Finit_image_library): Return t for built-in image types,
-       like pbm and xbm.  (Bug#8640)
-
-2011-05-09  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * w32menu.c (set_frame_menubar): Fix submenu allocation.
-
-2011-05-07  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32console.c (Fset_screen_color): Doc fix.
-       (Fget_screen_color): New function.
-       (syms_of_ntterm): Defsubr it.
-
-       * 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.
-
-2011-05-07  Ben Key  <bkey76@gmail.com>
-
-       * 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.
-
-       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.
-
-2011-05-06  Michael Albinus  <michael.albinus@gmx.de>
-
-       * 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.
-
-2011-05-06  Juanma Barranquero  <lekktu@gmail.com>
-
-       * 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).
-
-       * 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)
-
-       * doprnt.c (doprnt): Support arbitrary pI values, such as "I64".
-
-       * 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.
-
-       * lisp.h (EMACS_INT, EMACS_UINT, BITS_PER_EMACS_INT, pI): Simplify.
-
-       * 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.
-
-       * lisp.h (EMACS_INTPTR): Remove.  All uses changed to intptr_t.
-       (EMACS_UINTPTR): Likewise, with uintptr_t.
-
-       * 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.
-
-       * lread.c, process.c: Do not include <inttypes.h>; lisp.h does it now.
-
-       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.
-
-       * 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>
-
-       * w32heap.c (allocate_heap) [USE_LISP_UNION_TYPE || USE_LSB_TAG]:
-       New version that can reserve upto 2GB of heap space.
-
-2011-05-05  Chong Yidong  <cyd@stupidchicken.com>
-
-       * nsfns.m (Fns_read_file_name): Doc fix (Bug#8534).
-
-2011-05-05  Teodor Zlatanov  <tzz@lifelogs.com>
-
-       * gnutls.c (fn_gnutls_certificate_set_x509_key_file): Add alias to
-       `gnutls_certificate_set_x509_key_file'.
-
-2011-05-05  Juanma Barranquero  <lekktu@gmail.com>
-
-       * makefile.w32-in ($(BLD)/image.$(O), $(BLD)/process.$(O)):
-       Update dependencies.
-
-2011-05-04  Juanma Barranquero  <lekktu@gmail.com>
-
-       * 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.
-
-2011-05-04  Juanma Barranquero  <lekktu@gmail.com>
-
-       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".
-
-2011-05-04  Juanma Barranquero  <lekktu@gmail.com>
-
-       Implement dynamic loading of GnuTLS on Windows.
-
-       * 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.
-
-       * 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.
-
-       * 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.
-
-       * w32.h (VlibraryCache, QCloaded_from, w32_delayed_load): Declare.
-
-       * 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.
-
-       * 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.
-
-       * callproc.c, emacs.c: Include lisp.h before w32.h, not after.
-
-2011-05-04  Teodor Zlatanov  <tzz@lifelogs.com>
-
-       * gnutls.c (Fgnutls_boot): Support :keylist and :crlfiles options
-       instead of :keyfiles.  Give GnuTLS the keylist and the CRL lists
-       as passed in.
-
-2011-05-03  Jan Djärv  <jan.h.d@swipnet.se>
-
-       * xterm.c (x_set_frame_alpha): Do not set property on anything
-       else than FRAME_X_OUTER_WINDOW (Bug#8608).
-
-2011-05-02  Juanma Barranquero  <lekktu@gmail.com>
-
-       * sysdep.c (get_tty_size) [WINDOWSNT]: Implement.  (Bug#8596)
-
-2011-05-02  Juanma Barranquero  <lekktu@gmail.com>
-
-       * 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.
-
-2011-05-01  Andreas Schwab  <schwab@linux-m68k.org>
-
-       * callproc.c: Indentation fixup.
-
-       * sysdep.c (wait_for_termination_1): Make static.
-       (wait_for_termination, interruptible_wait_for_termination):
-       Move after wait_for_termination_1.
-
-2011-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
-
-       * sysdep.c (interruptible_wait_for_termination): New function
-       which is like wait_for_termination, but allows keyboard
-       interruptions.
-
-       * callproc.c (Fcall_process): Add (:file "file") as an option for
-       the STDOUT buffer.
-       (Fcall_process_region): Ditto.
-
-2011-04-30  Eli Zaretskii  <eliz@gnu.org>
-
-       * dosfns.c (Fint86, Fdos_memget, Fdos_memput): Use `ASIZE (FOO)'
-       rather than `XVECTOR (FOO)->size'.
-
-       * 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.
-
-2011-04-21  Eli Zaretskii  <eliz@gnu.org>
-
-       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)
-
-       * 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.
-
-2011-04-21  Eli Zaretskii  <eliz@gnu.org>
-
-       * 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)
-
-       * window.c (window_scroll_line_based): Use a marker instead of
-       simple variables to record original value of point.  (Bug#7952)
-
-       * doprnt.c (doprnt): Fix the case where a multibyte sequence
-       produced by %s or %c overflows available buffer space.  (Bug#8545)
-
-2011-04-28  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * doprnt.c (doprnt): Omit useless test; int overflow check (Bug#8545).
-       (SIZE_MAX): Move defn after all includes, as they might #define it.
-
-2011-04-28  Juanma Barranquero  <lekktu@gmail.com>
-
-       * w32.c (init_environment): Warn about defaulting HOME to C:\.
-
-2011-04-28  Juanma Barranquero  <lekktu@gmail.com>
-
-       * 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.
-
-2011-04-28  Eli Zaretskii  <eliz@gnu.org>
-
-       * doprnt.c (doprnt): Don't return value smaller than the buffer
-       size if the message was truncated.  (Bug#8545).
-
-2011-04-28  Juanma Barranquero  <lekktu@gmail.com>
-
-       * w32fns.c (Fx_change_window_property, Fx_delete_window_property)
-       (Fx_window_property): #if-0 the whole functions, not just the bodies.
-
-2011-04-27  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * doprnt.c (doprnt): Support "ll" length modifier, for long long.
-
-2011-04-27  Juanma Barranquero  <lekktu@gmail.com>
-
-       * makefile.w32-in: Update dependencies.
-
-2011-04-27  Eli Zaretskii  <eliz@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.
-
-       * eval.c (verror): Simplify calculation of size_t.
-
-       * coding.c (Ffind_operation_coding_system): Fix diagnostic error
-       messages.
-
-2011-04-27  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>  (tiny change)
-
-       * buffer.c (init_buffer) [USE_MMAP_FOR_BUFFERS]: Adjust to aliasing
-       change.
-
-2011-04-27  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * nsmenu.m: Replace all uses of XVECTOR with ASIZE and AREF.
-       This makes this file independent of the recent pseudovector change.
-
-2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
-
-       * keyboard.c (handle_user_signal): Fix pointer signedness problem.
-
-       * 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.
-
-       * 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.
-
-       * bytecode.c (exec_byte_code): Don't use XVECTOR before CHECK_VECTOR.
-
-       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.
-       * m/amdx86-64.h, m/ia64.h, 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.
-
-       * w32.c (emacs_gnutls_pull): New function for GnuTLS on Woe32.
-       (emacs_gnutls_push): Likewise.
-
-2011-04-24  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
-
-       * process.c (wait_reading_process_output): Check if GnuTLS
-       buffered some data internally if no FDs are set for TLS
-       connections.
-
-       * makefile.w32-in (OBJ2): Add gnutls.$(O).
-       (LIBS): Link to USER_LIBS.
-       ($(BLD)/gnutls.$(0)): New target.
-
-2011-04-24  Eli Zaretskii  <eliz@gnu.org>
-
-       * 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.
-
-       * 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.
-
-       * 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.
-
-       * msdos.h (XMenuActivate, XMenuAddSelection): Adjust prototypes
-       to changes in oldXMenu/XMenu.h from 2011-04-16.
-       (struct XMenu): Declare `help_text' `const char **'.
-
-       * xfaces.c <Qunspecified>: Make extern again.
-
-       * syntax.c: Include sys/types.h before including regex.h, as
-       required by POSIX.
-
-       * doc.c (get_doc_string): Improve the format passed to `error'.
-
-       * doprnt.c (doprnt): Improve commentary.
-
-       * term.c (init_tty) [MSDOS]: Fix 1st argument to maybe_fatal.
-
-       * Makefile.in (TAGS): Depend on $(M_FILE) and $(S_FILE), and scan
-       them with etags.
-
-       * 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.
-
-       * character.c (Fchar_direction): Function deleted.
-       (syms_of_character): Don't defsubr it.
-       <char-direction-table>: Deleted.
-
-2011-04-23  Eli Zaretskii  <eliz@gnu.org>
-
-       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.
-
-       * lisp.h (doprnt): Restore prototype.
-
-       * makefile.w32-in ($(BLD)/callint.$(O)): Depend on
-       $(SRC)/character.h.
-
-       * Makefile.in (base_obj): Add back doprnt.o.
-
-       * deps.mk (doprnt.o): Add back prerequisites.
-       (callint.o): Depend on character.h.
-
-       * 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.
-
-       * xdisp.c (vmessage): Call doprnt instead of vsnprintf.
-
-       * 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.
-
-       * character.c (char_string): Use %x to display the (unsigned)
-       codepoint of an invalid character, to avoid displaying a bogus
-       negative value.
-
-       * font.c (check_otf_features): Pass SDATA of SYMBOL_NAME to
-       `error', not SYMBOL_NAME itself.
-
-       * coding.c (Fencode_sjis_char, Fencode_big5_char): Use %c for
-       character arguments to `error'.
-
-       * 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'.
-
-2011-04-23  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-23  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xdisp.c (init_xdisp): Initialize echo_area_window (Bug#6451).
-
-       * buffer.c (syms_of_buffer): Doc fix (Bug#6902).
-
-2011-04-23  Samuel Thibault  <sthibault@debian.org>  (tiny change)
-
-       * sysdep.c (wait_for_termination): On GNU Hurd, kill returns -1 on
-       zombies (Bug#8467).
-
-2011-04-19  Eli Zaretskii  <eliz@gnu.org>
-
-       * syntax.h (SETUP_SYNTAX_TABLE_FOR_OBJECT): Fix setting of
-       gl_state.e_property when gl_state.object is Qt.
-
-       * insdel.c (make_gap_larger): Remove limitation of buffer size
-       to <= INT_MAX.
-
-2011-04-18  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xdisp.c (lookup_glyphless_char_display)
-       (produce_glyphless_glyph): Handle cons cell entry in
-       glyphless-char-display.
-       (Vglyphless_char_display): Document it.
-
-       * term.c (produce_glyphless_glyph): Handle cons cell entry in
-       glyphless-char-display.
-
-2011-04-17  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xdisp.c (get_next_display_element): Remove unnecessary ifdefs.
-
-       * termhooks.h (FRAME_WINDOW_P): Remove duplicated definitions.
-
-       * dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P): Add missing
-       definition for no-X builds.
-
-2011-04-16  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Static checks with GCC 4.6.0 and non-default toolkits.
-
-       * s/sol2-6.h, s/unixware.h (PTY_TTY_NAME_SPRINTF): Protoize decl.
-
-       * 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.
-
-       * s/usg5-4-common.h (SETUP_SLAVE_PTY): Don't pass extra arg to 'fatal'.
-
-       * eval.c: Include <stdio.h>, for vsnprintf on non-GNU/Linux hosts.
-
-       * data.c (arith_error): Mark with NO_RETURN if it doesn't return.
-
-       * alloc.c (bytes_used_when_full, SPARE_MEMORY, BYTES_USED):
-       Define only if needed.
-
-       * 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.
-
-       * dispextern.h (struct redisplay_interface): Rename param
-       to avoid shadowing.
-       * termhooks.h (struct terminal): Likewise.
-       * xterm.c (xembed_send_message): Likewise.
-
-       * insdel.c (make_gap_smaller): Define only if
-       USE_MMAP_FOR_BUFFERS || REL_ALLOC || DOUG_LEA_MALLOC.
-
-       * keyboard.c (read_char): Make a var volatile so longjmp won't clobber
-       it.
-
-       * emacs.c (MAX_HEAP_BSS_DIFF, my_edata): Move to where they're used,
-       so that we aren't warned about unused symbols.
-
-       * xfns.c (Fx_file_dialog): Rename local to avoid shadowing.
-
-       * xdisp.c (x_produce_glyphs): Mark var as initialized (Bug#8512).
-
-       * xfns.c (x_real_positions): Mark locals as initialized.
-
-       * xmenu.c (xmenu_show): Don't use uninitialized vars.
-
-       * 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.
-
-       * 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.
-
-       * xfns.c (Fx_hide_tip): Move locals to avoid shadowing.
-
-       * 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.
-
-       * keyboard.c (make_lispy_event): Remove unused local var.
-
-       * frame.c, frame.h (x_get_resource_string): Bring this back, but
-       only if HAVE_X_WINDOWS && !USE_X_TOOLKIT.
-
-       * 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.
-
-       * xgselect.c (xgselect_initialize): Check vs interface
-       even if ! (defined (USE_GTK) || defined (HAVE_GCONF)).
-
-       * xmenu.c (xmenu_show): Rename parm to avoid shadowing.
-
-       * xterm.c (x_create_toolkit_scroll_bar): Use const * for pointers
-       to read-only memory.
-
-       * fns.c (vector): Remove; this old hack is no longer needed.
+       Fix array bounds violation when pty allocation fails.
+       * process.c (PTY_NAME_SIZE): New constant.
+       (pty_name): Remove static variable; it's now auto.
+       (allocate_pty): Define even if !HAVE_PTYS; that's simpler.
+       Take pty_name as an arg rather than using a static variable.
+       All callers changed.
+       (create_process): Recover pty_flag from process, not from volatile local.
+       (create_pty): Stay inside array even when pty allocation fails.
+       (Fmake_serial_process): Omit unnecessary initializaiton of pty_flag.
+
+       * lread.c (Fload): Avoid initialization only when lint checking.
+       Mention that it's needed only for older GCCs.
+
+2013-07-20  Kenichi Handa  <handa@gnu.org>
+
+       * coding.c (CODING_ISO_FLAG_LEVEL_4): New macro.
+       (decode_coding_iso_2022): Check the single-shift area.  (Bug#8522)
+
+2013-07-20  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * lread.c (Fload): Avoid uninitialized warning.
+
+2013-07-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix some minor file descriptor leaks and related glitches.
+       * filelock.c (create_lock_file) [!O_CLOEXEC]: Use fcntl with FD_CLOEXEC.
+       (create_lock_file): Use write, not emacs_write.
+       * image.c (slurp_file, png_load_body):
+       * process.c (Fnetwork_interface_list, Fnetwork_interface_info)
+       (server_accept_connection):
+       Don't leak an fd on memory allocation failure.
+       * image.c (slurp_file): Add a cheap heuristic for growing files.
+       * xfaces.c (Fx_load_color_file): Block input around the fopen too,
+       as that's what the other routines do.  Maybe input need not be
+       blocked at all, but it's better to be consistent.
+       Avoid undefined behavior when strlen is zero.
+
+       * alloc.c (staticpro): Avoid buffer overrun on repeated calls.
+       (NSTATICS): Now a constant; doesn't need to be a macro.
+
+2013-07-19  Richard Stallman  <rms@gnu.org>
+
+       * coding.c (decode_coding_utf_8): Add simple loop for fast
+       processing of ASCII characters.
+
+2013-07-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * conf_post.h (RE_TRANSLATE_P) [emacs]: Remove obsolete optimization.
+
+2013-07-19  Eli Zaretskii  <eliz@gnu.org>
+
+       * keyboard.c (kbd_buffer_get_event): Use Display_Info instead of
+       unportable 'struct x_display_info'.
+       (DISPLAY_LIST_INFO): Delete macro: not needed, since Display_Info
+       is a portable type.
+
+2013-07-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * sysdep.c [GNU_LINUX]: Fix fd and memory leaks and similar issues.
+       (procfs_ttyname): Don't use uninitialized storage if emacs_fopen
+       or fscanf fails.
+       (system_process_attributes): Prefer plain char to unsigned char
+       when either will do.  Clean up properly if interrupted or if
+       memory allocations fail.  Don't assume sscanf succeeds.  Remove
+       no-longer-needed workaround to stop GCC from whining.  Read
+       command-line once, instead of multiple times.  Check read status a
+       bit more carefully.
+
+       Fix obscure porting bug with varargs functions.
+       The code assumed that int is treated like ptrdiff_t in a vararg
+       function, which is not a portable assumption.  There was a similar
+       -- though these days less likely -- porting problem with various
+       assumptions that pointers of different types all smell the same as
+       far as vararg functions is conserved.  To make this problem less
+       likely in the future, redo the API to use varargs functions.
+       * alloc.c (make_save_value): Remove this vararg function.
+       All uses changed to ...
+       (make_save_int_int_int, make_save_obj_obj_obj_obj)
+       (make_save_ptr_int, make_save_funcptr_ptr_obj, make_save_memory):
+       New functions.
+       (make_save_ptr): Rename from make_save_pointer, for consistency with
+       the above.  Define only on platforms that need it.  All uses changed.
 
-       * xsmfns.c (create_client_leader_window): Rename shadowing arg.
-       Remove unused var.
-       (gdk_x11_set_sm_client_id) [!USE_GTK]: Don't define.
+2013-07-18  Paul Eggert  <eggert@cs.ucla.edu>
 
-       * xrdb.c (x_load_resources): Omit unused local.
+       * keyboard.c: Try to fix typos in previous change.
+       (DISPLAY_LIST_INFO): New macro.
+       (kbd_buffer_get_event): Do not access members that are not present
+       in X11.  Revert inadvertent change of "!=" to "=".
 
-       * 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.
+2013-07-18  Juanma Barranquero  <lekktu@gmail.com>
 
-       * xterm.c (x_alloc_nearest_color_for_widget): Remove; unused.
-       (x_term_init): Remove local to avoid shadowing.
+       * keyboard.c (kbd_buffer_get_event):
+       * w32term.c (x_focus_changed): Port FOCUS_(IN|OUT)_EVENT changes to W32.
+       Followup to 2013-07-16T11:41:06Z!jan.h.d@swipnet.se.
 
-       * xfns.c, xterm.c (_XEditResCheckMessages): Protoize decl.
+2013-07-18  Paul Eggert  <eggert@cs.ucla.edu>
 
-       * xdisp.c, dispextern.h (set_vertical_scroll_bar): Now extern if
-       USE_TOOLKIT_SCROLL_BARS && !USE_GTK, as xterm.c needs it then.
+       * filelock.c: Fix unlikely file descriptor leaks.
+       (get_boot_time_1): Rework to avoid using emacs_open.
+       This doesn't actually fix a leak, but is better anyway.
+       (read_lock_data): Use read, not emacs_read.
 
-2011-04-16  Eli Zaretskii  <eliz@gnu.org>
+       * doc.c: Fix minor memory and file descriptor leaks.
+       * doc.c (get_doc_string): Fix memory leak when doc file absent.
+       (get_doc_string, Fsnarf_documentation):
+       Fix file descriptor leak on error.
+
+       * term.c: Fix minor fdopen-related file descriptor leaks.
+       * term.c (Fresume_tty) [!MSDOS]: Close fd if fdopen (fd) fails.
+       (init_tty) [!DOS_NT]: Likewise.  Also close fd if isatty (fd) fails.
+
+       * charset.c: Fix file descriptor leaks and errno issues.
+       Include <errno.h>.
+       (load_charset_map_from_file): Don't leak file descriptor on error.
+       Use plain record_xmalloc since the allocation is larger than
+       MAX_ALLOCA; that's simpler here.  Simplify test for exhaustion
+       of entries.
+       * eval.c (record_unwind_protect_nothing):
+       * fileio.c (fclose_unwind):
+       New functions.
+       * lread.c (load_unwind): Remove.  All uses replaced by fclose_unwind.
+       The replacement doesn't block input, but that no longer seems
+       necessary.
+
+2013-07-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lread.c: Fix file descriptor leaks and errno issues.
+       (Fload): Close some races that leaked fds or streams when 'load'
+       was interrupted.
+       (Fload, openp): Report error number of last nontrivial failure to open.
+       ENOENT counts as trivial.
+       * eval.c (do_nothing, clear_unwind_protect, set_unwind_protect_ptr):
+       New functions.
+       * fileio.c (close_file_unwind): No need to test whether FD is nonnegative,
+       now that the function is always called with a nonnegative arg.
+       * lisp.h (set_unwind_protect_ptr, set_unwind_protect_int): Remove.
+       All uses replaced with ...
+       (clear_unwind_protect, set_unwind_protect_ptr): New decls.
 
-       * gnutls.c (Fgnutls_boot): Don't pass Lisp_Object to `error'.
+       A few more minor file errno-reporting bugs.
+       * callproc.c (Fcall_process):
+       * doc.c (Fsnarf_documentation):
+       * fileio.c (Frename_file, Fadd_name_to_file, Fmake_symbolic_link):
+       * process.c (set_socket_option):
+       Don't let a constructor trash errno.
+       * doc.c: Include <errno.h>.
+
+2013-07-16  Juanma Barranquero  <lekktu@gmail.com>
+
+       * w32fns.c (unwind_create_tip_frame): Fix declaration.
+
+2013-07-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix w32 bug with call-process-region (Bug#14885).
+       * callproc.c (Fcall_process_region): Pass nil, not "/dev/null",
+       to Fcall_process when the input is empty.  This simplifies the
+       code a bit.  It makes no difference on POSIXish platforms but
+       apparently it fixes a bug on w32.
+
+       Fix bug where insert-file-contents closes a file twice. (Bug#14839).
+       * fileio.c (close_file_unwind): Don't close if FD is negative;
+       this can happen when unwinding a zapped file descriptor.
+       (Finsert_file_contents): Unwind-protect the fd before the point marker,
+       in case Emacs runs out of memory between the two unwind-protects.
+       Don't trash errno when closing FD.
+       Zap the FD in the specpdl when closing it, instead of deferring
+       the removal of the unwind-protect; this fixes a bug where a child
+       function unwinds the stack past us.
+
+       New unwind-protect flavors to better type-check C callbacks.
+       This also lessens the need to write wrappers for callbacks,
+       and the need for make_save_pointer.
+       * alloca.c (free_save_value):
+       * atimer.c (run_all_atimers):
+       Now extern.
+       * alloc.c (safe_alloca_unwind):
+       * atimer.c (unwind_stop_other_atimers):
+       * keyboard.c (cancel_hourglass_unwind) [HAVE_WINDOW_SYSTEM]:
+       * menu.c (cleanup_popup_menu) [HAVE_NS]:
+       * minibuf.c (choose_minibuf_frame_1):
+       * process.c (make_serial_process_unwind):
+       * xdisp.h (pop_message_unwind):
+       * xselect.c (queue_selection_requests_unwind):
+       Remove no-longer-needed wrapper.  All uses replaced by the wrappee.
+       * alloca.c (record_xmalloc):
+       Prefer record_unwind_protect_ptr to record_unwind_protect with
+       make_save_pointer.
+       * alloca.c (Fgarbage_collect):
+       Prefer record_unwind_protect_void to passing a dummy.
+       * buffer.c (restore_buffer):
+       * window.c (restore_window_configuration):
+       * xfns.c, w32fns.c (do_unwind_create_frame)
+       New wrapper.  All record-unwind uses of wrappee changed.
+       * buffer.c (set_buffer_if_live):
+       * callproc.c (call_process_cleanup, delete_temp_file):
+       * coding.c (code_conversion_restore):
+       * dired.c (directory_files_internal_w32_unwind) [WINDOWSNT]:
+       * editfns.c (save_excursion_restore)
+       (subst_char_in_region_unwind, subst_char_in_region_unwind_1)
+       (save_restriction_restore):
+       * eval.c (restore_stack_limits, un_autoload):
+       * fns.c (require_unwind):
+       * keyboard.c (recursive_edit_unwind, tracking_off):
+       * lread.c (record_load_unwind, load_warn_old_style_backquotes):
+       * macros.c (pop_kbd_macro, restore_menu_items):
+       * nsfns.m (unwind_create_frame):
+       * print.c (print_unwind):
+       * process.c (start_process_unwind):
+       * search.c (unwind_set_match_data):
+       * window.c (select_window_norecord, select_frame_norecord):
+       * xdisp.c (unwind_with_echo_area_buffer, unwind_format_mode_line)
+       (fast_set_selected_frame):
+       * xfns.c, w32fns.c (unwind_create_tip_frame):
+       Return void, not a dummy Lisp_Object.  All uses changed.
+       * buffer.h (set_buffer_if_live): Move decl here from lisp.h.
+       * callproc.c (call_process_kill):
+       * fileio.c (restore_point_unwind, decide_coding_unwind)
+       (build_annotations_unwind):
+       * insdel.c (Fcombine_after_change_execute_1):
+       * keyboard.c (read_char_help_form_unwind):
+       * menu.c (unuse_menu_items):
+       * minibuf.c (run_exit_minibuf_hook, read_minibuf_unwind):
+       * sound.c (sound_cleanup):
+       * xdisp.c (unwind_redisplay):
+       * xfns.c (clean_up_dialog):
+       * xselect.c (x_selection_request_lisp_error, x_catch_errors_unwind):
+       Accept no args and return void, instead of accepting and returning
+       a dummy Lisp_Object.  All uses changed.
+       * cygw32.c (fchdir_unwind):
+       * fileio.c (close_file_unwind):
+       * keyboard.c (restore_kboard_configuration):
+       * lread.c (readevalllop_1):
+       * process.c (wait_reading_process_output_unwind):
+       Accept int and return void, rather than accepting an Emacs integer
+       and returning a dummy object.  In some cases this fixes an
+       unlikely bug when the corresponding int is outside Emacs integer
+       range.  All uses changed.
+       * dired.c (directory_files_internal_unwind):
+       * fileio.c (do_auto_save_unwind):
+       * gtkutil.c (pop_down_dialog):
+       * insdel.c (reset_var_on_error):
+       * lread.c (load_unwind):
+       * xfns.c (clean_up_file_dialog):
+       * xmenu.c, nsmenu.m (pop_down_menu):
+       * xmenu.c (cleanup_widget_value_tree):
+       * xselect.c (wait_for_property_change_unwind):
+       Accept pointer and return void, rather than accepting an Emacs
+       save value encapsulating the pointer and returning a dummy object.
+       All uses changed.
+       * editfns.c (Fformat): Update the saved pointer directly via
+       set_unwind_protect_ptr rather than indirectly via make_save_pointer.
+       * eval.c (specpdl_func): Remove.  All uses replaced by definiens.
+       (unwind_body): New function.
+       (record_unwind_protect): First arg is now a function returning void,
+       not a dummy Lisp_Object.
+       (record_unwind_protect_ptr, record_unwind_protect_int)
+       (record_unwind_protect_void): New functions.
+       (unbind_to): Support SPECPDL_UNWIND_PTR etc.
+       * fileio.c (struct auto_save_unwind): New type.
+       (do_auto_save_unwind): Use it.
+       (do_auto_save_unwind_1): Remove; subsumed by new do_auto_save_unwind.
+       * insdel.c (struct rvoe_arg): New type.
+       (reset_var_on_error): Use it.
+       * lisp.h (SPECPDL_UNWIND_PTR, SPECPDL_UNWIND_INT, SPECPDL_UNWIND_VOID):
+       New constants.
+       (specbinding_func): Remove; there are now several such functions.
+       (union specbinding): New members unwind_ptr, unwind_int, unwind_void.
+       (set_unwind_protect_ptr): New function.
+       * xselect.c: Remove unnecessary forward decls, to simplify maintenance.
+
+       Be simpler and more consistent about reporting I/O errors.
+       * fileio.c (Fcopy_file, Finsert_file_contents, Fwrite_region):
+       Say "Read error" and "Write error", rather than "I/O error", or
+       "IO error reading", or "IO error writing", when a read or write
+       error occurs.
+       * process.c (Fmake_network_process, wait_reading_process_output)
+       (send_process, Fprocess_send_eof, wait_reading_process_output):
+       Capitalize diagnostics consistently.  Put "failed foo" at the
+       start of the diagnostic, so that we don't capitalize the
+       function name "foo".  Consistently say "failed" for such
+       diagnostics.
+       * sysdep.c, w32.c (serial_open): Now accepts Lisp string, not C string.
+       All callers changed.  This is so it can use report_file_error.
+       * sysdep.c (serial_open, serial_configure): Capitalize I/O
+       diagnostics consistently as above.
+
+       * fileio.c (report_file_errno): Fix errno reporting bug.
+       If the file name is neither null nor a pair, package it up as a
+       singleton list.  All callers changed, both to this function and to
+       report_file_error.  This fixes a bug where the memory allocator
+       invoked by list1 set errno so that the immediately following
+       report_file_error reported the wrong errno value.
+
+       Fix minor problems found by --enable-gcc-warnings.
+       * frame.c (Fhandle_focus_in, Fhandle_focus_out): Return a value.
+       * keyboard.c (kbd_buffer_get_event): Remove unused local.
+
+2013-07-16  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * xterm.c (x_focus_changed): Always generate FOCUS_IN_EVENT.
+       Set event->arg to Qt if switch-event shall be generated.
+       Generate FOCUS_OUT_EVENT for FocusOut if this is the focused frame.
+
+       * termhooks.h (enum event_kind): Add FOCUS_OUT_EVENT.
+
+       * nsterm.m (windowDidResignKey): If this is the focused frame, generate
+       FOCUS_OUT_EVENT.
+
+       * keyboard.c (Qfocus_in, Qfocus_out): New static objects.
+       (make_lispy_focus_in, make_lispy_focus_out): Declare and define.
+       (kbd_buffer_get_event): For FOCUS_IN, make a focus_in event if no
+       switch frame event is made.  Check ! NILP (event->arg) if X11 (moved
+       from xterm.c). Make focus_out event for FOCUS_OUT_EVENT if NS or X11
+       and there is a focused frame.
+       (head_table): Add focus-in and focus-out.
+       (keys_of_keyboard): Add focus-in and focus-out to Vspecial_event_map,
+       bind to handle-focus-in/out.
+
+       * frame.c (Fhandle_focus_in, Fhandle_focus_out): New functions.
+       (Fhandle_switch_frame): Call Fhandle_focus_in.
+       (syms_of_frame): defsubr handle-focus-in/out.
+
+2013-07-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix porting bug to older POSIXish platforms (Bug#14862).
+       * sysdep.c (emacs_pipe): New function, that implements
+       pipe2 (fd, O_CLOEXEC) even on hosts that lack O_CLOEXEC.
+       This should port better to CentOS 5 and to Mac OS X 10.6.
+       All calls to pipe2 changed.
+
+       Prefer list1 (X) to Fcons (X, Qnil) when building lists.
+       This makes the code easier to read and the executable a bit smaller.
+       Do not replace all calls to Fcons that happen to create lists,
+       just calls that are intended to create lists.  For example, when
+       creating an alist that maps FOO to nil, use list1 (Fcons (FOO, Qnil))
+       rather than list1 (list1 (FOO)) or Fcons (Fcons (FOO, Qnil), Qnil).
+       Similarly for list2 through list5.
+       * buffer.c (Fget_buffer_create, Fmake_indirect_buffer):
+       * bytecode.c (exec_byte_code):
+       * callint.c (quotify_arg, Fcall_interactively):
+       * callproc.c (Fcall_process, create_temp_file):
+       * charset.c (load_charset_map_from_file)
+       (Fdefine_charset_internal, init_charset):
+       * coding.c (get_translation_table, detect_coding_system)
+       (Fcheck_coding_systems_region)
+       (Fset_terminal_coding_system_internal)
+       (Fdefine_coding_system_internal, Fdefine_coding_system_alias):
+       * composite.c (update_compositions, Ffind_composition_internal):
+       * dired.c (directory_files_internal, file_name_completion)
+       (Fsystem_users):
+       * dispnew.c (Fopen_termscript, bitch_at_user, init_display):
+       * doc.c (Fsnarf_documentation):
+       * editfns.c (Fmessage_box):
+       * emacs.c (main):
+       * eval.c (do_debug_on_call, signal_error, maybe_call_debugger)
+       (Feval, eval_sub, Ffuncall, apply_lambda):
+       * fileio.c (make_temp_name, Fcopy_file, Faccess_file)
+       (Fset_file_selinux_context, Fset_file_acl, Fset_file_modes)
+       (Fset_file_times, Finsert_file_contents)
+       (Fchoose_write_coding_system, Fwrite_region):
+       * fns.c (Flax_plist_put, Fyes_or_no_p, syms_of_fns):
+       * font.c (font_registry_charsets, font_parse_fcname)
+       (font_prepare_cache, font_update_drivers, Flist_fonts):
+       * fontset.c (Fset_fontset_font, Ffontset_info, syms_of_fontset):
+       * frame.c (make_frame, Fmake_terminal_frame)
+       (x_set_frame_parameters, x_report_frame_params)
+       (x_default_parameter, Fx_parse_geometry):
+       * ftfont.c (syms_of_ftfont):
+       * image.c (gif_load):
+       * keyboard.c (command_loop_1):
+       * keymap.c (Fmake_keymap, Fmake_sparse_keymap, access_keymap_1)
+       (Fcopy_keymap, append_key, Fcurrent_active_maps)
+       (Fminor_mode_key_binding, accessible_keymaps_1)
+       (Faccessible_keymaps, Fwhere_is_internal):
+       * lread.c (read_emacs_mule_char):
+       * menu.c (find_and_return_menu_selection):
+       * minibuf.c (get_minibuffer):
+       * nsfns.m (Fns_perform_service):
+       * nsfont.m (ns_script_to_charset):
+       * nsmenu.m (ns_popup_dialog):
+       * nsselect.m (ns_get_local_selection, ns_string_from_pasteboard)
+       (Fx_own_selection_internal):
+       * nsterm.m (append2):
+       * print.c (Fredirect_debugging_output)
+       (print_prune_string_charset):
+       * process.c (Fdelete_process, Fprocess_contact)
+       (Fformat_network_address, set_socket_option)
+       (read_and_dispose_of_process_output, write_queue_push)
+       (send_process, exec_sentinel):
+       * sound.c (Fplay_sound_internal):
+       * textprop.c (validate_plist, add_properties)
+       (Fput_text_property, Fadd_face_text_property)
+       (copy_text_properties, text_property_list, syms_of_textprop):
+       * unexaix.c (report_error):
+       * unexcoff.c (report_error):
+       * unexsol.c (unexec):
+       * xdisp.c (redisplay_tool_bar, store_mode_line_string)
+       (Fformat_mode_line, syms_of_xdisp):
+       * xfaces.c (set_font_frame_param)
+       (Finternal_lisp_face_attribute_values)
+       (Finternal_merge_in_global_face, syms_of_xfaces):
+       * xfns.c (x_default_scroll_bar_color_parameter)
+       (x_default_font_parameter, x_create_tip_frame):
+       * xfont.c (xfont_supported_scripts):
+       * xmenu.c (Fx_popup_dialog, xmenu_show, xdialog_show)
+       (menu_help_callback, xmenu_show):
+       * xml.c (make_dom):
+       * xterm.c (set_wm_state):
+       Prefer list1 (FOO) to Fcons (FOO, Qnil) when creating a list,
+       and similarly for list2 through list5.
+
+2013-07-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * callproc.c (Fcall_process_region): Fix minor race and tune.
+       (create_temp_file): New function, with the temp-file-creation part
+       of the old Fcall_process_region.  Use Fcopy_sequence to create the
+       temp file name, rather than alloca + build_string, for simplicity.
+       Don't bother to block input around the temp file creation;
+       shouldn't be needed.  Simplify use of mktemp.  Use
+       record_unwind_protect immediately after creating the temp file;
+       this closes an unlikely race where the temp file was not removed.
+       Use memcpy rather than an open-coded loop.
+       (Fcall_process_region): Use the new function.  If the input is
+       empty, redirect from /dev/null rather than from a newly created
+       empty temp file; this avoids unnecessary file system traffic.
+
+2013-07-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * filelock.c (create_lock_file) [!HAVE_MKOSTEMP && !HAVE_MKSTEMP]:
+       Simplify by making this case like the other two.  This is a bit
+       slower on obsolete hosts, but the extra complexity isn't worth it.
+
+       * callproc.c (child_setup, relocate_fd) [!DOS_NT]:
+       * process.c (create_process) [!DOS_NT]:
+       Remove now-unnecessary calls to emacs_close.
+
+2013-07-13  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32term.c (x_draw_hollow_cursor): Delete the brush object when
+       returning early.  (Bug#14850)
+
+       * coding.c (syms_of_coding): Set up inhibit-null-byte-detection
+       and inhibit-iso-escape-detection attributes of 'undecided'.
+       (Bug#14822)
+
+2013-07-13  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * deps.mk (sysdep.o): Remove dependency on ../lib/ignore-value.h.
+       Reported by Herbert J. Skuhra in
+       <http://lists.gnu.org/archive/html/emacs-devel/2013-07/msg00455.html>.
+
+       Don't lose top specpdl entry when memory is exhausted.
+       * eval.c (grow_specpdl): Increment specpdl top by 1 and check for
+       specpdl overflow here, to simplify callers; all callers changed.
+       Always reserve an unused entry at the stack top; this avoids
+       losing the top entry's information when memory is exhausted.
+
+2013-07-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Clean up errno reporting and fix some errno-reporting bugs.
+       * callproc.c (Fcall_process):
+       * fileio.c (Fcopy_file, Finsert_file_contents, Fwrite_region):
+       * process.c (create_process, Fmake_network_process):
+       * unexaix.c (report_error):
+       * unexcoff.c (report_error):
+       Be more careful about reporting the errno of failed operations.
+       The code previously reported the wrong errno sometimes.
+       Also, prefer report_file_errno to setting errno + report_file_error.
+       (Fcall_process): Look at openp return value rather than at path,
+       as that's a bit faster and clearer when there's a numeric predicate.
+       * fileio.c (report_file_errno): New function, with most of the
+       old contents of report_file_error.
+       (report_file_error): Use it.
+       (Ffile_exists_p, Ffile_accessible_directory_p):
+       Set errno to 0 when it is junk.
+       * fileio.c (Faccess_file):
+       * image.c (x_create_bitmap_from_file):
+       Use faccessat rather than opening the file, to avoid the hassle of
+       having a file descriptor open.
+       * lisp.h (report_file_errno): New decl.
+       * lread.c (Flocate_file_internal): File descriptor 0 is valid, too.
+
+       Minor EBADF fixes.
+       * process.c (create_process, wait_reading_process_output) [AIX]:
+       Remove obsolete SIGHUP-related  code, as Emacs no longer disables
+       SIGHUP, so EBADF is no longer acceptable here (it wouldn't work in
+       a multithreaded environment anyway).
+       * sysdep.c (emacs_close): It's not dangerous to invoke emacs_close (-1).
+
+2013-07-12  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * image.c (x_find_image_file): Don't close a remote file handle.
+
+2013-07-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix races with threads and file descriptors.
+       * callproc.c (Fcall_process_region):
+       * dired.c (open_directory):
+       * emacs.c (main, Fdaemon_initialized):
+       * image.c (x_find_image_file):
+       * inotify.c (Finotify_rm_watch):
+       * lread.c (Flocate_file_internal):
+       * process.c (Fnetwork_interface_list, Fnetwork_interface_info):
+       * term.c (term_mouse_moveto, init_tty):
+       * termcap.c (tgetent):
+       * unexaix.c, unexcoff.c (report_error, report_error_1, adjust_lnnoptrs)
+       * unexaix.c, unexcoff.c, unexcw.c, unexelf.c (unexec):
+       * unexhp9k800.c, unexmacosx.c (unexec):
+       * callproc.c (Fcall_process_region):
+       Use emacs_close, not close.
+       * sysdep.c (POSIX_CLOSE_RESTART, posix_close) [!POSIX_CLOSE_RESTART]:
+       New macro and function, which emulates the POSIX_CLOSE_RESTART macro
+       and posix_close function on current platforms (which all lack them).
+       (emacs_close): Use it.  This should fix the races on GNU/Linux and
+       on AIX and on future platforms that support POSIX_CLOSE_RESTART,
+       and it should avoid closing random victim file descriptors on
+       other platforms.
+
+2013-07-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * inotify.c (uninitialized): Remove.  All uses replaced by -1.
+       (Finotify_add_watch): Simplify, since -1 means uninitialized now.
+       Touch up doc a bit.
+
+       * eval.c (backtrace_function, backtrace_args): Now EXTERNALLY_VISIBLE.
+       This is for .gdbinit xbacktrace.
+
+       * sysdep.c, term.c, termcap.c, terminal.c: Integer-related minor fixes.
+       * sysdep.c (emacs_get_tty): Return void, since nobody uses the value.
+       (emacs_set_tty): Now static.
+       * sysdep.c (emacs_set_tty, tabs_safe_p, emacs_close):
+       * term.c (tty_capable_p, tty_default_color_capabilities)
+       (get_tty_terminal, term_mouse_movement)
+       (handle_one_term_event, init_tty, maybe_fatal):
+       * termcap.c (tgetst1, struct termcap_buffer, valid_filename_p)
+       (tgetent, scan_file, name_match, compare_contin):
+       * terminal.c (get_terminal):
+       Use bool for boolean.
+       * sysdep.c (init_system_name): Don't overflow stack on huge hostname.
+       Prefer char to unsigned char if either will do.
+       * term.c (OUTPUT, turn_on_face): Omit unnecessary casts to int.
+       (tty_write_glyphs): Prefer int to unsigned.
+       (produce_glyphless_glyph): Remove 2nd (unused) int arg.
+       All callers changed.
+       * termcap.c (tprint, main) [TEST]: Remove non-working test.
 
-       Fix regex.c, syntax.c and friends for buffers > 2GB.
-       * syntax.h (struct gl_state_s): Declare character position members
-       EMACS_INT.
+2013-07-10  Paul Eggert  <eggert@cs.ucla.edu>
 
-       * syntax.c (update_syntax_table): Declare 2nd argument EMACS_INT.
+       Port to C89.
+       * bytecode.c (BYTE_CODE_THREADED): Do not define if __STRICT_ANSI__.
+       (B__dummy__): New dummy symbol, to pacify C89.
+       * dbusbind.c (XD_DEBUG_MESSAGE): Omit debugging on C89 hosts, since
+       they can't grok varargs macros.
+       * dispnew.c (add_window_display_history)
+       (add_frame_display_history):
+       * print.c (print_object):
+       * xdisp.c (debug_method_add):
+       Use %p printf format only for void pointers.
+       * emacs.c (usage_message): New constant, replacing ...
+       (USAGE1, USAGE2, USAGE3): Remove; they were too long for C89.
+       (main): Adjust to usage reorg.
+       * fns.c (syms_of_fns):
+       * profiler.c (syms_of_profiler):
+       Don't use non-constant struct initializers.
+       * gnutls.h (gnutls_initstage_t):
+       * lisp.h (enum Lisp_Fwd_Type):
+       * lread.c (lisp_file_lexically_bound_p):
+       * xsettings.c (anonymous enum):
+       Remove trailing comma.
+       * xsettings.c (apply_xft_settings): Use %f, not %lf; %lf is a C99ism.
+       * lisp.h (ENUM_BF): Use unsigned if pedantic.
+       (DEFUN_FUNCTION_INIT): New macro, that falls back on a cast if pre-C99.
+       (DEFUN): Use it.
+       * regex.c (const_re_char): New type, to pacify strict C89.
+       All uses of 'const re_char' replaced to use it.
+       * regex.h (_Restrict_): Rename from __restrict, to avoid clash
+       with glibc when strict C89.  This change is imported from gnulib.
+       All uses changed.
+       (_Restrict_arr_): Rename from __restrict_arr, similarly.
+       * sysdep.c (time_from_jiffies) [!HAVE_LONG_LONG_INT]:
+       Omit GNU_LINUX implementation, since it requires long long.
+       * xterm.c (x_draw_underwave):
+       Do not assume the traditional order of struct's members.
+       (x_term_init): Rewrite to avoid the need for non-constant structure
+       initializers.
+
+       Syntax cleanup, mostly replacing macros with functions.
+`      This removes the need for the syntax_temp hack.
+       * search.c: Include syntax.h after buffer.h, since syntax.h uses BVAR.
+       * syntax.c (SYNTAX_INLINE): New macro.
+       (SYNTAX_FLAGS_COMSTART_FIRST, SYNTAX_FLAGS_COMSTART_SECOND)
+       (SYNTAX_FLAGS_COMEND_FIRST, SYNTAX_FLAGS_COMEND_SECOND)
+       (SYNTAX_FLAGS_PREFIX, SYNTAX_FLAGS_COMMENT_STYLEB)
+       (SYNTAX_FLAGS_COMMENT_STYLEC, SYNTAX_FLAGS_COMMENT_STYLEC2)
+       (SYNTAX_FLAGS_COMMENT_NESTED, SYNTAX_FLAGS_COMMENT_STYLE)
+       (SYNTAX_COMEND_FIRST): Now functions, not macros.
+       (ST_COMMENT_STYLE, ST_STRING_STYLE, INTERVALS_AT_ONCE):
+       Now constants, not macros.
+       (syntax_temp) [!__GNUC__]: Remove.
+       (SYNTAX_PREFIX): Remove; all uses replaced by syntax_prefix_flag_p.
+       (syntax_prefix_flag_p): Move implementation of SYNTAX_PREFIX here.
+       (SET_RAW_SYNTAX_ENTRY, SET_RAW_SYNTAX_ENTRY_RANGE, SYNTAX_MATCH)
+       (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT):
+       Move here from syntax.h; now functions, not macros.  Except for the
+       last function, these are static since only syntax.c uses them.
+       (syntax_multibyte): Rename from SYNTAX_WITH_MULTIBYTE_CHECK.
+       All uses changed.  Now a function, not a macro; use this fact
+       to simplify the code.
+       (scan_lists, scan_sexps_forward): Remove workarounds for ancient
+       compiler bugs; no longer relevant.
+       * syntax.h: Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
+       (SYNTAX_INLINE): New macro.
+       (struct gl_state_s, gl_state): Move earlier, so that it's in scope
+       for the new functions.  Use bool for boolean member.
+       (SYNTAX_ENTRY, SYNTAX, SYNTAX_WITH_FLAGS, SYNTAX_MATCH)
+       (SYNTAX_TABLE_BYTE_TO_CHAR, UPDATE_SYNTAX_TABLE_FORWARD)
+       (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
+       (SETUP_BUFFER_SYNTAX_TABLE):
+       Now extern inline functions, not macros.
+       (CURRENT_SYNTAX_TABLE, SYNTAX_ENTRY_INT):
+       Remove; all uses replaced by implementation.
+       (syntax_temp) [!__GNUC__]: Remove decl.
+       (SETUP_SYNTAX_TABLE_FOR_OBJECT): New decl.
+
+2013-07-10  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * emacs.c (main): Fix syntax error.
+
+2013-07-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Timestamp fixes for undo (Bug#14824).
+       * atimer.c (schedule_atimer):
+       * fileio.c (Ffile_newer_than_file_p):
+       Minor cleanup: use EMACS_TIME_LT so that we can remove EMACS_TIME_GT.
+       * buffer.c (buffer-undo-list): Document (t . 0) and (t . -1).
+       * fileio.c (Fclear_visited_file_modtime): Move to lisp/files.el.
+       (syms_of_fileio): Remove Sclear_visited_file_name.
+       (Fvisited_file_modtime): Return -1, not (-1 ...), when the visited
+       file doesn't exist; this avoids an ambiguity with negative timestamps.
+       (Fset_visited_file_modtime): Accept -1 and 0 as time-list arg.
+       * systime.h (make_emacs_time, invalid_emacs_time):
+       Don't assume struct timespec layout; POSIX doesn't guarantee it.
+       (EMACS_TIME_NE, EMACS_TIME_GT, EMACS_TIME_GE): Remove.
+       * undo.c (record_first_change): Push (visited-file-modtime) onto
+       undo list rather than reimplementing it by hand, incorrectly.
+
+2013-07-09  Ken Brown  <kbrown@cornell.edu>
+
+       * sheap.c (STATIC_HEAP_SIZE) [__x86_64__]: Increase to 18MB.
+
+2013-07-09  Juanma Barranquero  <lekktu@gmail.com>
+
+       * makefile.w32-in ($(BLD)/emacs.$(O), $(BLD)/sysdep.$(O)): Update.
+
+2013-07-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Handle errno and exit status a bit more carefully.
+       * callproc.c (child_setup) [!DOS_NT]: Don't try to stuff an error
+       number into an exit status.  Instead, use EXIT_CANCELED.
+       (child_setup) [!MSDOS]: Avoid possible deadlock with vfork.
+       * callproc.c (relocate_fd):
+       * emacs.c (close_output_streams, main):
+       * process.c (create_process):
+       * sysdep.c (sys_subshell) [!DOS_NT || !WINDOWSNT]:
+       Use emacs_perror for simplicity.
+       * callproc.c (relocate_fd, main):
+       * sysdep.c (sys_subshell):
+       Exit with EXIT_CANCELED etc., not 1, when exec setup fails.
+       (shut_down_emacs): Use emacs_write, not write.
+       * emacs.c, sysdep.c: Don't include <ignore-value.h>.
+       * fileio.c (Fcopy_file, e_write):
+       * nsterm.m (ns_select):
+       * process.c (send_process):
+       * sound.c (vox_write):
+       Use emacs_write_sig, not emacs_write.
+       * lisp.h (emacs_write_sig, emacs_perror): New decls.
+       * process.h (EXIT_CANCELED), EXIT_CANNOT_INVOKE, EXIT_ENOENT):
+       New constants.
+       * sysdep.c (emacs_backtrace): Use emacs_write, not ignore_value
+       of write.
+       (emacs_full_write): New function.
+       (emacs_write): Rewrite to use it.
+       (emacswrite_sig, emacs_perror): New functions.
+       * xrdb.c (fatal): Don't invoke perror, since errno might be garbage.
+
+2013-07-08  Magnus Henoch <magnus.henoch@gmail.com> (tiny change).
+
+       * image.c (imagemagick_load_image): Do not use MagickExportImagePixels
+       on NS even if it is present.  Pixmap on NS is a void*.
+
+2013-07-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Port to Ubuntu 10 (Bug#14803).
+       Problem reported by T.V. Raman.
+       * process.c (close_on_exec, accept4, process_socket):
+       Define these if !HAVE_ACCEPT4, not if !SOCK_CLOEXEC.
+
+2013-07-07  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32.c (sys_dup): Declare prototype.
+
+       * filelock.c:
+       * emacs.c:
+       * callproc.c [WINDOWSNT]: Include sys/socket.h.
+
+2013-07-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Make file descriptors close-on-exec when possible (Bug#14803).
+       This simplifies Emacs a bit, since it no longer needs to worry
+       about closing file descriptors by hand in some cases.
+       It also fixes some unlikely races.  Not all such races, as
+       libraries often open files internally without setting
+       close-on-exec, but it's an improvement.
+       * alloc.c (valid_pointer_p) [!WINDOWSNT]:
+       * callproc.c (Fcall_process) [!MSDOS]:
+       * emacs.c (main) [!DOS_NT]:
+       * nsterm.m (ns_term_init):
+       * process.c (create_process):
+       Use 'pipe2' with O_CLOEXEC instead of 'pipe'.
+       * emacs.c (Fcall_process_region) [HAVE_MKOSTEMP]:
+       * filelock.c (create_lock_file) [HAVE_MKOSTEMP]:
+       Prefer mkostemp with O_CLOEXEC to mkstemp.
+       * callproc.c (relocate_fd) [!WINDOWSNT]:
+       * emacs.c (main): Use F_DUPFD_CLOEXEC, not plain F_DUPFD.
+       No need to use fcntl (..., F_SETFD, FD_CLOEXEC), since we're
+       now using pipe2.
+       * filelock.c (create_lock_file) [! HAVE_MKOSTEMP]:
+       Make the resulting file descriptor close-on-exec.
+       * lisp.h, lread.c, process.c (close_load_descs, close_process_descs):
+       * lread.c (load_descriptor_list, load_descriptor_unwind):
+       Remove; no longer needed.  All uses removed.
+       * process.c (SOCK_CLOEXEC): Define to 0 if not supplied by system.
+       (close_on_exec, accept4, process_socket) [!SOCK_CLOEXEC]:
+       New functions.
+       (socket) [!SOCK_CLOEXEC]: Supply a substitute.
+       (Fmake_network_process, Fnetwork_interface_list):
+       (Fnetwork_interface_info, server_accept_connection):
+       Make newly-created socket close-on-exec.
+       * sysdep.c (emacs_open, emacs_fopen):
+       Make new-created descriptor close-on-exec.
+       * w32.c (fcntl): Support F_DUPFD_CLOEXEC well enough for Emacs.
+       * w32.c, w32.h (pipe2): Rename from 'pipe', with new flags arg.
 
-       * textprop.c (verify_interval_modification, interval_of):
-       Declare arguments EMACS_INT.
+2013-07-07  Jan Djärv  <jan.h.d@swipnet.se>
 
-       * intervals.c (adjust_intervals_for_insertion): Declare arguments
-       EMACS_INT.
+       * nsterm.m (sendEvent:): Propagate keyboard events to modal windows
+       for NS_IMPL_GNUSTEP.
 
-       * intervals.h (CHECK_TOTAL_LENGTH): Cast to EMACS_INT, not `int'.
+2013-07-07  Paul Eggert  <eggert@cs.ucla.edu>
 
-       * indent.c (Fvertical_motion): Local variable it_start is now
-       EMACS_INT.
+       Fix openp errno handling.
+       * callproc.c (Fcall_process): Preserve openp errno around close.
+       * lread.c (openp): Set errno when returning -1, as some callers
+       expect this.
 
-       * 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'.
+2013-07-06  Jan Djärv  <jan.h.d@swipnet.se>
 
-       * 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.
+       * nsterm.m (sendEvent:): Handle NSAPP_DATA2_RUNFILEDIALOG.
 
-2011-04-16  Ben Key  <bkey76@gmail.com>
+       * nsterm.h (NSSavePanel): Update comment.
+       (NSAPP_DATA2_RUNFILEDIALOG): Define.
+       (ns_run_file_dialog): Declare.
 
-       * 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.
+       * nsfns.m: Remove panelOK.
+       (ns_fd_data): New.
+       (ns_run_file_dialog): New function.
+       (Fns_read_file_name): Fill in ns_fd_data, post an event and start the
+       event loop, so file dialog is popped up by ns_run_file_dialog, called
+       by sendEvent (Bug#14578).
+       (EmacsSavePanel, EmacsOpenPanel): Remove ok and cancel methods.
 
-2011-04-15  Paul Eggert  <eggert@cs.ucla.edu>
+2013-07-06  Eli Zaretskii  <eliz@gnu.org>
 
-       * sysdep.c (emacs_read): Remove unnecessary check vs MAX_RW_COUNT.
+       * xdisp.c (default_line_pixel_height): New function.
+       (pos_visible_p, move_it_vertically_backward, try_scrolling)
+       (try_cursor_movement, redisplay_window, try_window)
+       (try_window_id): Use it instead of FRAME_LINE_HEIGHT.  (Bug#14771)
 
-       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
+       * window.c (window_scroll_pixel_based): use
+       default_line_pixel_height.
 
-       * 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.
+       * dispextern.h (default_line_pixel_height): Add prototype.
 
-2011-04-15  Ben Key  <bkey76@gmail.com>
+       * frame.c (x_set_line_spacing): Accept a float value for
+       line-spacing parameter, per the documentation.
 
-       * 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.
+       * data.c (Fmultibyte_string_p): Doc fix.
 
-2011-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
+2013-07-05  Paul Eggert  <eggert@cs.ucla.edu>
 
-       * process.c (Qprocessp): Don't declare static.
-       * lisp.h (Qprocessp): Declare again.
+       Use emacs_open more consistently when opening files.
+       This handles EINTR more consistently now, and makes it easier
+       to introduce other uniform changes to file descriptor handling.
+       * src/systdio.h: New file.
+       * src/buffer.c (mmap_init):
+       * cygw32.c (chdir_to_default_directory):
+       * dispnew.c (Fopen_termscript):
+       * emacs.c (Fdaemon_initialized):
+       * fileio.c (Fdo_auto_save):
+       * image.c (slurp_file, png_load_body, jpeg_load_body):
+       * keyboard.c (Fopen_dribble_file):
+       * lread.c (Fload):
+       * print.c (Fredirect_debugging_output):
+       * sysdep.c (get_up_time, procfs_ttyname, procfs_get_total_memory):
+       * termcap.c (tgetent):
+       * unexaix.c, unexcoff.c (unexec, adjust_lnnoptrs):
+       * unexcw.c, unexelf.c, unexhp9k800.c, unexmacosx.c (unexec):
+       * w32term.c (w32_initialize) [CYGWIN]:
+       * xfaces.c (Fx_load_color_file):
+       Use emacs_open instead of plain open, and emacs_fopen instead of
+       plain fopen.
+       * dispnew.c, fileio.c, image.c, keyboard.c, lread.c, print.c, sysdep.c:
+       * xfaces.c: Include sysstdio.h rather than stdio.h, for emacs_fopen.
+       * callproc.c (default_output_mode): New constant.
+       (Fcall_process): Use it to call emacs_open instead of plain creat.
+       * dispnew.c (Fopen_termscript): Fix minor race in opening termscript.
+       * sysdep.c (emacs_open): Add commentary and don't call file name "path".
+       (emacs_fopen): New function.
+       * unexaix.c, unexcoff.c, unexelf.c, unexhp9k800.c, unexmacosx.c:
+       Include <lisp.h>, for emacs_open.
+       * unexelf.c (fatal): Remove decl; not needed with <lisp.h> included.
+
+       Remove duplicate #include directives.
+       * alloc.c [GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES]:
+       * xfaces.c:
+       Don't include stdio.h twice.
+       * buffer.c [USE_MMAP_FOR_BUFFERS]:
+       Don't include sys/types.h or stdio.h twice.
+       * fileio.c [WINDOWSNT | MSDOS]: Don't include fcntl.h twice.
+       * lread.c: Don't include coding.h twice.
+       * nsfont.m: Don't include frame.h twice.
+       * process.c [HAVE_RES_INIT]: Don't include <netinet/in.h> twice.
+       * ralloc.c: Don't include <unistd.h> twice.
+       * xdisp.c: Don't include font.h twice.
+       * xterm.c: Don't include fontset.h twice.
+       * xterm.h [USE_X_TOOLKIT]: Don't include X11/StringDefs.h twice.
+
+2013-07-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Scale ImageMagick images more carefully.
+       * image.c (scale_image_size) [HAVE_IMAGEMAGICK]: New function.
+       (compute_image_size): Use it.  Define only if HAVE_IMAGEMAGICK.
+       Be more careful about avoiding undefined behavior after
+       integer overflow and division by zero.
+
+2013-07-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+       * w32fns.c (Qgeometry, Qworkarea, Qmm_size, Qframes): New variables.
+       (syms_of_w32fns): DEFSYM them.
+       (MONITORINFOF_PRIMARY, SM_XVIRTUALSCREEN, SM_YVIRTUALSCREEN)
+       (CCHDEVICENAME): Define macros if not defined.
+       (struct MONITOR_INFO_EX): New struct.
+       (MonitorEnum_Proc, EnumDisplayMonitors_Proc): New prototypes.
+       (enum_display_monitors_fn): New variable.
+       (globals_of_w32fns): Initialize it.
+       (Fx_display_pixel_width, Fx_display_pixel_height)
+       (Fx_display_mm_height, Fx_display_mm_width): Mention behavior on
+       multi-monitor setups in docstrings.
+       (Fx_display_mm_height, Fx_display_mm_width): Approximate whole
+       screen size by primary monitor's millimeter per pixel.
+       (w32_monitor_enum, w32_display_monitor_attributes_list)
+       (w32_display_monitor_attributes_list_fallback)
+       (Fw32_display_monitor_attributes_list): New functions.
+       (syms_of_w32fns): Defsubr Sw32_display_monitor_attributes_list.
+
+       * w32term.c (SM_CXVIRTUALSCREEN, SM_CYVIRTUALSCREEN): Define macros
+       if not defined.
+       (x_display_pixel_height, x_display_pixel_width): Use GetSystemMetrics.
+
+2013-07-04  Michael Albinus  <michael.albinus@gmx.de>
+
+       * fileio.c (Qfile_notify_error): New error symbol.
+
+       * gfilenotify.c (Fgfile_add_watch, Fgfile_rm_watch):
+       * inotify.c (inotify_callback, symbol_to_inotifymask)
+       (Finotify_add_watch, Finotify_rm_watch): Use it.
+       (inotifyevent_to_event): Exchange order of cookie and file name.
+       (Finotify_add_watch): Adapt docstring.
+
+       * lisp.h (Qfile_notify_error): Declare.
+
+2013-07-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Try again to fix FreeBSD bug re multithreaded memory alloc (Bug#14569).
+       * emacs.c (main) [HAVE_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
+       Do not clear _malloc_thread_enabled_p, undoing the previous change,
+       which did not work (see <http://bugs.gnu.org/14569#307>).
+       (main): Do not invoke malloc_enable_thread if (! CANNOT_DUMP
+       && (!noninteractive || initialized)).  This attempts to thread
+       the needle between the Scylla of FreeBSD and the Charybdis of Cygwin.
+
+2013-07-04  Juanma Barranquero  <lekktu@gmail.com>
+
+       * image.c (x_to_xcolors) [HAVE_NTGUI]: Remove unused var `hdc'.
+       (x_build_heuristic_mask) [HAVE_NTGUI]: Remove unused var `frame_dc'.
+
+2013-07-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Try to fix FreeBSD bug re multithreaded memory allocation (Bug#14569).
+       * emacs.c (main) [HAVE_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
+       Clear _malloc_thread_enabled_p at startup.  Reported by Ashish SHUKLA in
+       <http://lists.gnu.org/archive/html/emacs-devel/2013-07/msg00088.html>.
+
+2013-07-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * sysdep.c (sys_siglist) [HAVE_DECL___SYS_SIGLIST]:
+       Define to __sys_siglist.
+
+2013-07-02  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (IT_OVERFLOW_NEWLINE_INTO_FRINGE): Don't disallow
+       word-wrap, so that overflow-newline-into-fringe would work in
+       visual-line-mode.  (Bug#2749)
+       (move_it_in_display_line_to): When the last scanned display
+       element fits exactly on the display line, and
+       overflow-newline-into-fringe is non-nil, but wrap_it is valid,
+       don't return MOVE_NEWLINE_OR_CR, but instead back up to the last
+       wrap point and return MOVE_LINE_CONTINUED.  Fixes problems with
+       finding buffer position that corresponds to pixel coordinates,
+       e.g. in buffer_posn_from_coords.
+
+2013-07-02  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * process.c (handle_child_signal): Call catch_child_signal if
+       NS_IMPL_GNUSTEP.
+
+2013-07-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Don't convert function pointers to void * and back.
+       It isn't portable C, and it's easy enough to avoid.
+       * alloc.c: Verify SAVE_FUNCPOINTER bits, too.
+       (make_save_value): Add support for SAVE_FUNCPOINTER.
+       * keymap.c (map_keymap_char_table_item, map_keymap_internal):
+       * print.c (print_object):
+       Distinguish function from object pointers.
+       * lisp.h (SAVE_FUNCPOINTER): New constant.
+       (SAVE_SLOT_BITS): Adjust to it.
+       (SAVE_TYPE_FUNCPTR_PTR_OBJ): New constant, replacing
+       SAVE_TYPE_PTR_PTR_OBJ.  Change the only use.
+       (voidfuncptr): New typedef.
+       (struct Lisp_Save_Value): New member data[0].funcpointer.
+       (XSAVE_FUNCPOINTER): New function.
 
-2011-04-15  Juanma Barranquero  <lekktu@gmail.com>
+       Simplify buildobj processing.
+       * Makefile.in (buildobj.h): Make it a sequence of strings each
+       followed by comma, rather than a single string.  Put it into a
+       .tmp file in case there's an error while generating it.
+       (gl-stamp): Use .tmp for temp files.
+       (mostlyclean): Clean .tmp files.
+       * doc.c (buildobj): Move to just the routine that needs it.
+       It's now an array of strings, so processing is simpler.
 
-       * font.c (Qopentype): Don't make static (used from w32uniscribe.c).
+2013-07-01  Paul Eggert  <eggert@cs.ucla.edu>
 
-2011-04-14  Paul Eggert  <eggert@cs.ucla.edu>
+       Fix bug re noninteractive multithreaded memory allocation (Bug#14569).
+       * emacs.c (malloc_enable_thread): Hoist extern decl to top level.
+       (main) [HAVE_PTHREAD && !SYSTEM_MALLOC && !DOUG_LEA_MALLOC]:
+       Invoke malloc_enable_thread even when not interactive.
+       Problem reported by Ken Brown in <http://bugs.gnu.org/14569#275>.
+       * process.c (init_process_emacs) [CYGWIN]: Tickle glib even
+       in this case, since the underlying bug has now been fixed.
 
-       Improve C-level modularity by making more things 'static'.
+2013-07-01  Juanma Barranquero  <lekktu@gmail.com>
 
-       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.
+       * emacs.c (Fkill_emacs): Expand Vauto_save_list_file_name before
+       unlinking it (bug#14691).
 
-       * sysdep.c (croak): Now static, if
-       defined TIOCNOTTY || defined USG5 || defined CYGWIN.
-       * syssignal.h (croak): Declare only if not static.
+2013-06-30  Michal Nazarewicz  <mina86@mina86.com>
 
-       * alloc.c (refill_memory_reserve): Now static if
-       !defined REL_ALLOC || defined SYSTEM_MALLOC.
-       * lisp.h (refill_memory_reserve): Declare only if not static.
+       * buffer.c (FKill_buffer): Run `kill-buffer-query-functions'
+       before checking whether buffer is modified.  This lets
+       `kill-buffer-query-functions' cancel killing of the buffer or save
+       its content before `kill-buffer' asks user the "Buffer %s
+       modified; kill anyway?" question.
 
-       * xsettings.c, xsettings.h (xsettings_get_system_normal_font):
-       Define only if USE_LUCID.
+2013-06-30  Jan Djärv  <jan.h.d@swipnet.se>
 
-       * xrdb.c (x_customization_string, x_rm_string): Now static.
+       * nsfns.m (handlePanelKeys): Don't process Command+Function keys.
+       Let the super performKeyEquivalent deal with them (Bug#14747).
 
-       * 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.
+2013-06-30  Paul Eggert  <eggert@cs.ucla.edu>
 
-       * undo.c: Make symbols static if they're not exported.
-       (last_undo_buffer, last_boundary_position, pending_boundary):
-       Now static.
+       * widget.c (resize_cb): Remove unused local.
 
-       * 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.
+       Do not use GTK 3 if it exists but cannot be compiled.
+       * xmenu.c (x_menu_wait_for_event) [!USE_GTK]:
+       * xterm.c (x_error_handler) [!USE_GTK]:
+       Do not use GTK 3.
 
-       * syntax.c (syntax_temp): Define only if !__GNUC__.
+       * intervals.c (get_local_map): Actually clip POSITION (Bug#14753).
 
-       * sound.c (current_sound_device, current_sound): Now static.
+2013-06-30  Eli Zaretskii  <eliz@gnu.org>
 
-       * search.c (searchbufs, searchbuf_head): Now static.
+       * intervals.c (get_local_map): Instead of aborting, clip POSITION
+       to the valid range of values.  (Bug#14753)
 
-       * scroll.c (scroll_cost): Remove; unused.
-       * dispextern.h (scroll_cost): Remove decl.
+       * xdisp.c (Fmove_point_visually): Invalidate the cursor position
+       when moving point by using the current glyph matrix.  This avoids
+       the need to force redisplay when this function is called in a
+       loop.
 
-       * region-cache.h (pp_cache): Mark as externally visible.
+2013-06-29  Paul Eggert  <eggert@cs.ucla.edu>
 
-       * 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.
+       Fix minor problems found by static checking.
+       * coding.c (encode_inhibit_flag, inhibit_flag): New functions.
+       Redo the latter's body to sidestep GCC parenthesization warnings.
+       (setup_coding_system, detect_coding, detect_coding_system): Use them.
+       * coding.c (detect_coding, detect_coding_system):
+       * coding.h (struct undecided_spec):
+       Use bool for boolean.
+       * image.c (QCmax_width, QCmax_height): Now static.
+       * xdisp.c (Fmove_point_visually): Remove unused local.
+
+2013-06-29  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (Fmove_point_visually): New function.
+
+2013-06-28  Kenichi Handa  <handa@gnu.org>
+
+       * coding.h (define_coding_undecided_arg_index): New enum.
+       (coding_attr_index): New members
+       coding_attr_undecided_inhibit_null_byte_detection,
+       coding_attr_undecided_inhibit_iso_escape_detection,
+       coding_attr_undecided_prefer_utf_8.
+       (undecided_spec): New struct.
+       (struct coding_system): New member `undecided' of the member
+       `spec'.
+
+       * coding.c (setup_coding_system): Handle CODING->spec.undecided.
+       (detect_coding): Likewise.
+       (detect_coding_system): Likewise.
+       (Fdefine_coding_system_internal): New coding system properties
+       :inhibit-null-byte-detection, :inhibit-iso-escape-detection, and
+       :prefer-utf-8.
+       (syms_of_coding): Adjust for coding_arg_undecided_max.
+
+2013-06-28  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * image.c (x_from_xcolors): Remove unused local.
+
+2013-06-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+       Defer image data transfer between X client and server until actual
+       display happens.
+
+       * dispextern.h (struct image) [HAVE_X_WINDOWS]: New members `ximg'
+       and `mask_img'.
+
+       * image.c (Destroy_Image): Remove.
+       (x_clear_image_1): New arg `flags' instead of 3 bools `pixmap_p',
+       `mask_p', and `colors_p'.  All uses changed.
+       (x_clear_image_1) [HAVE_X_WINDOWS]: Destroy `ximg' and `mask_img'.
+       (CLEAR_IMAGE_PIXMAP, CLEAR_IMAGE_MASK, CLEAR_IMAGE_COLORS):
+       New macros for `flags' arg to x_clear_image_1.
+       (postprocess_image, xpm_load_image, x_build_heuristic_mask)
+       (png_load_body): Use x_clear_image_1 instead of Free_Pixmap.
+       (ZPixmap, XGetImage) [HAVE_NS]: Remove.
+       (image_get_x_image_or_dc, image_unget_x_image_or_dc)
+       (image_get_x_image, image_unget_x_image): New functions or macros.
+       (image_background, image_background_transparent, x_to_xcolors)
+       (x_build_heuristic_mask): Use image_get_x_image_or_dc instead of
+       XGetImage or CreateCompatibleDC.  Use image_unget_x_image_or_dc
+       instead of Destroy_Image.
+       (image_create_x_image_and_pixmap, image_put_x_image): New functions.
+       (xpm_load_image, x_from_xcolors, x_build_heuristic_mask, pbm_load)
+       (png_load_body, jpeg_load_body, tiff_load, gif_load)
+       (imagemagick_load_image, svg_load_image): Use them instead of
+       x_create_x_image_and_pixmap, and x_put_x_image followed by
+       x_destroy_x_image, respectively.
+       (xpm_load) [HAVE_XPM && !HAVE_NTGUI]: Use XpmReadFileToImage and
+       XpmCreateImageFromBuffer instead of XpmReadFileToPixmap and
+       XpmCreatePixmapFromBuffer.  Create pixmaps.  Fill background and
+       background_transparent fields.
+       (image_sync_to_pixmaps) [HAVE_X_WINDOWS]: New function.
+       (prepare_image_for_display, x_disable_image) [HAVE_X_WINDOWS]: Use it.
+
+2013-06-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Do not tickle glib SIGCHLD handling if Cygwin (Bug#14569).
+       This mostly consists of undoing recent changes.
+       * callproc.c (Fcall_process):
+       * process.c (create_process):
+       Do not worry about catching SIGCHLD here, undoing previous change.
+       * nsterm.m (ns_term_init): Re-catch SIGCHLD, undoing previous change.
+       * process.c, process.h (catch_child_signal):
+       No longer extern if !NS_IMPL_GNUSTEP, undoing 06-22 change.
+       * process.c (catch_child_handler): Don't worry about being called
+       lazily and do not assume caller has blocked SIGCHLD, undoing
+       previous change.  Move first-time stuff back to
+       init_process_emacs, undoing 06-22 change.  If CYGWIN, do not
+       tickle glib, as that causes Cygwin bootstrap to fail.  Do not
+       set lib_child_handler if it's already initialized, which may
+       help avoid problems on GNUStep.
+
+2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       A more-conservative workaround for Cygwin SIGCHLD issues (Bug#14569).
+       * callproc.c (Fcall_process):
+       * process.c (create_process):
+       Make sure SIGCHLD is caught before we fork,
+       since Emacs startup no arranges to catch SIGCHLD.
+       * process.c (lib_child_handler): Initialize to null, not to
+       dummy_handler.
+       (catch_child_signal): Allow self to be called lazily.
+       Do nothing if it's already been called.
+       Assume caller has blocked SIGCHLD (all callers do now).
+       * emacs.c (main): Do not catch SIGCHLD here; defer it until
+       just before it's really needed.
+       * nsterm.m (ns_term_init): No need to re-catch SIGCHLD here,
+       since it hasn't been caught yet.
+
+2013-06-23  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * image.c (compute_image_size): New function to implement
+       :max-width and :max-height.
+       (imagemagick_load_image): Use it.
+
+2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Try to avoid malloc SEGVs on Cygwin (Bug#14569).
+       * callproc.c, process.h (block_child_signal, unblock_child_signal):
+       Now extern.
+       * emacs.c (main): Catch SIGCHLD just before initializing gfilenotify.
+       * process.c (catch_child_signal): Block SIGCHLD while futzing with
+       the SIGCHLD handler, since the code is not atomic and (due to glib)
+       signals may be arriving now.
+       * sysdep.c (init_signals): Do not catch child signals here;
+       'main' now does that later, at a safer time.
+
+2013-06-22  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Clean up SIGCHLD handling a bit (Bug#14569).
+       * process.c, process.h (catch_child_signal):
+       Now always extern, even if !NS_IMPL_GNUSTEP.
+       * process.c (catch_child_signal): Move glib tickler here from
+       init_process_emacs, so that it's done earlier in Emacs
+       initialization.  Also move the noninteractive && !initialized
+       check here from init_process_emacs.  This is all a bit cleaner for
+       GNUish platforms, and I hope it works around the Cygwin bug.
+       * sysdep.c (init_signals): Invoke catch_child_signal here, so
+       that glib signal handling is tickled before glib creates threads.
+
+       * process.c (wait_reading_process_output): Avoid int overflow
+       when reading more than 2 GiB total from a process.
+
+2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * process.c (create_process): Handle a couple more cases,
+       i.e., work even if new_argv and wait_child_setup[i] are cached.
+       Use Fcall_process's style for volatile vars.
+
+2013-06-21  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * process.c (create_process): Mark PROCESS volatile.
+
+2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Use C99-style flexible array members if available.
+       This avoids some subtle aliasing issues, which typically
+       aren't a problem with GCC but may be a problem elsewhere.
+       * alloc.c (sdata): New typedef, replacing the old struct sdata.
+       It is a struct if GC_CHECK_STRING_BYTES, a union otherwise.
+       In either case, it uses a flexible array member rather than
+       the old struct hack.  All uses changed.
+       (SDATA_NBYTES, sweep_strings) [!GC_CHECK_STRING_BYTES]:
+       Adjust to sdata reorganization.
+       * alloc.c (VBLOCK_BYTES_MIN, allocate_vectorlike, Fgarbage_collect):
+       Use offsetof (struct, flex_array_member), not sizeof (struct), as
+       that ports better to pre-C99 non-GCC.
+       * chartab.c (Fmake_char_table, make_sub_char_table, copy_char_table):
+       Use CHAR_TABLE_STANDARD_SLOTS rather than its definition,
+       as the latter has changed.
+       * conf_post.h (FLEXIBLE_ARRAY_MEMBER): Move here from w32.c,
+       and port better to pre-C99 GCC.
+       * image.c (struct xpm_cached_color):
+       * lisp.h (struct Lisp_Vector, struct Lisp_Bool_Vector)
+       (struct Lisp_Char_Table, struct Lisp_Sub_Char_Table):
+       Use FLEXIBLE_ARRAY_MEMBER.
+       * lisp.h (string_bytes) [GC_CHECK_STRING_BYTES]:
+       Move decl to top level so it gets checked against implementation.
+       (CHAR_TABLE_STANDARD_SLOTS): Adjust to struct Lisp_Char_Table change.
+       * w32.c (FLEXIBLE_ARRAY_MEMBER): Move to conf_post.h.
+
+2013-06-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * syntax.c: Integer cleanups.
+       (SYNTAX_FLAGS_COMMENT_STYLEC): Return a boolean, not 0-or-2.
+       All uses that need 0-or-2 changed to:
+       (SYNTAX_FLAGS_COMMENT_STYLEC2): New macro, with the same semantics
+       as the old SYNTAX_FLAGS_COMMENT_STYLEC.
+       (struct lisp_parse_state, syntax_prefix_flag_p, update_syntax_table)
+       (char_quoted, prev_char_comend_first, back_comment)
+       (Finternal_describe_syntax_value, skip_chars, skip_syntaxes)
+       (in_classes, forw_comment, scan_lists, scan_sexps_forward):
+       Use bool for boolean.
+       (update_syntax_table, skip_chars, skip_syntaxes):
+       Prefer int to unsigned when either will do.
+       (back_comment): Return boolean success flag, like forw_comment,
+       instead of positive-or-minus-1 (which might have overflowed int anyway).
+       Don't stuff ptrdiff_t into int.
+       (syntax_spec_code, syntax_code_spec): Now const.
+       (Fmatching_paren, scan_lists, scan_sexps_forward):
+       Use enum syntaxcode for syntax code.
+       (Fmatching_paren): Check that arg is a character, not just an integer.
+       (Fstring_to_syntax): Don't assume 0377 fits in enum syntaxcode.
+       (Finternal_describe_syntax_value): Omit no-longer-needed
+       comparison to 0.
+       (skip_chars): Use char, not unsigned char, when the distinction
+       doesn't matter.
+       (forw_comment, scan_lists): Prefer A |= B to A = A || B when B's cheap.
+       * bytecode.c (exec_byte_code):
+       * syntax.c (syntax_spec_code, Fchar_syntax)
+       (Finternal_describe_syntax_value, skip_chars, skip_syntaxes)
+       (init_syntax_once):
+       * syntax.h (SYNTAX_WITH_FLAGS):
+       Omit unnecessary casts.
 
-       * 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.
+2013-06-20  Eli Zaretskii  <eliz@gnu.org>
 
-       * 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.
+       * w32fns.c (w32_wnd_proc): Don't compute the header line and mode
+       line dimensions here, to avoid race conditions with the main
+       thread.  (Bug#14062, bug#14630, bug#14669)
 
-       * 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.
+       * w32term.c (w32_draw_window_cursor): Compute the header line and
+       mode line dimensions here.
+       <w32_system_caret_window, w32_system_caret_hdr_height>:
+       <w32_system_caret_mode_height>: New variables.
 
-       * lisp.h (verify_bytepos, count_markers): Mark as externally visible.
+       * w32term.h: Declare them.
 
-       * 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.
+2013-06-20  Paul Eggert  <eggert@cs.ucla.edu>
 
-       * dired.c (file_name_completion): Now static.
+       * alloc.c (die): Move "assertion failed" string here ...
+       * lisp.h (eassert): ... from here.  Also, suppress evaluation of
+       COND when SUPPRESS_CHECKING.  This shrinks the executable text
+       size by 0.8% to 2.2% when configured with --enable-checking,
+       depending on optimization flags (GCC 4.8.1 x86-64).
 
-       * dbusbind.c (xd_in_read_queued_messages): Now static.
+       * floatfns.c (Flog10): Move to Lisp (marked obsolete there).
 
-       * lisp.h (circular_list_error, FOREACH): Remove; unused.
-       * data.c (circular_list_error): Remove.
+2013-06-20  Rüdiger Sonderfeld <ruediger@c-plusplus.de>
 
-       * commands.h (last_point_position, last_point_position_buffer):
-       (last_point_position_window): Remove decls.
-       * keyboard.c: Make these variables static.
+       * floatfns.c (Flog) [HAVE_LOG2]: Use log2 if available and if the
+       base is 2; this is more accurate.
 
-       * 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.
+2013-06-19  Juanma Barranquero  <lekktu@gmail.com>
 
-       * chartab.c (chartab_chars, chartab_bits): Now static.
+       * sound.c (string_default): Move to !WINDOWSNT section.
+       (Fplay_sound_internal) [WINDOWSNT]: Remove i_result to avoid warning.
 
-       * charset.h (charset_iso_8859_1): Remove decl.
-       * charset.c (charset_iso_8859_1, charset_emacs, map_charset_for_dump):
-       Now static.
+2013-06-19  Paul Eggert  <eggert@cs.ucla.edu>
 
-       * 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):
+       * sound.c: Integer cleanups.
+       Remove unnecessary forward decls.
+       (struct sound_device): The 'file' member is now a Lisp_Object, not
+       a char *, so that we needn't invoke alloca on a huge size.
+       (Fplay_sound_internal): Adjust to this.
+       (string_default): New function.
+       (vox_open, vox_init, alsa_open, alsa_configure, alsa_init):
+       Use it to adjust to the struct sound_device change.
+       (parse_sound, wav_init, au_init, alsa_init): Use bool for booleans.
+       (be2hs) [0]: Remove.
+
+       * syntax.c (skip_chars): Don't use uninitialized storage
+       when searching a multibyte buffer for characters that are not in a
+       unibyte string that contains non-ASCII characters.
+
+2013-06-18  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * process.c: Include xgselect.h if HAVE_GLIB.  Include glib.h
+       if HAVE_GLIB && ! WINDOWSNT (Bug#14654).
+
+2013-06-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * conf_post.h: Add comments for INLINE, EXTERN_INLINE, etc.
+
+2013-06-18  Kenichi Handa  <handa@gnu.org>
+
+       * font.c (Ffont_spec): Signal an error for an invalid font name
+       (Bug#14648).
+
+2013-06-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Porting fixes for merged specpdl and backtrace stacks (Bug#14643).
+       In particular this ports to 32-bit sparc Sun cc.
+       * eval.c (init_eval_once, grow_specpdl): Allocate a specbinding
+       array with a dummy element at specpdl[-1], so that its address can
+       be taken portably.
+       (unbind_to): Do not copy the binding; not needed, now that we
+       copy old_value in the one place where the copy is needed.
+       * fileio.c (Fwrite_region): Use ptrdiff_t, not int, for specpdl count.
+       * lisp.h (BITS_PER_PTRDIFF_T): Remove; no longer needed.
+       (union specbinding): Rename from struct specbinding.  Redo layout
+       to avoid the need for 'ptrdiff_t nargs : BITS_PER_PTRDIFF_T - 1;',
+       which is not portable.  With Sun C 5.12 32-bit sparc, the
+       declaration causes nargs to be an unsigned bitfield, a behavior
+       that the C standard allows; but Emacs wants nargs to be signed.
+       The overall type is now a union of structures rather than a
+       structure of union of structures, and the 'kind' member is now a
+       bitfield, so that the overall type doesn't grow.  All uses changed.
+       * process.c (Fmake_serial_process): Remove unnecessary initialization.
+
+2013-06-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * frame.c (x_report_frame_params): Cast parent_desc to uintptr_t.
+       Needed if HAVE_NTGUI.  Reported by Juanma Barranquero.
+
+       * nsfont.m (ns_registry_to_script): Parenthesize while expression.
+
+2013-06-17  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32fns.c (w32_wnd_proc): Don't call WINDOW_HEADER_LINE_HEIGHT
+       unless we know that the window w's frame is a frame object.
+       Another attempt at solving bug#14062 and bug#14630.
+
+2013-06-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * textprop.c (property_set_type): New enum.
+       (add_properties): Allow appending/prepending text properties.
+       (add_text_properties_1): Factored out of Fadd_text_properties.
+       (Fadd_text_properties): Move all the code into
+       add_text_properties_1.
+       (Fadd_face_text_property): New function that calls
+       add_text_properties_1.
+
+2013-06-17  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Move functions from lisp.h to individual modules when possible.
+       From a suggestion by Andreas Schwab in <http://bugs.gnu.org/11935#68>.
+       * alloc.c (XFLOAT_INIT, set_symbol_name):
+       * buffer.c (CHECK_OVERLAY):
+       * chartab.c (CHECK_CHAR_TABLE, set_char_table_ascii)
+       (set_char_table_parent):
+       * coding.c (CHECK_NATNUM_CAR, CHECK_NATNUM_CDR):
+       * data.c (BOOLFWDP, INTFWDP, KBOARD_OBJFWDP, OBJFWDP, XBOOLFWD)
+       (XKBOARD_OBJFWD, XINTFWD, XOBJFWD, CHECK_SUBR, set_blv_found)
+       (blv_value, set_blv_value, set_blv_where, set_blv_defcell)
+       (set_blv_valcell):
+       * emacs.c (setlocale) [!HAVE_SETLOCALE]:
+       * eval.c (specpdl_symbol, specpdl_old_value, specpdl_where)
+       (specpdl_arg, specpdl_func, backtrace_function, backtrace_nargs)
+       (backtrace_args, backtrace_debug_on_exit):
+       * floatfns.c (CHECK_FLOAT):
+       * fns.c (CHECK_HASH_TABLE, CHECK_LIST_END)
+       (set_hash_key_and_value, set_hash_next, set_hash_next_slot)
+       (set_hash_hash, set_hash_hash_slot, set_hash_index)
+       (set_hash_index_slot):
+       * keymap.c (CHECK_VECTOR_OR_CHAR_TABLE):
+       * marker.c (CHECK_MARKER):
+       * textprop.c (CHECK_STRING_OR_BUFFER):
+       * window.c (CHECK_WINDOW_CONFIGURATION):
+       Move here from lisp.h, and make these functions static rather than
+       extern inline.
+       * buffer.c (Qoverlayp):
+       * data.c (Qsubrp):
+       * fns.c (Qhash_table_p):
+       * window.c (Qwindow_configuration_p):
        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.
-
-       * keyboard.c (read_char): Remove unused var.
-
-       * 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.
-
-       * eval.c (verror): Initial buffer size is 4000 (not 200) bytes.
-
-       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.
-
-       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, m/amdx86-64.h, m/ia64.h, 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.
-
-       * eval.c (internal_lisp_condition_case): Don't pass spurious arg.
-
-       * keyboard.c (access_keymap_keyremap): Print func name, not garbage.
-
-       * coding.c (Fdecode_sjis_char): Don't assume CODE fits in int.
-
-       * xterm.c (x_catch_errors): Remove duplicate declaration.
-
-       * term.c (maybe_fatal): Mark its 3rd arg as a printf format, too.
-
-       * xdisp.c, lisp.h (message_nolog): Remove; unused.
-
-2011-04-10  Jim Meyering  <meyering@redhat.com>
-
-       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.
-
-2011-04-09  Chong Yidong  <cyd@stupidchicken.com>
-
-       * image.c (Fimagemagick_types): Doc fix, and comment cleanup.
-
-2011-04-09  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-09  Eli Zaretskii  <eliz@gnu.org>
-
-       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.
-
-       * xdisp.c (display_count_lines): 3rd argument and return value now
-       EMACS_INT.  All callers changed.
-       (pint2hrstr): Last argument is now EMACS_INT.
-
-       * 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.
-
-       * coding.h (struct coding_system) <head_ascii>: Declare EMACS_INT.
-       All users changed.
-
-       * ccl.c (Fccl_execute_on_string): Declare some variables
-       EMACS_INT.
-
-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-04-08  T.V. Raman  <tv.raman.tv@gmail.com>  (tiny change)
-
-       * xml.c (parse_region): Avoid creating spurious whitespace nodes.
-
-2011-04-08  Chong Yidong  <cyd@stupidchicken.com>
-
-       * 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.
-
-       * print.c (internal_with_output_to_temp_buffer): Function deleted.
-
-       * lisp.h (internal_with_output_to_temp_buffer): Remove prototype.
-
-2011-04-06  Chong Yidong  <cyd@stupidchicken.com>
-
-       * process.c (Flist_processes): Remove to Lisp.
-       (list_processes_1): Delete.
-
-2011-04-06  Eli Zaretskii  <eliz@gnu.org>
-
-       * msdos.c (careadlinkat, careadlinkatcwd): MS-DOS replacements.
-
-       * w32.c (careadlinkat, careadlinkatcwd): New always-fail stubs.
-
-2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix more problems found by GCC 4.6.0's static checks.
-
-       * xmenu.c (Fx_popup_dialog): Don't assume string is free of formats.
-
-       * menu.c (Fx_popup_menu): Don't assume error_name lacks printf formats.
-
-       * lisp.h (message, message_nolog, fatal): Mark as printf-like.
-
-       * xdisp.c (vmessage): Mark as a printf-like function.
+       * lisp.h: Remove the abovementioned defns and decls.
+
+       Use functions, not macros, for XINT etc. (Bug#11935).
+       In lisp.h, prefer functions to function-like macros, and
+       constants to object-like macros, when either will do.  This:
+        . simplifies use, as there's no more need to worry about
+          arguments' side effects being evaluated multiple times.
+        . makes the code easier to debug on some platforms.
+       However, when using gcc -O0, keep using function-like macros
+       for a few critical operations, for performance reasons.
+       This sort of thing isn't needed with gcc -Og, but -Og
+       is a GCC 4.8 feature and isn't widely-enough available yet.
+       * alloc.c (gdb_make_enums_visible) [USE_LSB_TAG]:
+       Remove enum lsb_bits; no longer needed.
+       (allocate_misc, free_misc): Don't use XMISCTYPE as an lvalue.
+       * buffer.c (Qoverlap):
+       * data.c (Qsubrp):
+       * fns.c (Qhash_table_p):
+       Now extern, so lisp.h can use these symbols.
+       * dispextern.h: Include character.h, for MAX_CHAR etc.
+       (GLYPH, GLYPH_CHAR, GLYPH_FACE, SET_GLYPH_CHAR, SET_GLYPH_FACE)
+       (SET_GLYPH, GLYPH_CODE_CHAR, GLYPH_CODE_FACE)
+       (SET_GLYPH_FROM_GLYPH_CODE, GLYPH_MODE_LINE_FACE, GLYPH_CHAR_VALID_P)
+       (GLYPH_CODE_P): Move here from lisp.h.
+       (GLYPH_CHAR, GLYPH_FACE, GLYPH_CODE_CHAR, GLYPH_CODE_FACE)
+       (GLYPH_CHAR_VALID_P, GLYPH_CODE_P): Now functions, not macros.
+       (GLYPH_MODE_LINE_FACE): Now enums, not macros.
+       * eval.c (Fautoload): Cast XUNTAG output to intptr_t, since
+       XUNTAG now returns void *.
+       * lisp.h (lisp_h_XLI, lisp_h_XIL, lisp_h_CHECK_LIST_CONS)
+       (lisp_h_CHECK_NUMBER CHECK_SYMBOL, lisp_h_CHECK_TYPE)
+       (lisp_h_CONSP, lisp_h_EQ, lisp_h_FLOATP, lisp_h_INTEGERP)
+       (lisp_h_MARKERP, lisp_h_MISCP, lisp_h_NILP)
+       (lisp_h_SET_SYMBOL_VAL, lisp_h_SYMBOL_CONSTANT_P)
+       (lisp_h_SYMBOL_VAL, lisp_h_SYMBOLP, lisp_h_VECTORLIKEP)
+       (lisp_h_XCAR, lisp_h_XCDR, lisp_h_XCONS, lisp_h_XHASH)
+       (lisp_h_XPNTR, lisp_h_XSYMBOL):
+       New macros, renamed from their sans-lisp_h_ counterparts.
+       (XLI, XIL, CHECK_LIST_CONS, CHECK_NUMBER CHECK_SYMBOL)
+       (CHECK_TYPE, CONSP, EQ, FLOATP, INTEGERP, MARKERP)
+       (MISCP, NILP, SET_SYMBOL_VAL, SYMBOL_CONSTANT_P, SYMBOL_VAL, SYMBOLP)
+       (VECTORLIKEP, XCAR, XCDR, XCONS, XHASH, XPNTR, XSYMBOL):
+       If compiling via GCC without optimization, define these as macros
+       in addition to inline functions.
+       To disable this, compile with -DINLINING=0.
+       (LISP_MACRO_DEFUN, LISP_MACRO_DEFUN_VOID): New macros.
+       (check_cons_list) [!GC_CHECK_CONS_LIST]: Likewise.
+       (make_number, XFASTINT, XINT, XTYPE, XUNTAG): Likewise, but
+       hand-optimize only in the USE_LSB_TAG case, as GNUish hosts do that.
+       (INTMASK, VALMASK): Now macros, since static values cannot be
+       accessed from extern inline functions.
+       (VALMASK): Also a constant, for benefit of old GDB.
+       (LISP_INT_TAG_P): Remove; no longer needed as the only caller
+       is INTEGERP, which can fold it in.
+       (XLI, XIL, XHASH, XTYPE, XINT, XFASTINT, XUINT)
+       (make_number, XPNTR, XUNTAG, EQ, XCONS, XVECTOR, XSTRING, XSYMBOL)
+       (XFLOAT, XPROCESS, XWINDOW, XTERMINAL, XSUBR, XBUFFER, XCHAR_TABLE)
+       (XSUB_CHAR_TABLE, XBOOL_VECTOR, make_lisp_ptr, CHECK_TYPE)
+       (CHECK_STRING_OR_BUFFER, XCAR, XCDR, XSETCAR, XSETCDR, CAR, CDR)
+       (CAR_SAFE, CDR_SAFE, STRING_MULTIBYTE, SDATA, SSDATA, SREF, SSET)
+       (SCHARS, STRING_BYTES, SBYTES, STRING_SET_CHARS, STRING_COPYIN, AREF)
+       (ASIZE, ASET, CHAR_TABLE_REF_ASCII, CHAR_TABLE_REF)
+       (CHAR_TABLE_SET, CHAR_TABLE_EXTRA_SLOTS, SYMBOL_VAL, SYMBOL_ALIAS)
+       (SYMBOL_BLV, SYMBOL_FWD, SET_SYMBOL_VAL, SET_SYMBOL_ALIAS)
+       (SET_SYMBOL_BLV, SET_SYMBOL_FWD, SYMBOL_NAME, SYMBOL_INTERNED_P)
+       (SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P, SYMBOL_CONSTANT_P)
+       (XHASH_TABLE, HASH_TABLE_P, CHECK_HASH_TABLE, HASH_KEY, HASH_VALUE)
+       (HASH_NEXT, HASH_HASH, HASH_INDEX, HASH_TABLE_SIZE)
+       (XMISC, XMISCANY, XMARKER, XOVERLAY, XSAVE_VALUE, XFWDTYPE)
+       (XINTFWD, XBOOLFWD, XOBJFWD, XBUFFER_OBJFWD, XKBOARD_OBJFWD)
+       (XFLOAT_DATA, XFLOAT_INIT, NILP, NUMBERP, NATNUMP)
+       (RANGED_INTEGERP, CONSP, FLOATP, MISCP, STRINGP, SYMBOLP)
+       (INTEGERP, VECTORLIKEP, VECTORP, OVERLAYP)
+       (MARKERP, SAVE_VALUEP, AUTOLOADP, INTFWDP, BOOLFWDP, OBJFWDP)
+       (BUFFER_OBJFWDP, KBOARD_OBJFWDP, PSEUDOVECTOR_TYPEP)
+       (PSEUDOVECTORP, WINDOW_CONFIGURATIONP, PROCESSP, WINDOWP)
+       (TERMINALP, SUBRP, COMPILEDP, BUFFERP, CHAR_TABLE_P)
+       (SUB_CHAR_TABLE_P, BOOL_VECTOR_P, FRAMEP, IMAGEP, ARRAYP)
+       (CHECK_LIST, CHECK_LIST_CONS, CHECK_LIST_END, CHECK_STRING)
+       (CHECK_STRING_CAR, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
+       (CHECK_VECTOR, CHECK_VECTOR_OR_STRING, CHECK_ARRAY)
+       (CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER, CHECK_WINDOW)
+       (CHECK_WINDOW_CONFIGURATION, CHECK_PROCESS, CHECK_SUBR)
+       (CHECK_NUMBER, CHECK_NATNUM, CHECK_MARKER, XFLOATINT)
+       (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT, CHECK_OVERLAY)
+       (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR, CHECK_NATNUM_CAR)
+       (CHECK_NATNUM_CDR, FUNCTIONP, SPECPDL_INDEX, LOADHIST_ATTACH)
+       Now functions.
+       (check_cons_list) [!GC_CHECK_CONS_LIST]: New empty function.
+       (LISP_MAKE_RVALUE, TYPEMASK): Remove; no longer needed.
+       (VALMASK): Define in one place rather than in two, merging the
+       USE_LSB_TAG parts; this is simpler.
+       (aref_addr, gc_aset, MOST_POSITIVE_FIXNUM, MOST_NEGATIVE_FIXNUM)
+       (max, min, struct Lisp_String, UNSIGNED_CMP, ASCII_CHAR_P):
+       Move up, to avoid use before definition.
+       Also include "globals.h" earlier, for the same reason.
+       (make_natnum): New function.
+       (XUNTAG): Now returns void *, not intptr_t, as this means fewer casts.
+       (union Lisp_Fwd, BOOLFWDP, BOOL_VECTOR_P, BUFFER_OBJFWDP, BUFFERP)
+       (CHAR_TABLE_P, CHAR_TABLE_REF_ASCII, CONSP, FLOATP, INTEGERP, INTFWDP)
+       (KBOARD_OBJFWDP, MARKERP, MISCP, NILP, OBJFWDP, OVERLAYP, PROCESSP)
+       (PSEUDOVECTORP, SAVE_VALUEP, STRINGP, SUB_CHAR_TABLE_P, SUBRP, SYMBOLP)
+       (VECTORLIKEP, WINDOWP, Qoverlayp, char_table_ref, char_table_set)
+       (char_table_translate, Qarrayp, Qbufferp, Qbuffer_or_string_p)
+       (Qchar_table_p, Qconsp, Qfloatp, Qintegerp, Qlambda, Qlistp, Qmarkerp)
+       (Qnil, Qnumberp, Qsubrp, Qstringp, Qsymbolp, Qvectorp)
+       (Qvector_or_char_table_p, Qwholenump, Ffboundp, wrong_type_argument)
+       (initialized, Qhash_table_p, extract_float, Qprocessp, Qwindowp)
+       (Qwindow_configuration_p, Qimage): New forward declarations.
+       (XSETFASTINT): Simplify by rewriting in terms of make_natnum.
+       (STRING_COPYIN): Remove; unused.
+       (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Remove these macros, replacing with ...
+       (xcar_addr, xcdr_addr): New functions.  All uses changed.
+       (IEEE_FLOATING_POINT): Now a constant, not a macro.
+       (GLYPH, GLYPH_CHAR, GLYPH_FACE, SET_GLYPH_CHAR, SET_GLYPH_FACE)
+       (SET_GLYPH, GLYPH_CODE_CHAR, GLYPH_CODE_FACE)
+       (SET_GLYPH_FROM_GLYPH_CODE, GLYPH_MODE_LINE_FACE, GLYPH_CHAR_VALID_P)
+       (GLYPH_CODE_P): Move to dispextern.h, to avoid define-before-use.
+       (TYPE_RANGED_INTEGERP): Simplify.
+       (Qsubrp, Qhash_table_p, Qoverlayp): New extern decls.
+       (setlocale, fixup_locale, synchronize_system_messages_locale)
+       (synchronize_system_time_locale) [!HAVE_SETLOCALE]:
+       Now empty functions, not macros.
+       (functionp): Return bool, not int.
+       * window.c (Qwindow_configuration_p): Now extern,
+       so window.h can use it.
+       * window.h (Qwindowp): Move decl back to lisp.h.
+
+2013-06-15  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (Fline_pixel_height): New function, required for solving
+       bug #14567.
+
+2013-06-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * fns.c (Fcopy_sequence): Simplify XTYPE calculation.
+
+2013-06-13  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lread.c (syms_of_lread):
+       * fns.c (Fprovide): Adjust to new format of after-load-alist.
+
+2013-06-13  Kelly Dean  <kellydeanch@yahoo.com>  (tiny change)
+
+       * fileio.c (Fdo_auto_save): Trap errors in auto-save-hook.  (Bug#14479)
+
+2013-06-12  Xue Fuqiao  <xfq.free@gmail.com>
+
+       * fileio.c (expand_file_name): Doc fix.
+
+2013-06-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Tickle glib by waiting for Emacs itself, not for process 0 (Bug#14569).
+       * process.c (init_process_emacs) [HAVE_GLIB && !WINDOWSNT]:
+       Wait for self, not for 0.  This can't hurt on GNU or similar
+       system, and may help with Cygwin.
+
+       * keyboard.c: Don't use PROP (...) as an lvalue.
+       (parse_tool_bar_item) [!USE_GTK && !HAVE_NS]:
+       Use set_prop (A, B), not PROP (A) = B.
+
+2013-06-10  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (get_it_property): Use it->window instead of generating
+       a Lisp object from it->w.
+
+2013-06-09  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (get_it_property): If it->object is a buffer, pass to
+       get-char-property the window that is being rendered, instead of
+       the buffer, to support window-specific overlays.  (Bug#14575)
+       (compute_display_string_pos): When W is NULL, use the current
+       buffer as the object to pass to get-char-property.
+       (Fcurrent_bidi_paragraph_direction): Assign NULL to the window
+       pointer member of the bidi iterator, since no window is pertinent
+       to this function.
+
+2013-06-08  Eli Zaretskii  <eliz@gnu.org>
+
+       * bidi.c (bidi_fetch_char): Accept additional argument, the window
+       being displayed, and pass it to compute_display_string_pos.
+       (bidi_level_of_next_char, bidi_resolve_explicit_1)
+       (bidi_paragraph_init): All callers changed.
+
+       * xdisp.c (init_from_display_pos, init_iterator)
+       (handle_single_display_spec, next_overlay_string)
+       (get_overlay_strings_1, reseat_1, reseat_to_string)
+       (push_prefix_prop, Fcurrent_bidi_paragraph_direction):
+       Set bidi_it.w member from it->w.
+       (compute_display_string_pos): Accept additional argument, the
+       window being displayed, and pass it to Fget_char_property.
+       (Bug#14575)
 
-       * term.c (vfatal, maybe_fatal): Mark as printf-like functions.
+       * dispextern.h (struct bidi_it): New member w, the window being
+       displayed.
+       (compute_display_string_pos): Adjust prototype.
 
-       * sound.c (sound_warning): Don't crash if arg contains a printf format.
+2013-06-08  Jan Djärv  <jan.h.d@swipnet.se>
 
-       * 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.
+       * xgselect.c: Remove unneeded include xterm.h.
 
-       * eval.c (Fsignal): Remove excess argument to 'fatal'.
+       * process.c (wait_reading_process_output): Check for NS before GLIB.
+       GLIB may be linked in due to rsvg, but ns_select must be called.
 
-       * 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.
+       * xgselect.c (xg_select): Remove call to window_system_available
+       and g_main_context_pending at the top, so Gdk events (i.e. file
+       notify) are processed when Emacs is started with -nw.
 
-       * xfont.c (xfont_text_extents): Remove var that was set but not used.
-       (xfont_open): Avoid unnecessary tests.
+2013-06-07  Eli Zaretskii  <eliz@gnu.org>
 
-       * composite.c (composition_gstring_put_cache): Use unsigned integer.
+       * Makefile.in (ctagsfiles1, ctagsfiles2): Don't include *.m files.
+       (ctagsfiles3): New variable, includes only *.m files.
+       (TAGS): Use an explicit language name in the regular expressions,
+       to avoid transformation of '/SOMETHING' by MSYS to
+       'c:\MSYS\SOMETHING'.
 
-       * composite.h, composite.c (composition_gstring_put_cache):
-       Use EMACS_INT, not int, for length.
+2013-06-07  Richard Copley  <rcopley@gmail.com>  (tiny change)
 
-       * 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.
+       * epaths.in: Fix commentary to PATH_SITELOADSEARCH.
 
-       * textprop.c (set_text_properties_1): Change while to do-while,
-       since the condition is always true at first.
+2013-06-06  Eli Zaretskii  <eliz@gnu.org>
 
-       * intervals.c (graft_intervals_into_buffer): Mark var as used.
-       (interval_deletion_adjustment): Return unsigned value.
-       All uses changed.
+       * xdisp.c (note_mouse_highlight): When mouse-highlight is off,
+       still need to set the mouse pointer shape and activate help-echo.
+       (Bug#14558)
 
-       * 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.
+2013-06-06  Paul Eggert  <eggert@cs.ucla.edu>
 
-       * bytecode.c (exec_byte_code): Rename local to avoid shadowing.
+       A few porting etc. fixes for the new file monitor code.
+       See the thread containing
+       <http://lists.gnu.org/archive/html/emacs-devel/2013-06/msg00109.html>.
+       * gfilenotify.c (dir_monitor_callback, Fgfile_add_watch)
+       (Fgfile_rm_watch): Don't assume EMACS_INT is the same width as a pointer.
+       (dir_monitor_callback, Fgfile_rm_watch):
+       Use assq_no_quit instead of Fassoc, for speed.
+       (dir_monitor_callback, Fgfile_rm_watch):
+       eassert that the monitor is a fixnum.
+       (dir_monitor_callback): No need for CDR_SAFE.
+       Simplify building of lisp with alternative tails.
+       (Fgfile_add_watch, Fgfile_rm_watch):
+       Do not assume glib functions set errno reliably on failure.
+       (Fgfile_add_watch): Check that the monitor survives the XIL trick,
+       and signal an error otherwise.
+       (Fgfile_rm_watch): Prefer CONSP to !NILP.
+       Use Fdelq instead of Fdelete, for speed.
 
-       * syntax.c (scan_words): Remove var that was set but not used.
-       (update_syntax_table): Use unsigned instead of int.
+2013-06-05  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.
+       * xdisp.c (handle_tool_bar_click): When mouse-highlight is off,
+       don't insist on being invoked on a highlighted tool-bar button.
+       Avoids losing tool-bar functionality when mouse-highlight is nil.
+       (note_tool_bar_highlight, note_mode_line_or_margin_highlight):
+       Don't highlight when mouse-highlight is nil.
+       (note_mouse_highlight): When mouse-highlight is nil, don't return
+       right away; instead, run tool-bar and mode-line highlight
+       subroutine, clear any existing highlight, and revert the mouse
+       pointer to its default shape.  (Bug#14558)
 
-       * print.c (print_error_message): Avoid int overflow.
+2013-06-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 
-       * font.c (font_list_entities): Redo for clarity,
-       so that reader need not know FONT_DPI_INDEX + 1 == FONT_SPACING_INDEX.
+       * lisp.mk (lisp): Add prog-mode.el.
 
-       * font.c (font_find_for_lface, Ffont_get_glyphs): Remove unused vars.
-       (font_score): Avoid potential overflow in diff calculation.
+2013-06-05  Paul Eggert  <eggert@cs.ucla.edu>
 
-       * fns.c (substring_both): Remove var that is set but not used.
-       (sxhash): Redo loop for clarity and to avoid wraparound warning.
+       Chain glib's SIGCHLD handler from Emacs's (Bug#14474).
+       * process.c (dummy_handler): New function.
+       (lib_child_handler): New static var.
+       (handle_child_signal): Invoke it.
+       (catch_child_signal): If a library has set up a signal handler,
+       save it into lib_child_handler.
+       (init_process_emacs): If using glib and not on Windows, tickle glib's
+       child-handling code so that it initializes its private SIGCHLD handler.
+       * syssignal.h (SA_SIGINFO): Default to 0.
+       * xterm.c (x_term_init): Remove D-bus hack that I installed on May
+       31; it should no longer be needed now.
 
-       * eval.c (funcall_lambda): Rename local to avoid shadowing.
+2013-06-05  Michael Albinus  <michael.albinus@gmx.de>
 
-       * 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.
+       * emacs.c (main) [HAVE_GFILENOTIFY]: Call globals_of_gfilenotify.
 
-       * search.c (boyer_moore, wordify): Remove vars set but not used.
-       (wordify): Omit three unnecessary tests.
+       * gfilenotify.c (globals_of_gfilenotify): New function.
+       (syms_of_gfilenotify): Move global initialization there.
 
-       * indent.c (MULTIBYTE_BYTES_WIDTH): Don't compute wide_column.
-       All callers changed.  This avoids the need for an unused var.
+       * lisp.h (globals_of_gfilenotify) [HAVE_GFILENOTIFY]: Add prototype.
 
-       * casefiddle.c (casify_region): Remove var that is set but not used.
+2013-06-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 
-       * dired.c (file_name_completion): Remove var that is set but not used.
+       * keymap.c (Fcurrent_active_maps, Fdescribe_buffer_bindings):
+       * keyboard.c (menu_bar_items, tool_bar_items):
+       * doc.c (Fsubstitute_command_keys): Voverriding_terminal_local_map does
+       not override local keymaps any more.
 
-       * fileio.c (Finsert_file_contents): Make EOF condition clearer.
+2013-06-04  Eli Zaretskii  <eliz@gnu.org>
 
-       * fileio.c (Finsert_file_contents): Avoid signed integer overflow.
-       (Finsert_file_contents): Remove unnecessary code checking fd.
+       * window.c (Fpos_visible_in_window_p): Doc fix.  (Bug#14540)
 
-       * minibuf.c (read_minibuf_noninteractive): Use size_t for sizes.
-       Check for integer overflow on size calculations.
+2013-06-03  Eli Zaretskii  <eliz@gnu.org>
 
-       * buffer.c (Fprevious_overlay_change): Remove var that is set
-       but not used.
+       * w32console.c (initialize_w32_display): Return the dimensions of
+       the console window via 2 additional arguments, not via the current
+       frame.  This avoids crashes due to overrunning the bounds of
+       frame's decode_mode_spec_buffer, which is not resized following
+       the change of the frame dimensions from the initial 10x10.
 
-       * 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.
+       * w32term.h (w32_initialize_display_info): Adjust prototype.
 
-       * gtkutil.c (xg_get_file_with_chooser): Mark var as initialized.
+       * term.c (init_tty): Take dimensions of the frame from the values
+       returned by initialize_w32_display.
 
-       * image.c (lookup_image): Remove var that is set but not used.
-       (xbm_load): Use parse_p, for gcc -Werror=unused-but-set-variable.
+       * Makefile.in (GFILENOTIFY_CFLAGS, GFILENOTIFY_LIBS): New variables.
+       (ALL_CFLAGS): Add $(GFILENOTIFY_CFLAGS).
+       (LIBES): Add $(GFILENOTIFY_LIBS).
 
-       * fontset.c (Finternal_char_font, Ffontset_info): Remove vars
-       that are set but not used.
+       * w32inevt.c (handle_file_notifications): Add dummy implementation
+       for !HAVE_W32NOTIFY.
 
-       * xfns.c (make_invisible_cursor): Don't return garbage
-       if XCreateBitmapFromData fails (Bug#8410).
+       * w32term.c: Wrap code with HAVE_W32NOTIFY.
 
-       * xselect.c (x_get_local_selection, x_handle_property_notify):
-       Remove vars that are set but not used.
+2013-06-03  Jan Djärv  <jan.h.d@swipnet.se>
 
-       * xfns.c (x_create_tip_frame): Remove var that is set but not used.
-       (make_invisible_cursor): Initialize a possibly-uninitialized variable.
+       * xgselect.c: Replace #if defined ... with #ifdef HAVE_GLIB.
 
-       * 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.
+       * process.c (wait_reading_process_output): Call xg_select if HAVE_GLIB.
 
-       * xfaces.c (realize_named_face): Remove vars that are set but not used.
-       (map_tty_color) [!defined MSDOS]: Likewise.
+       * Makefile.in (XGSELOBJ): New, xgselect.o if GLib is used, or empty.
 
-       * term.c (tty_write_glyphs): Use size_t; this avoids overflow warning.
+2013-06-03  Paul Eggert  <eggert@cs.ucla.edu>
 
-       * 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.
+       Fix minor problems found by static checking.
+       * data.c (pure_write_error):
+       Use xsignal2, not Fsignal, as Fsignal might return.
+       * eval.c (set_backtrace_debug_on_exit): Now static.
+       (backtrace_p, backtrace_top, backtrace_next, record_in_backtrace):
+       No longer inline.  EXTERN_INLINE is needed only for functions
+       defined in .h files.  Reindent function header as per GNU style.
+       (backtrace_p, backtrace_top, backtrace_next):
+       Mark EXTERNALLY_VISIBLE so they don't get optimized away by the
+       compiler or linker.  Add extern decls to pacify gcc -Wall.
+       * frame.c, frame.h (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource):
+       Now static.
+       * frame.c (free_monitors): Define only on platforms that need it.
+       * nsterm.m (ns_term_init):
+       * process.c (catch_child_signal):
+       Don't worry about whether SIGCHLD is defined, as SIGCHLD is
+       defined on all porting targets these days.
+       * process.c, process.h (catch_child_signal):
+       Make it extern only if NS_IMPL_GNUSTEP is defined.
 
-       * bytecode.c (Fbyte_code) [!defined BYTE_CODE_SAFE]: Remove var
-       that is set but not used.
+2013-06-03  Eli Zaretskii  <eliz@gnu.org>
 
-       * print.c (print_object): Remove var that is set but not used.
+       * w32.c (gettimeofday): Make the signature identical to prototype
+       in nt/inc/sys/time.h.
 
-       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.
+2013-06-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 
-2011-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+       * eval.c (backtrace_p, backtrace_top, backtrace_next): Export them to
+       .gdbinit.
 
-       * keyboard.c (safe_run_hook_funcall): Fix last change (don't stop at the
-       first non-nil return value).
+       * keyboard.c (safe_run_hooks_error): Improve error message.
 
-2011-04-03  Jan Djärv  <jan.h.d@swipnet.se>
+       * data.c (pure_write_error): Add `object' argument.
+       * puresize.h (CHECK_IMPURE): Use it.
 
-       * nsterm.m (ns_update_auto_hide_menu_bar): Define MAC_OS_X_VERSION_10_6
-       if not defined (Bug#8403).
+2013-06-03  Michael Albinus  <michael.albinus@gmx.de>
 
-2011-04-02  Juanma Barranquero  <lekktu@gmail.com>
+       * Makefile.in (NOTIFY_OBJ): New variable.
+       (base_obj): Replace inotify.o by $(NOTIFY_OBJ).
 
-       * 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.
+       * emacs.c (main): Use HAVE_W32NOTIFY to wrap respective code.
+       Call syms_of_gfilenotify.
 
-2011-04-02  Jim Meyering  <meyering@redhat.com>
+       * gfilenotify.c: New file.
 
-       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>
+       * keyboard.c (Qfile_notify): New variable.  Replaces Qfile_inotify
+       and Qfile_w32notify.
+       (top): Wrap respective code by HAVE_GFILENOTIFY, HAVE_INOTIFY,
+       HAVE_W32NOTIFY and USE_FILE_NOTIFY.
 
-       * eval.c (unwind_to_catch) [DEBUG_GCPRO]: Remove redundant assignment.
-
-2011-04-02  Jan Djärv  <jan.h.d@swipnet.se>
+       * lisp.h: Declare syms_of_gfilenotify.
 
-       * nsterm.m (ns_update_auto_hide_menu_bar): Only for OSX 10.6 or
-       later (Bug#8403).
+       * termhooks.h (e): Wrap enum by USE_FILE_NOTIFY.
 
-2011-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
-
-       Add lexical binding.
+2013-06-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 
-       * window.c (Ftemp_output_buffer_show): New fun.
-       (Fsave_window_excursion):
-       * print.c (Fwith_output_to_temp_buffer): Move to subr.el.
+       Merge the specpdl and backtrace stacks.  Make the structure of the
+       specpdl entries more obvious via a tagged union of structs.
+       * lisp.h (BITS_PER_PTRDIFF_T): New constant.
+       (enum specbind_tag): New enum.
+       (struct specbinding): Make it a tagged union of structs.
+       Add a case for backtrace records.
+       (specpdl_symbol, specpdl_old_value, specpdl_where, specpdl_arg)
+       (specpdl_func, backtrace_function, backtrace_nargs, backtrace_args)
+       (backtrace_debug_on_exit): New accessors.
+       (struct backtrace): Remove.
+       (struct catchtag): Remove backlist field.
+       * data.c (let_shadows_buffer_binding_p, let_shadows_global_binding_p):
+       Move to eval.c.
+       (Flocal_variable_p): Speed up the common case where the binding is
+       already loaded.
+       * eval.c (backtrace_list): Remove.
+       (set_specpdl_symbol, set_specpdl_old_value): Remove.
+       (set_backtrace_args, set_backtrace_nargs)
+       (set_backtrace_debug_on_exit, backtrace_p, backtrace_top)
+       (backtrace_next): New functions.
+       (Fdefvaralias, Fdefvar): Adjust to new specpdl format.
+       (unwind_to_catch, internal_lisp_condition_case)
+       (internal_condition_case, internal_condition_case_1)
+       (internal_condition_case_2, internal_condition_case_n): Don't bother
+       with backtrace_list any more.
+       (Fsignal): Adjust to new backtrace format.
+       (grow_specpdl): Move up.
+       (record_in_backtrace): New function.
+       (eval_sub, Ffuncall): Use it.
+       (apply_lambda): Adjust to new backtrace format.
+       (let_shadows_buffer_binding_p, let_shadows_global_binding_p): Move from
+       data.c.
+       (specbind): Adjust to new specpdl format.  Simplify.
+       (record_unwind_protect, unbind_to): Adjust to new specpdl format.
+       (Fbacktrace_debug, Fbacktrace, Fbacktrace_frame): Adjust to new
+       backtrace format.
+       (mark_backtrace): Remove.
+       (mark_specpdl, get_backtrace, backtrace_top_function): New functions.
+       * xdisp.c (redisplay_internal): Use record_in_backtrace.
+       * alloc.c (Fgarbage_collect): Use record_in_backtrace.
+       Use mark_specpdl.
+       * profiler.c (record_backtrace): Use get_backtrace.
+       (handle_profiler_signal): Use backtrace_top_function.
+       * .gdbinit (xbacktrace, hookpost-backtrace): Use new backtrace
+       accessor functions.
+
+2013-06-02  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * process.h (catch_child_signal): Declare.
+
+       * process.c (catch_child_signal): New function.
+       (init_process_emacs): Call it.
+
+       * nsterm.m: Include process.h if NS_IMPL_GNUSTEP.
+       (ns_menu_bar_is_hidden, menu_will_open_state): Define only if
+       NS_IMPL_COCOA.
+       (x_set_cursor_type): Remove declaration.
+       (ns_update_begin): Only use r and bp if NS_IMPL_COCOA.
+       (ns_update_end, ns_focus, ns_unfocus): Remove GNUStep specific code.
+       (x_set_window_size): Remove 3 pixels from toolbar if NS_IMPL_GNUSTEP.
+       (ns_get_color): Use F suffix on float.
+       (ns_color_to_lisp, ns_query_color): Use EmacsCGFloat.
+       (ns_get_rgb_color): Remove.
+       (x_set_frame_alpha): Move view inside NS_IMPL_COCOA.
+       (note_mouse_movement): x and y are CGFloat.
+       (ns_draw_fringe_bitmap): Remove unused rowY.
+       Change #if to COCOA && >= 10_6.
+       (ns_draw_window_cursor): Remove unused overspill.
+       (ns_draw_underwave): width and x are EamcsCGFloat.
+       (ns_draw_box): thickness is CGFloat.
+       (ns_dumpglyphs_image): Change #if to COCOA && >= 10_6.
+       (ns_send_appdefined): When NS_IMPL_GNUSTEP, redirect to main thread
+       if not in main thread.
+       (ns_get_pending_menu_title, ns_check_menu_open)
+       (ns_check_pending_open_menu): Put inside #if COCOA && >= 10_5.
+       (ns_term_init): Call catch_child_signal if NS_IMPL_GNUSTEP && SIGCHLD.
+       (sendFromMainThread:): New method.
+       (changeFont:): size is CGFloat.
+       (keyDown:): Check for Delete when NS_IMPL_GNUSTEP.
+       Disable warning about permanent text.
+       (characterIndexForPoint:): Adjust return type depending on GNUStep
+       version.
+       (mouseDown:): delta is CGFloat.
+       (updateFrameSize): Remove unised variable f.
+       (initFrameFromEmacs): Move toggleButton inside NS_IMPL_COCOA.
+       Cast float to EmacsCGFloat.
+       (windowWillUseStandardFrame:defaultFrame:): Set maximized_height
+       also to -1 when restoring.
+       (windowDidExitFullScreen:): Put call to updateCollectionBehaviour
+       inside NS_IMPL_COCOA.
+       (toggleFullScreen:): Put call to toggleFullScreen inside
+       NS_IMPL_COCOA.  Cast float to EmacsCGFloat.
+       (setPosition:portion:whole:): por is CGFloat.
+       (getMouseMotionPart:window:x:y:): Add F suffix to float.
+       (mouseDown:): Use CGFloat.
+       (mouseDragged:): Remove unised variable edge.
+       (EmacsDocument): Implement for NS_IMPL_GNUSTEP.
+
+       * nsterm.h (EmacsCGFloat): Typedef for OSX and GNUStep when the size
+       of CGFloat differs.
+       (EmacsApp): New variable nextappdefined.  Declare sendFromMainThread
+       when NS_IMPL_GNUSTEP.
+       (EmacsDocument): Declare when NS_IMPL_GNUSTEP.
+       (EmacsView): Remove unlockFocusNeedsFlush, add windowDidMove.
+       (EmacsToolbar): Add clearAll.  Add tag argument to
+       addDisplayItemWithImage.
+       (EmacsSavePanel, EmacsOpenPanel): Remove getFilename and getDirectory.
+
+       * nsselect.m (ns_get_local_selection): Remove unused variable type.
+
+       * nsmenu.m (ns_update_menubar): Make static.
+       (x_activate_menubar): Surround with ifdef NS_IMPL_COCOA
+       (fillWithWidgetValue:): Add cast to SEL for setAction.
+       (addSubmenuWithTitle:forFrame:): Add cast to SEL for action.
+       (update_frame_tool_bar): Update code for GNUStep.
+       (clearAll): New method.
+       (addDisplayItemWithImage:idx:tag:helpText:enabled:): Handle new tag
+       argument.  Call insertItemWithItemIdentifier when NS_IMPL_GNUSTEP.
+       Move identifierToItem setObject and activeIdentifiers addObject before
+       call to insertItemWithItemIdentifier.
+       (validateVisibleItems): Fix indentation.
+       (toolbarAllowedItemIdentifiers:): Return activeIdentifiers.
+       (initWithContentRect:styleMask:backing:defer:): Add ClosableWindow and
+       UtilityWindow to aStyle, remove call to setStyleMask.
+
+       * nsimage.m (setXBMColor:, getPixelAtX:Y:): Use EmacsCGFloat.
+
+       * nsfont.m (ns_attribute_fvalue, ns_spec_to_descriptor)
+       (ns_charset_covers, ns_get_covering_families, nsfont_open):
+       Use F suffix on floats.
+       (ns_char_width): Returns CGFloat.
+       (ns_ascii_average_width): w is CGFloat instead of float.
+       (nsfont_draw): cbuf and c are unsigned.  Cast to char* in call to
+       DPSxshow.
+       (ns_glyph_metrics): CGFloat instead of float.
+
+       * nsfns.m (x_set_foreground_color, x_set_background_color):
+       Use EmacsCGFloat.
+       (ns_implicitly_set_icon_type, Fx_create_frame): Make static,
+       remove unused variables.
+       (Fns_read_file_name): Keep track if panel is for save.
+       Use ns_filename_from_panel/ns_directory_from_panel.
+       (Fns_list_services): delegate only used for COCOA.
+       (Fns_convert_utf8_nfd_to_nfc): Remove warning for GNUStep.
+       Just return the input if GNUStep.
+       (x_screen_planes): Remove.
+       (Fxw_color_values): Use EmacsCGFloat
+       (Fns_display_monitor_attributes_list): Only get screen number for
+       Cocoa.
+       (getDirectory, getFilename): Remove from EmacsOpenPanel and
+       EmacsSavePanel.
+       (EmacsOpenPanel:ok:): Use ns_filename_from_panel and
+       ns_directory_from_panel.
+
+2013-06-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * process.c (handle_child_signal): Also use WCONTINUED.
+       This is so that list-processes doesn't mistakenly list the process
+       as stopped, when the process has actually been continued and is
+       now running.
+
+2013-05-31  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Don't let D-bus autolaunch mess up SIGCHLD handling (Bug#14474).
+       * xterm.c (x_term_init): Inhibit D-Bus autolaunch if D-Bus is
+       not already configured.
+
+       * fileio.c (Finsert_file_contents): Remove unused local (Bug#8447).
+
+2013-05-29  Eli Zaretskii  <eliz@gnu.org>
+
+       * Makefile.in (mostlyclean): Remove *.res files.
+
+2013-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * fileio.c (Finsert_file_contents): Preserve undo info when reverting
+       a buffer (bug#8447).
+
+2013-05-27  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (pos_visible_p): When CHARPOS is displayed frrom a
+       display vector, and we backtrack, handle the case that the
+       previous character position is also displayed from a display
+       vector or covered by a display string or image.  (Bug#14476)
+
+2013-05-25  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * xfns.c (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Remove.
+       (struct MonitorInfo, free_monitors): Remove.
+       (x_make_monitor_attribute_list): Call make_monitor_attribute_list.
+       (Fx_display_monitor_attributes_list): Call make_monitor_attribute_list.
+       (syms_of_xfns): Remove DEFSYM for Qgeometry, Qworkarea, Qmm_size,
+       Qframes, Qsource.
+
+       * nsfns.m (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Remove.
+       (struct MonitorInfo, free_monitors): Remove.
+       (ns_screen_name): Make static.
+       (ns_make_monitor_attribute_list): Call make_monitor_attribute_list.
+       (syms_of_nsfns): Remove DEFSYM for Qgeometry, Qworkarea, Qmm_size,
+       Qframes, Qsource.
+
+       * frame.h (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Declare.
+       (struct MonitorInfo): New struct.
+       (free_monitors, make_monitor_attribute_list): Declare.
+
+       * frame.c (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource):
+       New Lisp_Object:s.
+       (free_monitors, make_monitor_attribute_list): New functions.
+       (syms_of_frame): DEFSYM Qgeometry, Qworkarea, Qmm_size, Qframes,
+       Qsource.
+
+2013-05-25  Xue Fuqiao  <xfq.free@gmail.com>
+
+       * callproc.c (call_process): Refine the doc string.  (Bug#14045)
+
+2013-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * keyboard.c: Apply keyboard decoding only to events that come directly
+       from the tty, not from unread-command-events (bug#14368).
+       (read_event_from_main_queue): New function, extracted from read_char).
+       (read_decoded_char): Remove.
+       (read_decoded_event_from_main_queue): New function to replace it.
+       (read_char): Use it.
+       (read_key_sequence): Use read_char rather than read_decoded_char.
+
+       * keyboard.c (read_decoded_char): Don't decode under w32 (bug#14403).
+
+2013-05-22  Barry OReilly  <gundaetiapo@gmail.com>  (tiny change)
+
+       * casetab.c (init_casetab_once): Fix last change (bug#14424).
+
+2013-05-22  Kenichi Handa  <handa@gnu.org>
+
+       The following changes are to fix the setting of
+       buffer-file-coding-system on, for instance, C-x RET c unix RET
+       _FILE_OF_DOS_EOL_TYPE_ RET.
+
+       * coding.h (struct coding_system): New member detected_utf8_chars.
+
+       * coding.c (detect_coding_utf_8): Count characters and check EOL
+       format.  Include CATEGORY_MASK_UTF_8_AUTO in detect_info->found if
+       BOM is there.
+       (setup_coding_system): Do not initialize coding->head_ascii.
+       (check_ascii): Do not set coding->eol_seen but update it.  Do not
+       call adjust_coding_eol_type here.
+       (detect_coding): Fix detection of BOM for utf-8 and utf-16.
+       If the eol-type of CODING is already specified, adjust the eol type
+       of the found coding-system.
+       (decode_coding_gap): Cancel previous change.  Utilize the
+       character numbers counted by detect_coding_utf_8.  Fix detection
+       of BOM for utf-8.
 
-       * 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'.
+2013-05-21  Barry OReilly  <gundaetiapo@gmail.com>  (tiny change)
 
-       * lisp.h (struct Lisp_Symbol): New field `declared_special'.
+       * search.c (looking_at_1): Only set last_thing_searched if the match
+       changed the match-data (bug#14281).
 
-       * keyboard.c (eval_dyn): New fun.
-       (menu_item_eval_property): Use it.
+2013-05-21  Dmitry Antipov  <dmantipov@yandex.ru>
 
-       * image.c (parse_image_spec): Use Ffunctionp.
+       * xdisp.c (reseat_at_previous_visible_line_start):
+       Already declared in dispextern.h, so remove it here.
+       (move_it_vertically_backward): Likewise.
 
-       * fns.c (concat, mapcar1): Accept byte-code-functions.
+2013-05-20  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 
-       * 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.
+       * xfns.c (check_x_display_info): Don't use XINT for terminal object.
+       (Fx_display_pixel_width, Fx_display_pixel_height)
+       (Fx_display_mm_width, Fx_display_mm_height):
+       Mention `display-monitor-attributes-list' in docstrings.
 
-       * doc.c (Fdocumentation, store_function_docstring):
-       * data.c (Finteractive_form): Handle closures.
+       * nsfns.m (ns_get_screen): Remove function.  All uses removed.
+       (check_ns_display_info): Sync with check_x_display_info in xfns.c.
+       (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
+       (Fx_display_screens, Fx_display_mm_width, Fx_display_mm_height)
+       (Fx_display_backing_store, Fx_display_visual_class)
+       (Fx_display_save_under, Fx_close_connection, Fxw_display_color_p)
+       (Fx_display_grayscale_p, Fx_display_pixel_width)
+       (Fx_display_pixel_height, Fx_display_planes)
+       (Fx_display_color_cells): Sync args and docstrings with xfns.c.
+       (Fx_display_screens): Don't confuse X11 screens with NS screens.
+       (Fx_display_mm_width, Fx_display_mm_height)
+       (Fx_display_pixel_width, Fx_display_pixel_width): Return width or
+       height for all physical monitors as in X11.
 
-       * callint.c (Fcall_interactively): Preserve lexical-binding mode for
-       interactive spec.
+       * nsterm.m (x_display_pixel_width, x_display_pixel_height):
+       Return pixel width or height for all physical monitors as in X11.
+
+2013-05-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Port --enable-gcc-warnings to clang.
+       * bytecode.c (exec_byte_code):
+       * regex.c:
+       Redo diagnostic pragmas to pacify clang, too.
+       * dbusbind.c (xd_retrieve_arg): Do not use uninitialized variable.
+       * editfns.c (Fencode_time):
+       * fileio.c (file_accessible_directory_p):
+       * font.c (font_unparse_xlfd):
+       Use '&"string"[index]' instead of '"string" + (index)'.
+       * undo.c (user_error): Remove; unused.
+
+2013-05-16  Eli Zaretskii  <eliz@gnu.org>
+
+       * insdel.c (insert_1_both): Document the arguments, instead of
+       referring to insert_1, which no longer exists.
+
+       * xdisp.c (message_dolog): If the *Messages* buffer is shown in
+       some window, increment windows_or_buffers_changed, so that
+       *Messages* display in that window is updated.  (Bug#14408)
+
+       * w32.c: Include epaths.h.
+       (init_environment): Use cmdproxy.exe without leading directories.
+       Support emacs.exe in src; point SHELL to cmdproxy in ../nt in that
+       case.
+       (gettimeofday): Adjust signature and return value to Posix
+       expectations.
+
+       * unexw32.c (open_output_file): Delete the existing emacs.exe
+       before creating it, to break the hard link to the versioned
+       executable.
+
+       * Makefile.in (EMACS_MANIFEST, CM_OBJ, TEMACS_POST_LINK)
+       (ADDSECTION, EMACS_HEAPSIZE, MINGW_TEMACS_POST_LINK)
+       (FIRSTFILE_OBJ): New variables.
+       (W32_RES): Rename to EMACSRES.  All users changed.
+       (base_obj): Use $(CM_OBJ).
+       (ALLOBJS): Use $(FIRSTFILE_OBJ).
+       (emacs$(EXEEXT)): Depend on $(ADDSECTION).
+       (temacs$(EXEEXT)): Use $(TEMACS_POST_LINK), and move
+       $(W32_RES_LINK) before $(LIBES).
+       (emacs.res): Depend on $(EMACS_MANIFEST).  Put emacs.rc in nt.
+
+2013-05-15  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * makefile.w32-in (DOC): Use just "DOC".
+
+       * Makefile.in (bootstrap-clean): DOC-* doesn't exist any more.
+
+       * process.c: Export default filters and sentinels to Elisp.
+       (Qinternal_default_process_sentinel, Qinternal_default_process_filter):
+       New constants.
+       (pset_filter, pset_sentinel, make_process, Fset_process_filter)
+       (Fset_process_sentinel, Fformat_network_address):
+       Default to them instead of nil.
+       (server_accept_connection): Sentinels can't be nil any more.
+       (read_and_dispose_of_process_output): New function, extracted from
+       read_process_output.
+       (read_process_output): Use it; filters can't be nil.
+       (Finternal_default_process_filter): New function, extracted from
+       read_process_output.
+       (exec_sentinel_unwind): Remove function.
+       (exec_sentinel): Don't zilch sentinel while running.
+       (status_notify): Sentinels can't be nil.
+       (Finternal_default_process_sentinel): New function extracted from
+       status_notify.
+       (setup_process_coding_systems): Default filter is not nil any more.
+       (syms_of_process): Export new Elisp functions and initialize
+       new constants.
+       * lisp.h (make_lisp_proc): New function.
+
+2013-05-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 
-       * 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.
+       * regex.c (regex_compile) [\=, \>, \<]: Don't forget to set laststart.
 
-       * buffer.c (defvar_per_buffer): Set new `declared_special' field.
+2013-05-14  Eli Zaretskii  <eliz@gnu.org>
 
-       * alloc.c (Fmake_symbol): Init new `declared_special' field.
+       * w32fns.c (w32_wnd_proc): Don't call WINDOW_HEADER_LINE_HEIGHT
+       unless we know that the window w is a leaf window.
+       Another attempt at solving bug#14062.
 
-2011-03-31  Juanma Barranquero  <lekktu@gmail.com>
+2013-05-14  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsfont.m (ns_spec_to_descriptor): Retain and autorelease
+       fdesc (Bug#14375).
+
+2013-05-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * image.c (gif_load): Check that subimages fit (Bug#14345).
+
+2013-05-09  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lread.c (skip_dyn_eof): New function.
+       (read1): Use it to skip the end of a file in response to #@00.
+
+       * doc.c (get_doc_string): Slightly relax the sanity checking.
+
+2013-05-09  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsfns.m: Include IOGraphicsLib.h if Cocoa.
+       (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): Declare.
+       (MonitorInfo): New struct.
+       (free_monitors, ns_screen_name, ns_make_monitor_attribute_list)
+       (Fns_display_monitor_attributes_list): New functions.
+       (display-usable-bounds): Remove.
+       (syms_of_nsfns): DEFSYM Qgeometry, Qworkarea, Qmm_size, Qframes and
+       Qsource.
+
+2013-05-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * xterm.h (GTK_PREREQ): Remove, replacing with GTK_CHECK_VERSION.
+       (GTK_CHECK_VERSION): New macro, if not already defined.
+       All uses of GTK_PREREQ, GTK_MAJOR_VERSION, etc.
+       replaced by GTK_CHECK_VERSION.
+
+2013-05-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * xterm.h (GTK_PREREQ): New macro.
+       All simple uses of GTK_MAJOR_VERSION and GTK_MINOR_VERSION changed
+       to use this macro instead, for consistency and clarity.
+
+2013-05-08  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (row_for_charpos_p): New function, with code of
+       cursor_row_p, but accepts an additional argument CHARPOS instead
+       of using a hardcoded PT.
+       (cursor_row_p): Call row_for_charpos_p with 2nd argument PT.
+       (row_containing_pos): Call row_for_charpos_p instead of partially
+       doing the same.  Fixes cursor positioning under longlines-mode
+       when longlines-show-effect includes more than one newline, when
+       moving the cursor vertically up.
+
+2013-05-08  Juanma Barranquero  <lekktu@gmail.com>
+
+       * makefile.w32-in (ACL_H): New macro.
+       ($(BLD)/fileio.$(O)): Update dependencies.
+
+2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Use Gnulib ACL implementation, for benefit of Solaris etc.  (Bug#14295)
+       * Makefile.in (LIB_ACL): New macro.
+       (LIBACL_LIBS): Remove.
+       (LIBES): Use LIB_ACL, not LIBACL_LIBS.
+       * fileio.c: Include <acl.h>.
+       Use HAVE_ACL_SET_FILE rather than HAVE_POSIX_ACL.
+       (ACL_NOT_WELL_SUPPORTED): Remove.  All uses replaced by
+       !acl_errno_valid.
+       (Fcopy_file) [!WINDOWSNT]: Use qcopy_acl instead of rolling
+       it ourselves.
+
+       * unexelf.c: Don't assume ElfW (Half) fits in int.
+       (entry_address, find_section, unexec): Use ptrdiff_t, not int,
+       when dealing with ElfW (Half) values, since they can exceed 2**31
+       on 64-bit OpenBSD hosts.  Problem reported privately by Han Boetes.
+       (entry_address): Omit unused NUM arg.  All uses changed.
+
+2013-05-07  Juri Linkov  <juri@jurta.org>
+
+       * callint.c (Fcall_interactively): Set `visargs[i]' for code 'n'
+       to the string converted from number with `Fnumber_to_string'.
+       (Bug#14254)
+
+2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * xfns.c (x_get_net_workarea): Define only if !GTK || GTK<3.4.
+       This fixes a problem introduced by my previous change.
+
+2013-05-07  Glenn Morris  <rgm@gnu.org>
+
+       * lread.c (readchar): Don't read from a dead buffer.  (Bug#14280)
+
+2013-05-07  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * xfns.c: Move misplaced ifndef USE_GTK from previous checkin.
+
+2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Static checking by GCC 4.8.0.
+       * xfns.c (x_get_net_workarea, struct MonitorInfo, free_monitors)
+       (x_get_monitor_for_frame, x_make_monitor_attribute_list)
+       (x_get_monitor_attributes_fallback)
+       (x_get_monitor_attributes_xinerama)
+       (x_get_monitor_attributes_xrandr, x_get_monitor_attributes):
+       Define only if USE_GTK.
+       (free_monitors): Define only if HAVE_XINERAMA || HAVE_XRANDR.
+       (x_get_monitor_attributes_fallback): Omit unused locals.
+       (x_get_monitor_attributes_xinerama, Fx_display_monitor_attributes_list):
+       Use double, not float, to avoid mixed-mode floating point arithmetic.
+
+2013-05-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+           Jan Djärv  <jan.h.d@swipnet.se>
+
+       * Makefile.in (XRANDR_LIBS, XRANDR_CFLAGS, XINERAMA_LIBS)
+       (XINERAMA_CFLAGS): New macros.
+       (ALL_CFLAGS, LIBES): Use them.
+
+       * xfns.c: Include <X11/extensions/Xrandr.h> if HAVE_XRANDR, and
+       include <X11/extensions/Xinerama.h> if HAVE_XINERAMA.
+       (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource): New variables.
+       (syms_of_xfns): DEFSYM them.
+       (struct MonitorInfo): New struct.
+       (x_get_net_workarea, free_monitors, x_get_monitor_for_frame)
+       (x_make_monitor_attribute_list, x_get_monitor_attributes_fallback)
+       (x_get_monitor_attributes_xrandr, x_get_monitor_attributes)
+       (x_get_monitor_attributes_xinerama): New functions.
+       (Fx_display_monitor_attributes_list): New primitive.
+       (syms_of_xfns): Defsubr it.
+
+       * xterm.h (x_display_info): Add Xatom_net_workarea and
+       Xatom_net_current_desktop.
+
+       * xterm.c (x_term_init): Initialize dpyinfo->Xatom_net_workarea
+       and dpyinfo->Xatom_net_current_desktop.
+
+2013-05-06  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (pos_visible_p): Use the special code for finding the
+       beginning of a display property or overlay for any "replacing"
+       display property, not just for display strings.  This solves
+       incorrect reporting of position by posn-at-point.  (Bug#14241)
+
+2013-05-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * unexelf.c: Fix some 32-bit integer problems, notably when debugging.
+       Include <limits.h>, <stdbool.h>, <intprops.h>, <verify.h>.
+       Verify that ElfW (Half) fits in int.
+       (fatal): Use same signature as lisp.h.
+       (UNEXELF_DEBUG): New macro, replacing DEBUG, so that people can
+       configure and build with -DUNEXELF_DEBUG without worrying about
+       other modules that use DEBUG.
+       (DEBUG_LOG) [UNEXELF_DEBUG]: New macro.  All debug code that prints
+       possibly-wide integers now uses it instead of plain fprintf.
+       (entry_address): New function, which avoids problems with 32-bit
+       overflow on 64-bit hosts.
+       (OLD_SECTION_H, NEW_SECTION_H, NEW_PROGRAM_H): Use it.
+       (round_up): Don't assume the remainder fits in int.
+       (find_section): Use bool for boolean.  Simplify debug code.
+       (unexec): Don't assume file sizes fit in int or size_t.
+       Omit unnecessary trailing newline in 'fatal' format.
+       Use strerror rather than outputting decimal error number.
+       Remove unused code when emacs is not defined;
+       this file relies on Emacs now.
+       Don't assume e_phnum and e_shnum are positive.
+
+       * regex.c: Fix problems when DEBUG is defined.
+       (extract_number, extract_number_and_incr): Define regardless of
+       whether DEBUG is defined; that's simpler and makes the code less
+       likely to go stale in the normal case when DEBUG is not defined.
+       Return int rather than taking an int * arg.  All callers changed.
+       (DEBUG_PRINT1, DEBUG_PRINT2, DEBUG_PRINT3, DEBUG_PRINT4):
+       Remove, replacing with ...
+       (DEBUG_PRINT): New macro.  All callers changed.
+       (DEBUG_COMPILES_ARGUMENTS): New macro.
+       (print_fastmap, print_partial_compiled_pattern) [DEBUG]:
+       (print_compiled_pattern, print_double_string) [DEBUG]:
+       Use prototype rather than old-style definition.
+       (print_partial_compiled_pattern, print_compiled_pattern) [DEBUG]:
+       (ENSURE_FAIL_STACK, PUSH_FAILURE_REG) [DEBUG]:
+       (POP_FAILURE_REG_OR_COUNT, PUSH_FAILURE_POINT) [DEBUG]:
+       (POP_FAILURE_POINT, re_match_2_internal) [DEBUG]:
+       Don't assume ptrdiff_t, size_t, and long are the same width as int.
+       (POINTER_TO_OFFSET): Return ptrdiff_t, not regoff_t.
+       This matters only when DEBUG is defined.
 
-       * xdisp.c (redisplay_internal): Fix prototype.
+2013-05-05  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (set_iterator_to_next): Set the
+       ignore_overlay_strings_at_pos_p flag only if we are _really_
+       iterating over an overlay string, as indicated by the
+       current.overlay_string_index member.  (Bug#14306)
+
+2013-05-05  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsmenu.m (ns_update_menubar): Move initialization of submenuTitle
+       to where it is used, to avoid autorelease issues (Bug#14050).
+
+2013-05-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+       `write-region-inhibit-fsync' defaults to noninteractive (Bug#14273).
+       * fileio.c (syms_of_fileio): Implement this.
+       * filelock.c (create_lock_file): If symbolic links don't work, so
+       we use a regular file as a lock file, do not fsync the lock file;
+       it's not needed.
+
+2013-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * minibuf.c (Fread_minibuffer, Feval_minibuffer): Move to Elisp.
+       (syms_of_minibuf): Adjust accodingly.
+       * lread.c (Fread):
+       * callint.c (Fcall_interactively): Adjust calls accordingly.
+
+2013-05-04  Eli Zaretskii  <eliz@gnu.org>
+
+       * dispextern.h (WINDOW_WANTS_HEADER_LINE_P): Verify that
+       w->contents is a buffer before computing everything else.
+       Use parentheses to disambiguate last part of the condition.
+
+       * w32fns.c (w32_wnd_proc): Remove temporary code used to trap
+       assertion violations.  (Bug#14062)
+
+2013-05-01  David Reitter  <david.reitter@gmail.com>
+
+       * nsfns.m (ns_tooltip): Initialize.
 
-2011-03-31  Eli Zaretskii  <eliz@gnu.org>
+2013-04-28  Eli Zaretskii  <eliz@gnu.org>
 
-       * 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)
+       * coding.c (decode_coding_gap): Don't remove the character before
+       a newline unless it's a CR character.  (Bug#14287)
 
-       (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.
+2013-04-28  Dan Nicolaescu  <dann@gnu.org>
 
-2011-03-31  Juanma Barranquero  <lekktu@gmail.com>
+       * dispextern.h (struct face): Move enum face_underline_type
+       earlier so that bitfields can be in the same word.
 
-       * 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.
+2013-04-28  Jan Djärv  <jan.h.d@swipnet.se>
 
-       * indent.c (Fvertical_motion):
-       * window.c (window_scroll_pixel_based, Frecenter):
-       Don't pass `need_y_p' to `move_it_by_lines'.
+       * nsfns.m (handlePanelKeys): New function.
+       (EmacsOpenPanel:performKeyEquivalent:)
+       (EmacsSavePanel:performKeyEquivalent:): Call handlePanelKeys to handle
+       arrows/function/control and copy/paste keys (Bug#14296).
 
-2011-03-30  Stefan Monnier  <monnier@iro.umontreal.ca>
+2013-04-27  Juri Linkov  <juri@jurta.org>
+
+       * callint.c (Fcall_interactively): Call `Qread_number' for
+       interactive code letter `n' instead of using duplicate code.
+       (Bug#14254)
+
+2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
 
-       * 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.
+       * systime.h (make_timeval): Declare as 'const'.
 
-       * bytecode.c (Fbyte_code): CAR and CDR can GC.
+2013-04-27  Kenichi Handa  <handa@gnu.org>
 
-2011-03-30  Zachary Kanfer  <zkanfer@gmail.com>  (tiny change)
+       * font.c (font_open_entity): Always open a font of manageable
+       size.
 
-       * keyboard.c (Fexecute_extended_command): Do log the "suggest key
-       binding" message (bug#7967).
+2013-04-26  Paul Eggert  <eggert@cs.ucla.edu>
 
-2011-03-30  Paul Eggert  <eggert@cs.ucla.edu>
+       Port better to AIX (Bug#14258).
+       * lisp.h (ENUM_BF) [__IBMC__]: Make it 'unsigned int' here, too,
+       to pacify AIX xlc.
 
-       Fix more problems found by GCC 4.6.0's static checks.
+2013-04-24  Kenichi Handa  <handa@gnu.org>
 
-       * unexelf.c (unexec) [! (defined _SYSTYPE_SYSV || defined __sgi)]:
-       Remove unused local var.
+       * coding.c (decode_coding_iso_2022): When an invalid escape
+       sequence is encountered, reset the invocation and designation
+       status to the safest one.
 
-       * editfns.c (Fmessage_box): Remove unused local var.
+2013-04-22  Paul Eggert  <eggert@cs.ucla.edu>
 
-       * 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.
+       * Makefile.in (bootstrap-clean): Remove stamp-h1 too.
+       Without this fix, "make distclean" leaves stamp-h1 behind.
 
-       * callproc.c (Fcall_process, Fcall_process_region): Use SAFE_ALLOCA
-       instead of alloca (Bug#8344).
+2013-04-20  Erik Charlebois  <erikcharlebois@gmail.com>
 
-       * eval.c (Fbacktrace): Don't assume nargs fits in int.
-       (Fbacktrace_frame): Don't assume nframes fits in int.
+       * w32fns.c (w32_fullscreen_rect): New function to compute the
+       window rectangle for the given fullscreen mode.
+       (w32_wnd_proc): When in a fullscreen mode, WM_WINDOWPOSCHANGING no
+       longer tunes the window size.  This keeps the window's edges flush
+       with the screen and allows the taskbar to hide itself in fullboth.
 
-       * syntax.c (scan_sexps_forward): Avoid pointer wraparound.
+       * w32term.c (w32fullscreen_hook): 'fullboth' now shows without
+       window decorations and uses the entire screen.
 
-       * xterm.c (x_make_frame_visible, same_x_server): Redo to avoid overflow
-       concerns.
+       * w32term.h  (w32_fullscreen_rect) Add prototype.
+       (struct w32_output): Replace normal_width, normal_height,
+       normal_top, and normal_left members with a single normal_placement
+       struct.
+       (FRAME_NORMAL_WIDTH, FRAME_NORMAL_HEIGHT, FRAME_NORMAL_TOP):
+       Remove macros.
+       (FRAME_NORMAL_PLACEMENT): New macro.
 
-       * term.c (produce_glyphless_glyph): Remove unnecessary test.
+2013-04-16  Juanma Barranquero  <lekktu@gmail.com>
 
-       * cm.c (calccost): Turn while-do into do-while, for clarity.
+       * minibuf.c (Ftest_completion): Silence compiler warning.
 
-       * 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.
+2013-04-15  Eli Zaretskii  <eliz@gnu.org>
 
-       * image.c (tiff_load): Fix off-by-one image count (Bug#8336).
+       * w32fns.c (w32_wnd_proc): Add more assertions to investigate
+       bug#14062.
 
-       * xselect.c (x_check_property_data): Return correct size (Bug#8335).
+       * frame.h (WINDOW_FRAME): Protect macro and its argument with
+       parentheses.
 
-       * chartab.c (sub_char_table_ref_and_range): Redo for slight
-       efficiency gain, and to bypass a gcc -Wstrict-overflow warning.
+       * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
+       (CURRENT_HEADER_LINE_HEIGHT, WINDOW_WANTS_MODELINE_P)
+       (WINDOW_WANTS_HEADER_LINE_P): Protect macro arguments with
+       parentheses where appropriate.
 
-       * 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.
+2013-04-14  Paul Eggert  <eggert@cs.ucla.edu>
 
-       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.
+       * keyboard.c (timer_start_idle): Remove no-longer-used local.
 
-       * 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.
+2013-04-14  Eli Zaretskii  <eliz@gnu.org>
 
-2011-03-28  Juanma Barranquero  <lekktu@gmail.com>
+       * buffer.c (syms_of_buffer) <left-margin-width, right-margin-width>
+       <left-fringe-width, right-fringe-width, fringes-outside-margins>:
+       Mention in the doc string that setting these variables takes
+       effect only after a call to set-window-buffer.  (Bug#14200)
 
-       * 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.
+2013-04-13  Eli Zaretskii  <eliz@gnu.org>
 
-       * 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.
+       * indent.c (Fvertical_motion): Don't consider display strings on
+       overlay strings as display strings on the buffer position we
+       started from.  This prevents vertical cursor motion from jumping
+       more than one line when there's an overlay string with a display
+       property at end of line.
+       Reported by Karl Chen <Karl.Chen@quarl.org> in
+       http://lists.gnu.org/archive/html/emacs-devel/2013-04/msg00362.html.
 
-2011-03-28  Stefan Monnier  <monnier@iro.umontreal.ca>
+2013-04-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 
-       * 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.
+       * window.c (select_window): `record_buffer' even if window is
+       already selected (bug#14191).
 
-       * 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.
+2013-04-11  Eli Zaretskii  <eliz@gnu.org>
 
-2011-03-28  Juanma Barranquero  <lekktu@gmail.com>
+       * window.c (Fwindow_end): Test more flags, including the buffer's
+       last_overlay_modified flag, to determine whether the window's
+       display is really up-to-date.  Prevents the function from
+       returning a stale value.  (Bug#14170)
+       (Fwindow_line_height): Fix the test for up-to-date-ness of the
+       current matrix.
 
-       * dispextern.h (string_buffer_position): Remove declaration.
+2013-04-10  Eli Zaretskii  <eliz@gnu.org>
 
-       * print.c (strout): Remove parameter `multibyte', unused since
-       1999-08-21T19:30:21Z!gerd@gnu.org.  All callers changed.
+       * frame.c (do_switch_frame): Mark the TTY frame we switch to as
+       garbaged only if it is not already the top frame on its TTY.
+       This prevents flickering due to constant redrawing of TTY frames when
+       there are GUI frames open in the same session.  (Bug#13864)
 
-       * 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.
+2013-04-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 
-       * w32.c (_wsa_errlist): Use braces for struct initializers.
+       * keyboard.c (timer_start_idle): Call internal-timer-start-idle instead
+       of marking the idle timers directly.
 
-       * 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.
+2013-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 
-2011-03-27  Jan Djärv  <jan.h.d@swipnet.se>
+       * minibuf.c (Ftest_completion): Ignore non-string/symbol keys in hash
+       tables (bug#14054).
 
-       * nsterm.m (syms_of_nsterm): Use doc: for ns-auto-hide-menu-bar.
+2013-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 
-2011-03-27  Anders Lindgren  <andlind@gmail.com>
+       * window.c (select_window): Don't record_buffer while the invariant is
+       temporarily broken (bug#14161).
 
-       * 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.
+       * fns.c (Fdelq): Don't assume !NILP => CONSP.
 
-2011-03-27  Jan Djärv  <jan.h.d@swipnet.se>
+2013-04-07  Eli Zaretskii  <eliz@gnu.org>
 
-       * nsmenu.m (runDialogAt): Remove argument to timer_check.
+       * fileio.c (ACL_NOT_WELL_SUPPORTED): Define macro for WINDOWSNT.
 
-2011-03-27  Glenn Morris  <rgm@gnu.org>
+2013-04-07  Romain Francoise  <romain@orebokech.com>
 
-       * 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.
+       Ignore additional platform-specific ACL errors (Bug#13702).
+       * fileio.c (ACL_NOT_WELL_SUPPORTED): New macro copied from gnulib.
+       (Fcopy_file, Fset_file_acl) [HAVE_POSIX_ACL]: Use it.
 
-2011-03-26  Eli Zaretskii  <eliz@gnu.org>
+2013-03-31  Jan Djärv  <jan.h.d@swipnet.se>
 
-       * xdisp.c (redisplay_window): Don't check buffer's clip_changed
-       flag as a prerequisite for invoking try_scrolling.  (Bug#6671)
+       * nsterm.m (ns_mouse_position): Use NS_FRAME_P instead of checking
+       f->output_data.ns.
 
-2011-03-26  Juanma Barranquero  <lekktu@gmail.com>
+2013-04-07  Paul Eggert  <eggert@cs.ucla.edu>
 
-       * w32.c (read_unc_volume): Use parameter `henum', instead of
-       global variable `wget_enum_handle'.
+       Fix --enable-profiling bug introduced by 2013-02-25 change (Bug#13783).
+       This bug was introduced by my 2013-02-25 change that simplified
+       data_start configuration.  Without this change, on GNU/Linux
+       an Emacs configured with --enable-profiling fails immediately
+       due to a profiler signal.
+       * Makefile.in: Compile with $(PROFILING_CFLAGS), but do not link
+       with these flags.  On platforms where special flags are needed
+       when linking temacs, the flags are now in LD_SWITCH_SYSTEM_TEMACS.
+       (ALL_CFLAGS): Remove $(PROFILING_CFLAGS).
+       (.c.o, .m.o): Compile with $(PROFILING_CFLAGS).
 
-       * 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'.
+2013-04-07  Dmitry Antipov  <dmantipov@yandex.ru>
 
-       * keyboard.h (timer_check, show_help_echo): Remove unused parameters.
+       Get rid of some platform-specific functions examining window
+       system and its capabilities.  This is a partial rework of the
+       2013-04-05 change.
+       * lisp.h (have_menus_p): Remove prototype.  This function is
+       replaced with platform-independent window_system_available.
+       (check_window_system): Move to...
+       * frame.h (decode_window_system_frame, window_system_available):
+       ...here, add new prototypes.
+       * frame.c (window_system_available, decode_window_system_frame):
+       New functions.
+       (check_window_system): Platform-independent now.
+       * xterm.h (x_in_use): Remove declaration.
+       (check_x_frame):
+       * w32term.h (check_x_frame):
+       * nsterm.h (check_x_frame): Remove prototypes.  This function
+       is replaced with platform-independent decode_window_system_frame.
+       * msdos.c (have_menus_p): Remove.
+       * nsfns.m (check_window_system, have_menus_p, check_ns_frame):
+       Remove platform-specific functions.  Use check_window_system,
+       decode_window_system_frame and check_ns_display_info where
+       appropriate.  Minor style and comment tweaks.
+       * w32fns.c (w32_in_use, check_window_system, have_menus_p)
+       (check_x_frame): Likewise.
+       * xfns.c (x_in_use, check_window_system, have_menus_p, check_x_frame):
+       Likewise.
+       * fileio.c, fns.c, font.c, fontset.c, image.c, menu.c, nsmenu.m:
+       * nsselect.m, nsterm.m, w32font.c, w32menu.c, xfaces.c, xgselect.c:
+       * xmenu.c, xselect.c: All related users changed.
 
-       * 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.
+2013-04-03  Kenichi Handa  <handa@gnu.org>
 
-       * keyboard.c (read_char):
-       * w32menu.c (w32_menu_display_help):
-       * xmenu.c (show_help_event, menu_help_callback):
-       Adjust calls to `show_help_echo'.
+       The following changes is to optimize the code for reading UTF-8
+       files.
 
-       * gtkutil.c (xg_maybe_add_timer):
-       * keyboard.c (readable_events):
+       * coding.c (check_ascii): Rename from detect_ascii.  Return value
+       changed.  Check EOL format.  Do not call adjust_coding_eol_type
+       here.
+       (check_utf_8): New function.
+       (adjust_coding_eol_type): Do nothing if already adjusted.
+       (detect_coding): Compare the return value of check_ascii with
+       coding->src_bytes.  Call adjust_coding_eol_type if necessary.
+       (decode_coding_gap): Optimize for valid UTF-8.
+
+2013-03-21  Kenichi Handa  <handa@gnu.org>
+
+       * coding.c (syms_of_coding): Cancel previous change.
+
+       * insdel.c (insert_from_gap): Fix previous change.
+
+2013-04-05  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Consistently use platform-specific function to detect window system.
+       * lisp.h (check_window_system): New prototype.  This function is
+       going to replace check_x, check_w32 and check_ns.
+       (have_menus_p): Mention msdos.c in comment.
+       * fontset.c (check_window_system_func): Remove.  Adjust all users.
+       * fontset.h (check_window_system_func): Remove prototype.
+       * nsterm.h (check_ns):
+       * xterm.h (check_x):
+       * w32term.h (check_w32): Likewise.
+       * menu.c (Fx_popup_menu): Use check_window_system.
+       * msdos.c (check_window_system): Define for MS-DOS.
+       * nsfns.m (check_window_system): Define for NS.  Adjust all users.
+       * w32fns.c (check_window_system): Likewise for MS-Windows.
+       * xfns.c (check_window_system): Likewise for X.
+       * font.c, frame.c, nsmenu.m, nsselect.m, nsterm.m, w32menu.c:
+       * xfaces.c, xmenu.c: Use check_window_system where appropriate.
+
+2013-04-02  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Prefer < to > in range checks such as 0 <= i && i < N.
+       This makes it easier to visualize quantities on a number line.
+       This patch doesn't apply to all such range checks,
+       only to the range checks affected by the 2013-03-24 change.
+       This patch reverts most of the 2013-03-24 change.
+       * alloc.c (xpalloc, Fgarbage_collect):
+       * ccl.c (ccl_driver, resolve_symbol_ccl_program):
+       * character.c (string_escape_byte8):
+       * charset.c (read_hex):
+       * data.c (cons_to_unsigned):
+       * dispnew.c (update_frame_1):
+       * doc.c (Fsubstitute_command_keys):
+       * doprnt.c (doprnt):
+       * editfns.c (hi_time, decode_time_components):
+       * fileio.c (file_offset):
+       * fns.c (larger_vector, make_hash_table, Fmake_hash_table):
+       * font.c (font_intern_prop):
+       * frame.c (x_set_alpha):
+       * gtkutil.c (get_utf8_string):
+       * indent.c (check_display_width):
+       * keymap.c (Fkey_description):
+       * lisp.h (FIXNUM_OVERFLOW_P, vcopy):
+       * lread.c (read1):
+       * minibuf.c (read_minibuf_noninteractive):
        * process.c (wait_reading_process_output):
-       * xmenu.c (x_menu_wait_for_event): Adjust calls to `timer_check'.
-
-       * 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.
-
-2011-03-25  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xdisp.c (handle_fontified_prop): Discard changes to clip_changed
-       incurred during fontification.
-
-2011-03-25  Juanma Barranquero  <lekktu@gmail.com>
-
-       * buffer.c (defvar_per_buffer): Remove unused parameter `doc'.
-       (DEFVAR_PER_BUFFER): Don't pass it.
-
-       * dispnew.c (row_equal_p, add_row_entry): Remove unused parameter `w'.
-       (scrolling_window): Don't pass it.
-
-2011-03-25  Juanma Barranquero  <lekktu@gmail.com>
-
-       * dispextern.h (glyph_matric): Use #if GLYPH_DEBUG, not #ifdef.
-
-       * 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'.
-
-       * image.c (XPutPixel): Remove unused variable `height'.
-
-       * keyboard.c (make_lispy_event): Remove unused variable `hpos'.
-
-       * unexw32.c (get_section_info): Remove unused variable `section'.
-
-       * w32.c (stat): Remove unused variables `drive_root' and `devtype'.
-       (system_process_attributes): Remove unused variable `sess'.
-       (sys_read): Remove unused variable `err'.
+       * search.c (Freplace_match):
+       * window.c (get_phys_cursor_glyph):
+       * xdisp.c (redisplay_internal):
+       * xsmfns.c (smc_save_yourself_CB):
+       Prefer < to > for range checks.
+       * dispnew.c (sit_for): Don't mishandle NaNs.
+       This fixes a bug introduced in the 2013-03-24 change.
+       * editfns.c (decode_time_components): Don't hoist comparison.
+       This fixes another bug introduced in the 2013-03-24 change.
 
-       * 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'.
+2013-03-31  Dmitry Antipov  <dmantipov@yandex.ru>
 
-       * w32inevt.c (w32_console_read_socket):
-       Remove unused variable `no_events'.
+       * frame.h (struct frame): Drop scroll_bottom_vpos
+       member becaue all real users are dead long ago.
+       (FRAME_SCROLL_BOTTOM_VPOS): Remove.
+       * xdisp.c (redisplay_internal): Adjust user.
 
-       * w32term.c (x_draw_composite_glyph_string_foreground):
-       Remove unused variable `width'.
+2013-03-30  Darren Ho  <darren.hoo@gmail.com>  (tiny change)
 
-2011-03-24  Juanma Barranquero  <lekktu@gmail.com>
+       * nsmenu.m (showAtX:Y:for:): setLevel to
+       NSPopUpMenuWindowLevel (Bug#13998).
 
-       * w32term.c (x_set_glyph_string_clipping):
-       Don't pass uninitialized region to CombineRgn.
+2013-03-30  Jan Djärv  <jan.h.d@swipnet.se>
 
-2011-03-23  Juanma Barranquero  <lekktu@gmail.com>
+       * nsterm.h (ns_get_pending_menu_title, ns_check_menu_open)
+       (ns_check_pending_open_menu): Declare.
 
-       * 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'.
+       * nsmenu.m (ns_update_menubar): Correct NSTRACE.
+       (x_activate_menubar): Update the menu with title that matches
+       ns_get_pending_menu_title, and call
+       ns_check_pending_openmenu (Bug#12698).
+       (menuWillOpen:): New method.
+       (menuNeedsUpdate:): Add check for ! COCOA || OSX < 10.5 (Bug#12698).
 
-       * w32font.c (w32font_draw): Return number of glyphs.
-       (w32font_open_internal): Remove unused variable `i'.
-       (w32font_driver): Add missing initializer.
+       * nsterm.m (menu_will_open_state, menu_mouse_point)
+       (menu_pending_title): New varaibles.
+       (ns_get_pending_menu_title, ns_check_menu_open)
+       (ns_check_pending_open_menu): New functions.
 
-       * w32menu.c (utf8to16): Remove unused variable `utf16'.
-       (fill_in_menu): Remove unused variable `items_added'.
+2013-03-29  Dmitry Antipov  <dmantipov@yandex.ru>
 
-       * 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'.
+       * indent.c (current_column_bol_cache): Remove leftover which is not
+       used in Fmove_to_column any more.
+       (current_column, scan_for_column): Adjust users.
+       * keyboard.c (last_point_position_buffer, last_point_position_window):
+       Remove leftovers which are not used for recording undo any more.
+       (command_loop_1, syms_of_keyboard): Adjust users.
+       * xdisp.c (last_max_ascent): Remove leftover which is not used in
+       redisplay_window any more.
+       (move_it_to): Adjust user.
 
-       * 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.
+2013-03-29  Juanma Barranquero  <lekktu@gmail.com>
 
-2011-03-23  Julien Danjou  <julien@danjou.info>
+       * makefile.w32-in ($(BLD)/filelock.$(O), $(BLD)/filelock.$(O)):
+       Update dependencies.
 
-       * 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
-       unconditionally 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):
+2013-03-28  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp.h (save_type, XSAVE_POINTER, set_save_pointer, XSAVE_INTEGER)
+       (set_save_integer, XSAVE_OBJECT, XSAVE_VALUE): Move to avoid
+       forward references.
+
+2013-03-28  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * window.h (struct window): Replace hchild, vchild and buffer slots
+       with the only contents slot.  This is possible because each valid
+       window may have either the child window (in vertical or horizontal
+       combination) or buffer to display (for the leaf window).  Using that,
+       a lof of operations to traverse and/or change window hierarchies may
+       be simplified.  New member horizontal is used to distinguish between
+       horizontal and vertical combinations of internal windows.
+       (WINDOW_LEAF_P, WINDOW_HORIZONTAL_COMBINATION_P)
+       (WINDOW_VERTICAL_COMBINATION_P): New macros.
+       (WINDOW_VALID_P, WINDOW_LIVE_P): Adjust to match struct window changes.
+       * window.c (wset_hchild, wset_vchild): Remove.  Adjust all users.
+       Use contents slot, not buffer, where appropriate.
+       (wset_combination): New function.
+       (wset_buffer): Add eassert.
+       (Fframe_first_window): Simplify the loop reaching first window.
+       (Fwindow_buffer): Use WINDOW_LEAF_P.
+       (Fwindow_top_child): Use WINDOW_VERTICAL_COMBINATION_P.
+       (Fwindow_left_child): Use WINDOW_HORIZONTAL_COMBINATION_P.
+       (unshow_buffer): Convert initial debugging check to eassert.
+       (replace_window, recombine_windows, Fdelete_other_windows_internal)
+       (make_parent_window, window_resize_check, window_resize_apply)
+       (resize_frame_windows, Fsplit_window_internal, Fdelete_window_internal)
+       (Fset_window_configuration, delete_all_child_windows, save_window_save):
+       Adjust to match struct window changes.
+       (window_loop): Check for broken markers in CHECK_ALL_WINDOWS.
+       (mark_window_cursors_off, count_windows, get_leaf_windows)
+       (foreach_window_1): Simplify the loop.
+       * alloc.c (mark_object): Do not check for the leaf window because
+       internal windows has no glyph matrices anyway.
+       * dispnew.c (clear_window_matrices, showing_window_margins_p)
+       (allocate_matrices_for_window_redisplay, fake_current_matrices)
+       (allocate_matrices_for_frame_redisplay, free_window_matrices)
+       (build_frame_matrix_from_window_tree, mirror_make_current)
+       (frame_row_to_window, mirror_line_dance, check_window_matrix_pointers)
+       (update_window_tree, set_window_update_flags): Simplify the loop.
+       (sync_window_with_frame_matrix_rows): Enforce live window.
+       Use contents slot, not buffer, where appropriate.
+       * frame.c (set_menu_bar_lines_1): Use WINDOW_VERTICAL_COMBINATION_P
+       and WINDOW_HORIZONTAL_COMBINATION_P.
+       (make_frame_visible_1): Simplify the loop.
+       Use contents slot, not buffer, where appropriate.
+       * xdisp.c (hscroll_window_tree, mark_window_display_accurate)
+       (redisplay_windows, redisplay_mode_lines, update_cursor_in_window_tree)
+       (expose_window_tree): Likewise.
+       Use contents slot, not buffer, where appropriate.
+       * textprop.c (get_char_property_and_overlay): Add CHECK_LIVE_WINDOW
+       to avoid deleted windows.  Use contents slot instead of buffer.
+       * buffer.c, dispextern.h, editfns.c, fileio.c, font.c, fringe.c:
+       * indent.c, insdel.c, keyboard.c, keymap.c, minibuf.c, msdos.c:
+       * nsfns.m, nsmenu.m, nsterm.m, print.c, w32fns.c, w32menu.c, xfaces.c:
+       * xfns.c, xmenu.c: Use contents slot, not buffer, where appropriate.
+
+2013-03-28  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32fns.c (w32_wnd_proc) [ENABLE_CHECKING]: Add code to help
+       identify the reasons for assertion violations in bug#14062 and
+       similar ones.
+       (Fx_show_tip): Fix compilation error under
+       "--enable-check-lisp-object-type".  (Bug#14073)
+
+       * image.c (g_error_free) [WINDOWSNT]: Add DEF_IMGLIB_FN.
+       Reported by <rzl24ozi@gmail.com>.
+
+2013-03-28  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * xdisp.c (with_echo_area_buffer_unwind_data): Save window
+       start marker...
+       (unwind_with_echo_area_buffer): ...to restore it here.
+       This is needed to ensure that...
+       (redisplay_window): ...both window markers are valid here,
+       which is verified by eassert.
+       * editfns.c (save_excursion_save): Do not assume that
+       selected_window always displays the buffer.
+       * buffer.c (Fbuffer_swap_text): Adjust window start markers.
+       Fix comment.
+
+2013-03-27  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * casetab.c (init_casetab_once): Don't abuse the ascii eqv table for
+       the upcase table.
+
+2013-03-27  rzl24ozi  <rzl24ozi@gmail.com>  (tiny changes)
+
+       * image.c [WINDOWSNT]: Fix calls to DEF_IMGLIB_FN for SVG function.
+
+2013-03-27  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32proc.c (IsValidLocale) [__GNUC__]: Don't declare prototype,
+       since MinGW's w32api headers do.  This avoids compiler warnings.
+
+       * w32.c (FSCTL_GET_REPARSE_POINT) [_MSC_VER || _W64]: Don't define
+       if already defined.
+
+2013-03-26  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32.c (_REPARSE_DATA_BUFFER): Condition by _MSVC and _W64.
+
+2013-03-26  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * gtkutil.c (style_changed_cb): Check if frame is live and an
+       X frame (Bug#14038).
+
+2013-03-26  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32.c (_PROCESS_MEMORY_COUNTERS_EX) [_WIN32_WINNT < 0x0500]:
+       Define only for _WIN32_WINNT less than 0x0500.
+       (_ANONYMOUS_UNION, _ANONYMOUS_STRUCT) [!_W64]: Don't define for
+       MinGW64.
+       Move inclusion of time.h before sys/time.h, so that MinGW64 could
+       see its own definitions of 'struct timeval' and 'struct timezone'.
+
+       Fix incompatibilities between MinGW.org and MinGW64 headers.
+       * w32term.c (WCRANGE, GLYPHSET): Don't define if _W64 is defined.
+
+       * w32.c (REPARSE_DATA_BUFFER): Guard with
+       MAXIMUM_REPARSE_DATA_BUFFER_SIZE being defined.
+
+2013-03-25  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * xterm.c: Include X11/XKBlib.h
+       (XTring_bell): Use XkbBell if HAVE_XKB (Bug#14041).
+
+2013-03-24  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * alloc.c (xpalloc, Fgarbage_collect): Reorder conditions that are
+       written backwards.
+       * blockinput.h (input_blocked_p): Likewise.
+       * bytecode.c (exec_byte_code): Likewise.
+       * callproc.c (call_process_kill, call_process_cleanup)
+       (Fcall_process): Likewise.
+       * ccl.c (ccl_driver, resolve_symbol_ccl_program)
+       (Fccl_execute_on_string): Likewise.
+       * character.c (string_escape_byte8): Likewise.
+       * charset.c (read_hex): Likewise.
+       * cm.c (calccost): Likewise.
+       * data.c (cons_to_unsigned): Likewise.
+       * dired.c (directory_files_internal, file_name_completion):
        Likewise.
+       * dispnew.c (scrolling_window, update_frame_1, Fsleep_for)
+       (sit_for): Likewise.
+       * doc.c (Fsubstitute_command_keys): Likewise.
+       * doprnt.c (doprnt): Likewise.
+       * editfns.c (hi_time, decode_time_components, Fformat): Likewise.
+       * emacsgtkfixed.c: Likewise.
+       * fileio.c (file_offset, Fwrite_region): Likewise.
+       * floatfns.c (Fexpt, fmod_float): Likewise.
+       * fns.c (larger_vector, make_hash_table, Fmake_hash_table):
+       Likewise.
+       * font.c (font_intern_prop): Likewise.
+       * frame.c (x_set_alpha): Likewise.
+       * gtkutil.c (get_utf8_string): Likewise.
+       * indent.c (check_display_width): Likewise.
+       * intervals.c (create_root_interval, rotate_right, rotate_left)
+       (split_interval_right, split_interval_left)
+       (adjust_intervals_for_insertion, delete_node)
+       (interval_deletion_adjustment, adjust_intervals_for_deletion)
+       (merge_interval_right, merge_interval_left, copy_intervals)
+       (set_intervals_multibyte_1): Likewise.
+       * keyboard.c (gobble_input, append_tool_bar_item): Likewise.
+       * keymap.c (Fkey_description): Likewise.
+       * lisp.h (FIXNUM_OVERFLOW_P, vcopy): Likewise.
+       * lread.c (openp, read_integer, read1, string_to_number):
+       Likewise.
+       * menu.c (ensure_menu_items): Likewise.
+       * minibuf.c (read_minibuf_noninteractive): Likewise.
+       * print.c (printchar, strout): Likewise.
+       * process.c (create_process, Faccept_process_output)
+       (wait_reading_process_output, read_process_output, send_process)
+       (wait_reading_process_output): Likewise.
+       * profiler.c (make_log, handle_profiler_signal): Likewise.
+       * regex.c (re_exec): Likewise.
+       * regex.h: Likewise.
+       * search.c (looking_at_1, Freplace_match): Likewise.
+       * sysdep.c (get_child_status, procfs_ttyname)
+       (procfs_get_total_memory): Likewise.
+       * systime.h (EMACS_TIME_VALID_P): Likewise.
+       * term.c (dissociate_if_controlling_tty): Likewise.
+       * window.c (get_phys_cursor_glyph): Likewise.
+       * xdisp.c (init_iterator, redisplay_internal, redisplay_window)
+       (try_window_reusing_current_matrix, try_window_id, pint2hrstr):
+       Likewise.
+       * xfns.c (Fx_window_property): Likewise.
+       * xmenu.c (set_frame_menubar): Likewise.
+       * xselect.c (x_get_window_property, x_handle_dnd_message):
+       Likewise.
+       * xsmfns.c (smc_save_yourself_CB): Likewise.
+       * xterm.c (x_scroll_bar_set_handle): Likewise.
+
+2013-03-24  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * xfaces.c (Finternal_face_x_get_resource): Allow 3rd (frame) argument
+       to be optional or nil.  Adjust comment and convert it to docstring.
+       * xselect.c (Fx_send_client_event): Rename to Fx_send_client_message.
+       * frame.c (display_x_get_resource, Fx_get_resource): Break long line.
+
+2013-03-24  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Static checking by GCC 4.8-20130319.
+       * image.c (gif_load): Assume pass < 3 to pacify GCC.
+       * process.c (Fset_process_datagram_address)
+       (Fmake_network_process): Check get_lisp_to_sockaddr_size return value.
+       * xdisp.c (get_char_face_and_encoding):
+       (get_glyph_face_and_encoding): Ensure that *CHAR2B is initialized.
+       (get_glyph_face_and_encoding): Prepare face before possibly using it.
+       (get_per_char_metric): Don't use CHAR2B if it might not be initialized.
+
+2013-03-24  Ken Brown  <kbrown@cornell.edu>
+
+       * w32fns.c (emacs_abort) [CYGWIN]: Define `_open' as a macro to
+       fix compilation on 64-bit Cygwin, where underscores are not
+       automatically prepended.
+
+       * w32term.c (w32_initialize): Silence compiler warning.
+
+2013-03-23  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32term.c (w32fullscreen_hook): Use FRAME_NORMAL_WIDTH,
+       FRAME_NORMAL_HEIGHT, and FRAME_PREV_FSMODE, instead of static
+       variables, to save and restore frame dimensions.
+       Use FRAME_NORMAL_LEFT and FRAME_NORMAL_TOP to restore frame position
+       after returning from a 'fullscreen' configuration.
+       use SendMessage instead of PostMessage to send the SC_RESTORE message,
+       to avoid races between the main thread and the input thread.
+
+       * w32term.h (struct w32_output): New members normal_width,
+       normal_height, normal_top, normal_left, and prev_fsmode.
+       (FRAME_NORMAL_WIDTH, FRAME_NORMAL_HEIGHT, FRAME_NORMAL_TOP)
+       (FRAME_NORMAL_LEFT, FRAME_PREV_FSMODE): New macros to access these
+       members of a frame.
+
+       * w32term.c (w32fullscreen_hook): Record last value of the frame's
+       'fullscreen' parameter.  Always record previous width and height
+       of the frame, except when switching out of maximized modes, so
+       that they could be restored correctly, instead of resetting to the
+       default frame dimensions.  Send SC_RESTORE command to the frame,
+       unless we are going to send SC_MAXIMIZE, to restore the frame
+       resize hints in the mouse pointer shown by the window manager.
+       (Bug#14032)
+
+       * frame.c (get_frame_param): Now extern for WINDOWSNT as well.
+
+       * lisp.h (get_frame_param): Adjust conditions for prototype
+       declaration.
+
+2013-03-22  Ken Brown  <kbrown@cornell.edu>
+
+       * unexcw.c: Drop unneeded inclusion of w32common.h.
+       (report_sheap_usage): Declare.
+       (read_exe_header): Add magic numbers for x86_64.
+       (fixup_executable): Fix printf format specifier for unsigned long
+       argument.
 
-       * 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).
-
-       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.
-
-       * xftfont.c (xftfont_shape): Now static, and defined only if needed.
-       (xftfont_open): Rename locals to avoid shadowing.
-
-       * 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.
-
-       * xfont.c (xfont_list_family): Mark var as initialized.
-
-       * xml.c (make_dom): Now static.
-
-       * 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).
-
-       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.
-
-       * textprop.c (property_change_between_p): Remove; unused.
-
-       * intervals.c (interval_start_pos): Now static.
-
-       * intervals.h (CHECK_TOTAL_LENGTH): Avoid empty "else".
-
-       * atimer.c (start_atimer, append_atimer_lists, set_alarm):
-       Rename locals to avoid shadowing.
-
-       * 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).
-
-       * region-cache.c (insert_cache_boundary): Redo var to avoid shadowing.
-
-       * region-cache.h (pp_cache): New decl, for gcc -Wmissing-prototypes.
-
-       * 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.
-
-       * 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.
-
-       * callproc.c (call_process_cleanup): Now static.
-       (relocate_fd): Rename locals to avoid shadowing.
-
-2011-03-22  Chong Yidong  <cyd@stupidchicken.com>
-
-       * xterm.c (x_clear_frame): Remove XClearWindow call.  This appears
-       not to be necessary, and produces flickering.
-
-2011-03-20  Glenn Morris  <rgm@gnu.org>
-
-       * config.in: Remove file.
-
-2011-03-20  Juanma Barranquero  <lekktu@gmail.com>
-
-       * minibuf.c (Vcompleting_read_function): Don't declare, global variables
-       are now in src/globals.h.
-       (syms_of_minibuf): Remove spurious & from previous change.
-
-2011-03-20  Leo Liu  <sdl.web@gmail.com>
-
-       * minibuf.c (completing-read-function): New variable.
-       (completing-read-default): Rename from completing-read.
-       (completing-read): Call completing-read-function.
-
-2011-03-19  Juanma Barranquero  <lekktu@gmail.com>
-
-       * xfaces.c (Fx_load_color_file):
-       Read color file from absolute filename (bug#8250).
-
-2011-03-19  Juanma Barranquero  <lekktu@gmail.com>
-
-       * makefile.w32-in: Update dependencies.
-
-2011-03-17  Eli Zaretskii  <eliz@gnu.org>
-
-       * makefile.w32-in ($(BLD)/unexw32.$(O)): Depend on $(SRC)/unexec.h.
-
-2011-03-17  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix more problems found by GCC 4.5.2's static checks.
-
-       * process.c (make_serial_process_unwind, send_process_trap):
-       (sigchld_handler): Now static.
-
-       * 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.
-
-       * s/irix6-5.h (PTY_OPEN): Declare stb, to loosen coupling.
-       * process.c (allocate_pty): Don't declare stb unless it's needed.
-
-       * 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.
-
-       * 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.
-
-       * deps.mk (unexalpha.o): Remove; unused.
-
-       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.
-
-       * 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
+2013-03-22  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * frame.h (struct frame): Put menu_bar_window under #ifdef
+       because this member is not needed when X toolkit is in use.
+       (fset_menu_bar_window):
+       * dispnew.c (clear_current_matrices, clear_desired_matrices)
+       (free_glyphs, update_frame):
+       * xdisp.c (expose_frame): Likewise.
+       (display_menu_bar): Likewise.  Remove redundant eassert.
+       * window.h (WINDOW_MENU_BAR_P): Always define to 0 if X
+       toolkit is in use.
+
+2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Use functions and constants to manipulate Lisp_Save_Value objects.
+       This replaces code that used macros and strings and token-pasting.
+       The change makes the C source a bit easier to follow,
+       and shrinks the Emacs executable a bit.
+       * alloc.c: Verify some properties of Lisp_Save_Value's representation.
+       (make_save_value): Change 1st arg from string to enum.  All callers
        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.
+       (INTX): Remove.
+       (mark_object): Use if, not #if, for GC_MARK_STACK.
+       * lisp.h (SAVE_VALUEP, XSAVE_VALUE, XSAVE_POINTER, XSAVE_INTEGER)
+       (XSAVE_OBJECT): Now functions, not macros.
+       (STRING_BYTES_BOUND): Now just a macro, not a constant too;
+       the constant was never used.
+       (SAVE_SLOT_BITS, SAVE_VALUE_SLOTS, SAVE_TYPE_BITS, SAVE_TYPE_INT_INT)
+       (SAVE_TYPE_INT_INT_INT, SAVE_TYPE_OBJ_OBJ, SAVE_TYPE_OBJ_OBJ_OBJ)
+       (SAVE_TYPE_OBJ_OBJ_OBJ_OBJ, SAVE_TYPE_PTR_INT, SAVE_TYPE_PTR_OBJ)
+       (SAVE_TYPE_PTR_PTR, SAVE_TYPE_PTR_PTR_OBJ, SAVE_TYPE_MEMORY):
+       New constants.
+       (struct Lisp_Save_Value): Replace members area, type0, type1, type2,
+       type3 with a single member save_type.  All uses changed.
+       (save_type, set_save_pointer, set_save_integer): New functions.
+       * print.c (PRINTX): Remove.
+
+       * alloc.c: Remove redundant static declarations.
+
+2013-03-20  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * window.h (struct window): Convert left_col, top_line, total_lines
+       and total_cols from Lisp_Objects to integers.  Adjust comments.
+       (wset_left_col, wset_top_line, wset_total_cols, wset_total_lines):
+       Remove.
+       (WINDOW_TOTAL_COLS, WINDOW_TOTAL_LINES, WINDOW_LEFT_EDGE_COL)
+       (WINDOW_TOP_EDGE_LINE): Drop Lisp_Object to integer conversion.
+       * dispnew.c, frame.c, w32fns.c, window.c, xdisp.c, xfns.c:
+       Adjust users where appropriate.
+
+2013-03-20  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * frame.h (struct frame): Drop resx and resy because the same data is
+       available from window system-specific output context.  Adjust users.
+       (default_pixels_per_inch_x, default_pixels_per_inch_y):
+       New functions to provide defaults when no window system available.
+       (FRAME_RES_X, FRAME_RES_Y): New macros.
+       (NUMVAL): Move from xdisp.c.
+       * font.c (font_pixel_size, font_find_for_lface, font_open_for_lface)
+       (Ffont_face_attributes, Fopen_font):
+       * image.c (gs_load):
+       * w32font.c (fill_in_logfont):
+       * xdisp.c (calc_pixel_width_or_height):
+       * xfaces.c (Fx_family_fonts, set_lface_from_font): Use them.
+       * xsettings.c (apply_xft_settings): Drop frame loop and adjust comment.
 
-       * lisp.h (force_auto_save_soon): New decl.
+2013-03-20  Kenichi Handa  <handa@gnu.org>
 
-       * 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.
+       * coding.c (syms_of_coding): Initialize disable_ascii_optimization
+       to 1 (temporary workaround until a bug related to ASCII
+       optimization is fixed).
 
-       * lisp.h (fatal_error_signal): Add decl, since it's exported.
+2013-03-19  Dmitry Antipov  <dmantipov@yandex.ru>
 
-       * 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 *.
+       * window.c (Fwindow_combination_limit, Fset_window_combination_limit):
+       Signal error if window is not internal.  Adjust docstring.
+       (delete_all_child_windows): Use combination_limit to save the buffer.
+       (Fset_window_configuration): Adjust accordingly.
+       * print.c (syms_of_print): Initialize debugging output not here...
+       (init_print_once): ...but in a new function here.
+       * lisp.h (init_print_once): Add prototype.
+       * emacs.c (main): Add call to init_print_once.  Adjust comments.
 
-       * 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.
+2013-03-18  Dmitry Antipov  <dmantipov@yandex.ru>
 
-2011-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
+       * window.c (window_resize_check, window_resize_apply)
+       (window_from_coordinates, recombine_windows, set_window_buffer)
+       (make_parent_window, Fwindow_resize_apply, resize_frame_windows)
+       (Fsplit_window_internal, Fdelete_window_internal)
+       (freeze_window_starts): Use bool for booleans.
+       * window.h (window_frame_coordinates, resize_frame_windows)
+       (freeze_window_starts, set_window_buffer): Adjust prototypes.
 
-       * print.c (PRINT_CIRCLE_CANDIDATE_P): New macro.
-       (print_preprocess, print_object): New macro to fix last change.
+2013-03-17  Stefan Monnier  <monnier@iro.umontreal.ca>
 
-       * print.c (print_preprocess): Don't forget font objects.
+       * dispnew.c (bitch_at_user): Use `user-error'.
 
-2011-03-16  Juanma Barranquero  <lekktu@gmail.com>
+2013-03-17  Ken Brown  <kbrown@cornell.edu>
 
-       * emacs.c (USAGE3): Doc fixes.
+       * dispextern.h (RGB_PIXEL_COLOR): Move here from image.c.  Use it
+       as return type of image_background.  (Bug#13981)
+       * image.c (RGB_PIXEL_COLOR): Move to dispextern.h.
 
-2011-03-15  Andreas Schwab  <schwab@linux-m68k.org>
+2013-03-16  Jan Djärv  <jan.h.d@swipnet.se>
 
-       * coding.c (detect_coding_iso_2022): Reorganize code to clarify
-       structure.
+       * nsterm.m (updateFrameSize:): Change resize increments if needed.
+       (ns_select): Don't return with result uninitialized.
 
-2011-03-14  Juanma Barranquero  <lekktu@gmail.com>
+       * nsterm.h (EmacsSavePanel, EmacsOpenPanel): Add getFilename
+       and getDirectory.
 
-       * 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.
+       * nsfns.m (ns_filename_from_panel, ns_directory_from_panel):
+       New functions.
+       (Fns_read_file_name): ret is BOOL.  If ! dir_only_p, don't choose
+       directories.  If filename is nil, get directory name (Bug#13932).
+       Use getFilename and getDirectory.
+       (getFilename, getDirectory): New methods for EmacsSavePanel and
+       EmacsOpenPanel.
+       (ok:): In EmacsOpenPanel, if we can't choose directories, just return.
+
+2013-03-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * coding.c (decode_coding_gap): Fix typo caught by static checking.
+
+2013-03-15  Kenichi Handa  <handa@gnu.org>
+
+       * insdel.c (insert_from_gap): New arg text_at_gap_tail.
+       (adjust_after_replace): Make it back to static.  Delete the third
+       arg text_at_gap_tail.  Cancel the code for handling it.
+
+       * coding.h (struct coding_system): New member eol_seen.
+
+       * coding.c (detect_ascii): New function.
+       (detect_coding): Set coding->head_ascii and coding->eol_seen only
+       when the source bytes are actually scanned.  On detecting for
+       coding_category_utf_8_auto, call detect_ascii instead of scanning
+       source bytes directly.
+       (produce_chars): Call insert_from_gap with the new arg 0.
+       (encode_coding): Likewise.
+       (decode_coding_gap): Control ASCII optimization by the variable
+       disable_ascii_optimization instead of #ifndef .. #endif.
+       Deccode EOL format according to coding->eol_seen.
+       (syms_of_coding): Declare disable-ascii-optimization as a Lisp
+       variable.
 
-       * w32select.c: Don't #include "keyboard.h".
-       (run_protected): Add extern declaration for waiting_for_input.
+       * lisp.h (adjust_after_replace): Cancel externing it.
+       (insert_from_gap): Adjust prototype.
 
-       * 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.
+2013-03-15  Eli Zaretskii  <eliz@gnu.org>
 
-2011-03-14  Chong Yidong  <cyd@stupidchicken.com>
+       * w32term.c (w32fullscreen_hook): Swap FULLSCREEN_BOTH and
+       FULLSCREEN_MAXIMIZED.  (Bug#13935)
 
-       * buffer.c (Fmake_indirect_buffer): Fix incorrect assertions.
+2013-03-15  Dmitry Antipov  <dmantipov@yandex.ru>
 
-2011-03-13  Chong Yidong  <cyd@stupidchicken.com>
+       * region-cache.c (find_cache_boundary, move_cache_gap)
+       (insert_cache_boundary, delete_cache_boundaries, set_cache_region):
+       Simplify debugging check and convert to eassert.  Adjust comment.
+       (pp_cache): Put under ENABLE_CHECKING.
 
-       * 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.
+2013-03-14  Eli Zaretskii  <eliz@gnu.org>
 
-       * 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.
+       * w32term.c (w32_read_socket) <WM_WINDOWPOSCHANGED>: Remove old
+       and incorrect code.  Treat WM_WINDOWPOSCHANGED like WM_ACTIVATE
+       and WM_ACTIVATEAPP.
+       (w32fullscreen_hook): If the frame is visible, reset
+       f->want_fullscreen flag after changing the frame size.  If the
+       frame is not visible, set f->want_fullscreen to FULLSCREEN_WAIT.
+       (Bug#13953)
 
-2011-03-13  Eli Zaretskii  <eliz@gnu.org>
+2013-03-13  Daniel Colascione  <dancol@dancol.org>
 
-       * makefile.w32-in ($(BLD)/editfns.$(O)): Depend on
-       $(EMACS_ROOT)/lib/intprops.h.
+       * emacs.c (main): Call syms_of_cygw32 on CYGWIN non-NTGUI builds
+       too so that these builds can use Cygwin's file conversion
+       functions.  (We've been building and linking cygw32.o all along
+       and just not using it.)
 
-2011-03-13  Paul Eggert  <eggert@cs.ucla.edu>
+2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
 
-       Fix more problems found by GCC 4.5.2's static checks.
+       File synchronization fixes (Bug#13944).
+       * Makefile.in (LIB_FDATASYNC): New macro.
+       (LIBES): Use it.
+       * conf_post.h (BSD_SYSTEM, BSD_SYSTEM_AHB): Remove; no longer needed.
+       * fileio.c (Fwrite_region, write_region_inhibit_fsync):
+       Don't worry about HAVE_FSYNC, since a substitute fsync is
+       available if the system lacks one.
+       (Fwrite_regin): Retry fsync if interrupted.
 
-       * 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.
+2013-03-13  Eli Zaretskii  <eliz@gnu.org>
 
-       * xgselect.c (xg_select): Remove unused var.
+       * w32term.c (w32_read_socket): If the Emacs frame is being
+       activated, call w32fullscreen_hook, to make sure the new frame
+       dimensions are in effect.  (Bug#13937)
 
-       * 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.
+2013-03-13  Dmitry Antipov  <dmantipov@yandex.ru>
 
-       * 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.
+       * xdisp.c (init_iterator): Simplify because both character and byte
+       positions are either specified or -1.  Add eassert.  Adjust comment.
+       * window.c (Fscroll_other_window): Use SET_PT_BOTH because both
+       character and byte positions can be obtained from marker.
 
-2011-03-12  Paul Eggert  <eggert@cs.ucla.edu>
+2013-03-13  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>
-
-       * fringe.c (update_window_fringes): Remove unused variables.
-
-       * unexmacosx.c (copy_data_segment): Also copy __got section.
-       (Bug#8223)
-
-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 background 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>
-
-       * w32xfns.c (select_palette): Check success of RealizePalette against
-       GDI_ERROR, not zero.
-
-See ChangeLog.11 for earlier changes.
+       Static checking by Sun C 5.12.
+       * alloc.c (buffer_memory_full) [REL_ALLOC]:
+       * bytecode.c (exec_byte_code):
+       * dispnew.c (init_display):
+       * eval.c (error):
+       * fileio.c (Fsubstitute_in_file_name):
+       * keyboard.c (Fevent_convert_list):
+       * keymap.c (Fsingle_key_description):
+       * term.c (maybe_fatal, fatal):
+       * xfns.c (Fx_display_backing_store, Fx_display_visual_class):
+       * xsmfns.c (Fhandle_save_session):
+       Omit unreachable code.
+       * keymap.c (map_keymap_char_table_item): Cast void * to
+       a function pointer type; the C Standard requires this.
+
+       * sysdep.c: Remove a use of BSD_SYSTEM, which I'm trying to phase out.
+       Include <sys/param.h> unconditionally, as that works elsewhere and
+       is simpler here.  Include <sys/sysctl.h> if DARWIN_OS ||
+       __FreeBSD__, not if BSD_SYSTEM, since it's needed only for Darwin
+       and FreeBSD now.
+
+See ChangeLog.12 for earlier changes.
 
 ;; Local Variables:
 ;; coding: utf-8