Merge from emacs-24; up to 2012-12-11T09:51:12Z!dmantipov@yandex.ru
authorGlenn Morris <rgm@gnu.org>
Sat, 19 Jan 2013 20:38:13 +0000 (12:38 -0800)
committerGlenn Morris <rgm@gnu.org>
Sat, 19 Jan 2013 20:38:13 +0000 (12:38 -0800)
12 files changed:
1  2 
ChangeLog
Makefile.in
doc/emacs/ChangeLog
doc/emacs/trouble.texi
doc/lispref/ChangeLog
etc/NEWS
lisp/ChangeLog
lisp/dired.el
lisp/emacs-lisp/lisp-mode.el
lisp/progmodes/etags.el
src/ChangeLog
src/fns.c

diff --cc ChangeLog
+++ b/ChangeLog
@@@ -1,15 -1,9 +1,20 @@@
 -2013-01-16  Glenn Morris  <rgm@gnu.org>
++2013-01-19  Glenn Morris  <rgm@gnu.org>
+       * Makefile.in (install-arch-indep): Put back a chmod that was
+       removed 2012-05-19.  (Bug#13430)
 -2013-01-10  Glenn Morris  <rgm@gnu.org>
 +2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Merge from gnulib, incorporating:
 +      2013-01-16 largefile: port better to Mac OS X 10.5
 +      2013-01-15 stdint: fix build with Android's Bionic fox x86
 +
 +2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * configure.ac: Document that --enable-gcc-warnings emits errors.
 +      (Bug#13448)
 +
 +2013-01-13  Glenn Morris  <rgm@gnu.org>
  
        * make-dist: Add options for xz compression and no compression.
  
diff --cc Makefile.in
Simple merge
@@@ -1,8 -1,13 +1,16 @@@
 -2013-01-18  Glenn Morris  <rgm@gnu.org>
++2013-01-19  Glenn Morris  <rgm@gnu.org>
+       * custom.texi (Directory Variables): Fix paren typo.
 -2013-01-16  Glenn Morris  <rgm@gnu.org>
 -
+       * trouble.texi (Crashing): Not all addr2line have -p.  (Bug#13445)
+       * custom.texi (Custom Themes): Fix typo.
 +2013-01-07  Bastien Guerry  <bzg@gnu.org>
 +
 +      * help.texi (Apropos): Document `apropos-user-option' and update
 +      the doc for `apropos-variable'.
 +
  2013-01-05  Glenn Morris  <rgm@gnu.org>
  
        * text.texi (HTML Mode): Remove deleted nxml C-RET binding.
@@@ -325,24 -320,23 +325,26 @@@ backtrace with source-code line numbers
  
  @example
  sed -n 's/.*\[\(.*\)]$/\1/p' @var{backtrace} |
-   addr2line -Cfip -e @var{bindir}/@var{emacs-binary}
 -  addr2line -C -f -i -e @var{bindir}/emacs
++  addr2line -C -f -i -e @var{bindir}/@var{emacs-binary}
  @end example
  
  @noindent
  Here, @var{backtrace} is the name of a text file containing a copy of
 -the backtrace, and @var{bindir} is the name of the directory that
 -contains the Emacs executable.@footnote{You may wish to add the
 -@option{-p} option, if your version of @command{addr2line} supports it.}
 +the backtrace, @var{bindir} is the name of the directory that
 +contains the Emacs executable, and @var{emacs-binary} is the name of
 +the Emacs executable file, normally @file{emacs} on GNU and Unix
- systems and @file{emacs.exe} on MS-Windows and MS-DOS.
++systems and @file{emacs.exe} on MS-Windows and MS-DOS.@footnote{You
++may wish to add the @option{-p} option, if your version of
++@command{addr2line} supports it.}
  
  @cindex core dump
 -  Optionally, Emacs can generate a @dfn{core dump} when it crashes.  A
 -core dump is a file containing voluminous data about the state of the
 -program prior to the crash, usually examined by loading it into a
 -debugger such as GDB@.  On many platforms, core dumps are disabled by
 -default, and you must explicitly enable them by running the shell
 -command @samp{ulimit -c unlimited} (e.g., in your shell startup
 -script).
 +  Optionally, Emacs can generate a @dfn{core dump} when it crashes, on
 +systems that support core files.  A core dump is a file containing
 +voluminous data about the state of the program prior to the crash,
 +usually examined by loading it into a debugger such as GDB@.  On many
 +platforms, core dumps are disabled by default, and you must explicitly
 +enable them by running the shell command @samp{ulimit -c unlimited}
 +(e.g., in your shell startup script).
  
  @node After a Crash
  @subsection Recovery After a Crash
@@@ -1,9 -1,8 +1,14 @@@
 -2013-01-16  Glenn Morris  <rgm@gnu.org>
++2013-01-19  Glenn Morris  <rgm@gnu.org>
+       * macros.texi (Indenting Macros): Fix order of an indent
+       symbol's arguments.  (Bug#13450)
 +2013-01-19  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Allow floating-point file offsets.
 +      * files.texi (Reading from Files, Writing to Files):
 +      Say that file offsets can be numbers, not just integers.
 +
  2013-01-09  Glenn Morris  <rgm@gnu.org>
  
        * commands.texi (Interactive Codes):
diff --cc etc/NEWS
Simple merge
diff --cc lisp/ChangeLog
 -2013-01-18  Leo Liu  <sdl.web@gmail.com>
++2013-01-19  Leo Liu  <sdl.web@gmail.com>
+       * dired.el (dired-get-marked-files): Prune erroneous values due to
+       last change.  (Bug#13152)
 -2013-01-17  Glenn Morris  <rgm@gnu.org>
++2013-01-19  Glenn Morris  <rgm@gnu.org>
+       * progmodes/etags.el (tags-table-check-computed-list):
+       Preserve point in tags buffer.  (Bug#13412)
 -2013-01-16  Glenn Morris  <rgm@gnu.org>
 -
+       * emacs-lisp/lisp-mode.el (lisp-indent-function): Doc fix.
 +2013-01-19  Christian Wittern  <cwittern@gmail.com>  (tiny change)
 +          Chong Yidong  <cyd@gnu.org>
 +
 +      * image-mode.el (image-next-file, image-previous-file): New
 +      commands (Bug#8453).
 +      (image-mode-map): Bind them to n and p.
 +      (image-mode--images-in-directory): New helper function.
 +
 +2013-01-19  Chong Yidong  <cyd@gnu.org>
 +
 +      * image-mode.el (image-mode-fit-frame): Add a frame argument.
 +      Suggested by Drew Adams (Bug#7730).  Handle window decorations;
 +      save and restore the old window configuration.
 +
 +2013-01-18  Leo Liu  <sdl.web@gmail.com>
 +
 +      * progmodes/js.el: Tweak autoload cookie for alias.
 +
 +2013-01-17  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * autorevert.el (auto-revert-notify-watch-descriptor): Make it
 +      buffer local, again.  This was lost with the fix on 2013-01-12.
 +
 +2013-01-17  Jürgen Hötzel  <juergen@archlinux.org>
 +
 +      * eshell/esh-util.el (eshell-path-env): Make it buffer local, in
 +      order to support several eshell buffers in parallel.
 +
 +2013-01-17  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * autorevert.el (auto-revert-use-notify): In the :set function, do
 +      not modify `kill-buffer-hook'.
 +      (auto-revert-notify-rm-watch): Remove
 +      `auto-revert-notify-rm-watch' from `kill-buffer-hook'.
 +      (auto-revert-notify-add-watch): Do not call
 +      `auto-revert-notify-rm-watch', but add it to a buffer local
 +      `kill-buffer-hook'.
 +
 +2013-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/trace.el (trace--read-args): Use a closure and an honest
 +      call to `eval' rather than a backquoted lambda.
 +
 +2013-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/nadvice.el (advice--tweak): Make it possible for `tweak'
 +      to return an explicit nil.
 +      (advice--remove-function): Change accordingly.
 +
 +      * emacs-lisp/advice.el (ad-preactivate-advice): Adjust the cleanup to
 +      the use of nadvice.el.
 +
 +      * progmodes/which-func.el (which-function): Silence imenu errors
 +      (bug#13433).
 +
 +2013-01-15  Michael R. Mauger  <mmaug@yahoo.com>
 +
 +      * progmodes/sql.el: (sql-imenu-generic-expression):
 +      (sql-mode-font-lock-object-name): Match schema qualified names.
 +      (sql-connect): Use string keys.
 +      (sql-product-interactive): Wait for interpreter prompt.
 +      (sql-comint-oracle): Set process coding based on NLS_LANG.
 +
 +2013-01-15  Michael R. Mauger  <mmaug@yahoo.com>
 +
 +      * progmodes/sql.el (sql-output-to-send): Remove, unused.
 +      (sql-interactive-remove-continuation-prompt):
 +      (sql-send-magic-terminator, sql-interactive-mode): Remove references.
 +
 +2013-01-14  Leo Liu  <sdl.web@gmail.com>
 +
 +      * calendar/calendar.el (calendar-redraw): Sync window-point and point.
 +      (Bug#13420)
 +
 +2013-01-14  Glenn Morris  <rgm@gnu.org>
 +
 +      * progmodes/compile.el (compilation-error-regexp-alist-alist):
 +      Fix interpretation of gnu line.col1-col2 format.  (Bug#13335)
 +
 +2013-01-13  Fabián Ezequiel Gallina  <fgallina@cuca>
 +
 +      * progmodes/python.el (python-nav-end-of-statement):
 +      Fix cornercase when handling multiline strings.
 +
 +2013-01-13  Richard Stallman  <rms@gnu.org>
 +
 +      * mail/sendmail.el (mail-position-on-field): Add doc string.
 +
        * mail/rmailmm.el (rmail-insert-mime-forwarded-message):
 -      Revert 2012-12-29 change.  Ref:
 -      <http://lists.gnu.org/archive/html/emacs-devel/2013-01/msg00360.html>
 +      Get current message boundaries and pass them to
 +      message-forward-make-body-mime.  Minor style changes.
 +
 +2013-01-13  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * cus-start.el (all): Avoid warnings about
 +      scroll-bar-adjust-thumb-portion on platforms where it is not defined.
 +
 +2013-01-11  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * cus-start.el (all): Add scroll-bar-adjust-thumb-portion.
 +
 +2013-01-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * jit-lock.el (jit-lock-debug-mode): New minor mode.
 +      (jit-lock--debug-fontifying): New var.
 +      (jit-lock--debug-fontify): New function.
 +      * subr.el (condition-case-unless-debug): Don't prevent catching the
 +      error, just let the debbugger run.
 +      * emacs-lisp/timer.el (timer-event-handler): Don't prevent debugging
 +      timer code and don't drop errors silently.
 +
 +2013-01-12  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * autorevert.el (auto-revert-notify-watch-descriptor): Give it
 +      `permanent-local' property.
 +      (auto-revert-notify-handler): Use `file-equal-p'.
 +
 +2013-01-12  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * autorevert.el (auto-revert-notify-handler): Fix filtering of
 +      file notification by ACTION. For filtering by file name, compare
 +      only the non-directory part of the file name.
  
 -2013-01-10  Fabián Ezequiel Gallina  <fgallina@cuca>
 +2013-01-12  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * progmodes/python.el (python-nav-end-of-statement): Fix
 -      cornercase when handling multiline strings.
 +      * autorevert.el: Use cl-lib instead of cl.
 +
 +      * vc/vc-bzr.el (vc-bzr--sanitize-header): New function (bug#13307).
 +      (vc-bzr-checkin): Use it.
 +      * vc/log-edit.el (log-edit-extract-headers): Don't presume FUNCTION
 +      will preserve match-data.
 +
 +2013-01-11  Felix H. Dahlke  <fhd@ubercode.de>
 +
 +      * progmodes/js.el: Fix multiline declarations's indentation (bug#8576).
 +      (js--declaration-keyword-re): New var.
 +      (js--multi-line-declaration-indentation): New function.
 +      (js--proper-indentation): Use it.
 +
 +2013-01-11  Aaron S. Hawley  <Aaron.Hawley@vtinfo.com>
 +
 +      * calc/calc.el (calc-highlight-selections-with-faces)
 +       (calc-dispatch):
 +      * comint.el (comint-history-isearch-message):
 +      * emacs-lisp/edebug.el (edebug-read, edebug-eval-defun):
 +      * ffap.el (ffap-string-at-point-region, ffap-next)
 +      (ffap-string-at-point, ffap-string-around)
 +      (ffap-copy-string-as-kill, ffap-highlight-overlay)
 +      (ffap-literally):
 +      * font-lock.el (font-lock-keywords-alist)
 +      (font-lock-removed-keywords-alist):
 +      * help-mode.el (help-xref-symbol-regexp):
 +      * info.el (Info-find-emacs-command-nodes):
 +      * international/mule.el (add-to-coding-system-list):
 +      * isearch.el (isearch-message-function, isearch-fail-pos):
 +      * misearch.el (multi-isearch-next-buffer-function):
 +      * newcomment.el (comment-box):
 +      * printing.el (pr-txt-printer-alist, pr-ps-printer-alist)
 +      (pr-setting-database):
 +      * progmodes/cc-fonts.el (c-font-lock-keywords-3)
 +      (c++-font-lock-keywords-3, objc-font-lock-keywords-3)
 +      (java-font-lock-keywords-3, idl-font-lock-keywords-3)
 +      (pike-font-lock-keywords-3):
 +      * progmodes/compile.el (compile):
 +      * progmodes/etags.el (tags-table-files)
 +      (tags-table-files-function, tags-included-tables-function):
 +      * progmodes/gdb-mi.el (gdb, gdb-setup-windows)
 +      (gdb-restore-windows):
 +      * ps-print.el (ps-even-or-odd-pages, ps-spool-buffer-with-faces)
 +      (ps-n-up-filling-database):
 +      * server.el (server-buffer, server-log):
 +      * simple.el (newline, delete-backward-char, delete-forward-char)
 +      (minibuffer-history-isearch-message, kill-line, track-eol)
 +      (temporary-goal-column):
 +      * textmodes/flyspell.el (flyspell-mark-duplications-flag)
 +      (flyspell-default-deplacement-commands):
 +      * textmodes/ispell.el (ispell-accept-output):
 +      * textmodes/sgml-mode.el (html-tag-help):
 +      * vc/compare-w.el (compare-ignore-whitespace)
 +      (compare-ignore-case, compare-windows-dehighlight):
 +      * vc/diff.el (diff):
 +      * whitespace.el (whitespace-point)
 +      (whitespace-font-lock-refontify, whitespace-bob-marker)
 +      (whitespace-eob-marker): Fix ambiguous doc string cross-reference(s).
 +
 +2013-01-11  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * autorevert.el (top): Require 'cl in order to pacify byte compiler.
 +      (auto-revert-notify-rm-watch): Ignore errors.
 +      (auto-revert-notify-add-watch): Ignore errors.  Use '(modify) for
 +      inotify, and '(size last-write-time) for w32notify.
 +      Set buffer-local `auto-revert-use-notify' to nil when adding a file
 +      watch fails - this is a fallback to the file modification check.
 +      (auto-revert-notify-event-p, auto-revert-notify-event-descriptor)
 +      (auto-revert-notify-event-action)
 +      (auto-revert-notify-event-file-name): New defuns.
 +      (auto-revert-notify-handler): Use them.  Implement first
 +      plausibility checks.
 +      (auto-revert-handler): Handle also `auto-revert-tail-mode'.
 +
 +2013-01-11  Julien Danjou  <julien@danjou.info>
 +
 +      * color.el (color-rgb-to-hsv): Fix conversion computing in case min and
 +      max are almost equal. Also return the correct value for V which is
 +      already between 0 and 1.
 +
 +2013-01-11  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * emacs-lisp/ert.el (ert-run-test): Use point-max-marker.
 +
 +2013-01-11  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * autorevert.el (auto-revert-notify-rm-watch)
 +      (auto-revert-notify-add-watch): Fix typos in w32notify function
 +      names.
 +
 +2013-01-10  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * autorevert.el (auto-revert-notify-enabled): Move up.
 +      (auto-revert-use-notify): New defcustom.
 +      (auto-revert-mode, global-auto-revert-mode)
 +      (auto-revert-notify-add-watch, auto-revert-handler)
 +      (auto-revert-buffers): Use `auto-revert-use-notify' instead of
 +      `auto-revert-notify-enabled'.
 +
 +2013-01-10  Elias Pipping  <pipping@exherbo.org>
 +
 +      * files.el (auto-mode-alist): Use doc-view for djvu files (bug#13164).
 +      * doc-view.el (doc-view-document->bitmap):
 +      Use doc-view-single-page-converter-function instead of
 +      single-page-converter arg; adjust callers.
 +
 +2013-01-10  Feng Li  <fengli@gmail.com>  (tiny change)
 +
 +      * progmodes/which-func.el (which-function): Understand Semantic's use
 +      of overlays in imenu--index-alist.
 +
 +2013-01-10  Wolfgang Jenkner  <wjenkner@inode.at>
 +
 +      * man.el: Handle different "man -k" behaviors (bug#13160).  Use utf-8.
 +      (Man-man-k-use-anchor): New var.
 +      (Man-parse-man-k): New function.
 +      (Man-completion-table): Use it.
 +      (man): Flush the completion cache between uses.
 +
 +2013-01-10  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * autorevert.el: Add file watch support.
 +      (auto-revert-notify-enabled): New defconst.
 +      (auto-revert-notify-watch-descriptor-hash-list)
 +      (auto-revert-notify-watch-descriptor)
 +      (auto-revert-notify-modified-p): New defvars.
 +      (auto-revert-notify-rm-watch, auto-revert-notify-add-watch)
 +      (auto-revert-notify-handler): New defuns.
 +      (auto-revert-mode, global-auto-revert-mode): Remove file watches
 +      when mode is disabled.
 +      (auto-revert-handler): Check for `auto-revert-notify-modified-p'.
 +      (auto-revert-buffers): Add file watches for active buffers.
 +
 +2013-01-10  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * cus-start.el (toplevel): Only allow float values for
 +      scroll-up-aggressively and scroll-down-aggressively.
 +      Allow any number for line-spacing.
 +
 +2013-01-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * doc-view.el (doc-view-pdfdraw-program): Allow "pdfdraw" name.
 +      (doc-view-pdf->png-converter-function): Use mupdf if available.
 +      (doc-view-djvu->png-converter-function)
 +      (doc-view-ps->png-converter-function): Remove.
 +      (doc-view--image-file-pattern): Replace doc-view--image-file-extension.
 +      (doc-view-goto-page, doc-view-convert-current-doc, doc-view-display)
 +      (doc-view-already-converted-p): Adjust accordingly.
 +      (doc-view-mode-p): Simplify.
 +      (doc-view-enlarge): Use setq-local.
 +      (doc-view-pdf->png-converter-ghostscript)
 +      (doc-view-djvu->png-converter-ddjvu)
 +      (doc-view-pdf->png-converter-mupdf): Rework to call
 +      doc-view-start-process directly.
 +      (doc-view-pdf/ps->png): Simplify accordingly.
 +      (doc-view-pdf->png-1, doc-view-djvu->png-1): Remove.
 +      (doc-view-document->bitmap): Rename from doc-view-document->png.
 +      (doc-view-convert-current-doc): Merge pdf and djvu cases.
 +      (doc-view-set-slice-from-bounding-box): Fix completion table.
 +      (doc-view-mode): Use add-hook for after-revert-hook.
  
  2013-01-10  Glenn Morris  <rgm@gnu.org>
  
diff --cc lisp/dired.el
Simple merge
Simple merge
Simple merge
diff --cc src/ChangeLog
 -2013-01-17  Glenn Morris  <rgm@gnu.org>
++2013-01-19  Glenn Morris  <rgm@gnu.org>
+       * fns.c (Frandom): Doc fix.
 +2013-01-19  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * editfns.c (get_pos_property): Use SAFE_ALLOCA_LISP, to avoid
 +      segfault when there are lots of overlays.
 +
 +      * buffer.c (sort_overlays): Use SAFE_NALLOCA, to avoid segfault
 +      when there are lots of overlays.  See
 +      http://lists.gnu.org/archive/html/emacs-devel/2013-01/msg00421.html
 +      for the details and a way to reproduce.
 +
 +2013-01-19  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * fileio.c: Use O_APPEND to append.
 +      This corresponds better to the natural interpretation of "append",
 +      and avoids the need to open the output file twice, or to invoke
 +      lseek when APPEND is neither nil nor a number.
 +      This relies on POSIX 1003.1-1988 or later, which is OK nowadays.
 +      (Fwrite_region): Simplify.  Use O_APPEND instead of opening the
 +      file possibly twice, and lseeking to its end; this avoids the
 +      need to lseek on non-regular files.  Do not use O_EXCL and O_TRUNC
 +      at the same time: the combination is never needed and apparently
 +      it doesn't work with DOS_NT.
 +
 +      Fix size bug on DOS_NT introduced by CIFS workaround (Bug#13149).
 +      * fileio.c (Fwrite_region): Use O_BINARY in checking code, too.
 +
 +      Allow floating-point file offsets.
 +      Problem reported by Vitalie Spinu in
 +      <http://lists.gnu.org/archive/html/emacs-devel/2013-01/msg00411.html>.
 +      * fileio.c (emacs_lseek): Remove.
 +      (file_offset): New function.
 +      (Finsert_file_contents, Fwrite_region): Use it.
 +
 +2013-01-19  Chong Yidong  <cyd@gnu.org>
 +
 +      * emacs.c (Fkill_emacs): Set waiting_for_input to 0 to avoid
 +      aborting on Fsignal (Bug#13289).
 +
 +2013-01-19  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32.c (acl_set_file): Treat ERROR_ACCESS_DENIED from
 +      set_file_security as failure due to insufficient privileges.
 +      Reported by Fabrice Popineau <fabrice.popineau@supelec.fr>.
 +      (fstat): Return owner and group like 'stat' and 'lstat' do.
 +
 +2013-01-19  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Work around bug in CIFS and vboxsf file systems (Bug#13149).
 +      The bug was observed on Ubuntu operating inside a virtual machine,
 +      editing files mounted via CIFS or vboxsf from the MS Windows 7 host.
 +      The workaround introduces a race condition on non-buggy hosts,
 +      but it's an unlikely race and anyway there's a nearly identical
 +      nearby race that can't be fixed.
 +      * fileio.c (valid_timestamp_file_system, timestamp_file_system):
 +      New static vars.
 +      (Fwrite_region): Test for file system time stamp bug.
 +      (init_fileio): New function.
 +      * lisp.h (init_fileio): Declare it.
 +      * emacs.c (main): Call it.
 +
 +      * fileio.c (Finsert_file_contents): Simplify new diagnostic
 +      and make it more consistent with other stat-failure diagnostics.
 +
 +2013-01-18  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Fix crash when inserting data from non-regular files.  See
 +      http://lists.gnu.org/archive/html/emacs-devel/2013-01/msg00406.html
 +      for the error description produced by valgrind.
 +      * fileio.c (read_non_regular): Rename to read_contents.
 +      Free Lisp_Save_Value object used to pass parameters.
 +      (read_non_regular_quit): Rename to read_contents_quit.
 +      (Finsert_file_contents): Redesign internal file reading loop to adjust
 +      gap and end positions after each read and so help make_gap to work
 +      properly.  Do not signal an I/O error too early and so do not leave
 +      not yet decoded characters in a buffer, which was the reason of
 +      redisplay crash.  Use list2 to build return value.  Adjust comments.
 +
 +2013-01-17  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Close a race when statting and reading files (Bug#13149).
 +      * fileio.c (Finsert_file_contents): Use open+fstat, not stat+open.
 +      This avoids a race if the file is renamed between stat and open.
 +      This race is not the problem originally noted in Bug#13149;
 +      see <http://bugs.gnu.org/13149#73> and later messages in the thread.
 +
 +2013-01-17  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * lisp.h (toplevel): Add comment about using Lisp_Save_Value
 +      objects, related functions and macros.
 +      (make_save_value): Adjust prototype.
 +      (make_save_pointer): New prototype.
 +      (SAFE_NALLOCA): Fix indentation.  Use make_save_pointer.
 +      (SAFE_ALLOCA_LISP): Adjust make_save_value usage.
 +      * alloc.c (format_save_value): Rename to make_save_value.
 +      (make_save_pointer): New function.
 +      (record_xmalloc): Use make_save_pointer.
 +      * dired.c, editfns.c, fileio.c, font.c, gtkutil.c, lread.c:
 +      * nsmenu.m, nsterm.m, xfns.c, xmenu.c, xselect.c, keymap.c:
 +      Change users of make_save_value to make_save_pointer.
 +      Likewise for format_save_value and make_save_value.
 +
 +2013-01-17  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * buffer.h (NARROWED, BUF_NARROWED): Drop unused macros.
 +      (DECODE_POSITION, BUFFER_CHECK_INDIRECTION): Fix indentation.
 +      * buffer.c (toplevel, syms_of_buffer): Drop old commented-out
 +      debugging stubs.
 +
 +2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * alloc.c (free_save_value): Now static.
 +
 +2013-01-15  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * keymap.c (map_keymap_internal): Use format_save_value.
 +      (map_keymap_char_table_item): Adjust accordingly.
 +      * fileio.c (non_regular_fd, non_regular_inserted)
 +      (non_regular_nbytes): Remove.
 +      (Finsert_file_contents): Convert trytry to ptrdiff_t.  Use
 +      format_save_value to pass parameters to read_non_regular.
 +      (read_non_regular): Use XSAVE_ macros to extract parameters.
 +      Adjust comment.
 +      * xmenu.c (xmenu_show) [!USE_X_TOOLKIT && !USE_GTK]: Use
 +      format_save_value.
 +      (pop_down_menu) [!USE_X_TOOLKIT && !USE_GTK]: Adjust user.
 +
 +2013-01-15  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * lisp.h (XSAVE_POINTER, XSAVE_INTEGER): Change to allow
 +      extraction from any Lisp_Save_Value slot.  Add type checking.
 +      * alloc.c, dired.c, editfns.c, fileio.c, ftfont.c, gtkutil.c:
 +      * keymap.c, lread.c, nsterm.h, nsmenu.c, xfns.c, xmenu.c:
 +      * xselect.c: All users changed.
 +
 +2013-01-15  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Some convenient bits to deal with Lisp_Save_Values.
 +      * lisp.h (XSAVE_OBJECT): New macro to extract saved objects.
 +      (allocate_misc): Remove prototype.
 +      (format_save_value): New prototype.
 +      * alloc.c (allocate_misc): Revert back to static.
 +      (format_save_value): New function to build Lisp_Save_Value
 +      object with the specified internal structure.
 +      (make_save_value): Reimplement using format_save_value.
 +      * editfns.c (save_excursion_save): Use format_save_value.
 +      (save_excursion_restore): Use XSAVE_OBJECT.
 +
 +2013-01-14  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Avoid needless casts with XSAVE_POINTER.
 +      * alloc.c (mark_object) [GC_MARK_STACK]:
 +      * dired.c (directory_files_internal_unwind):
 +      * fileio.c (do_auto_save_unwind):
 +      * gtkutil.c (pop_down_dialog):
 +      * keymap.c (map_keymap_char_table_item):
 +      * lread.c (load_unwind):
 +      * nsmenu.m (pop_down_menu):
 +      * print.c (print_object) [GC_MARK_STACK]:
 +      * xfns.c (clean_up_file_dialog):
 +      * xmenu.c (cleanup_widget_value_tree):
 +      Omit casts between XSAVE_POINTER and a pointer type.
 +
 +2013-01-14  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.
 +
 +2013-01-14  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Make Lisp_Save_Value more versatile storage for up to four objects.
 +      * lisp.h (toplevel): Enumeration to describe types of saved objects.
 +      (struct Lisp_Save_Value): New layout.  Adjust comments.
 +      (XSAVE_POINTER): New macro.
 +      (XSAVE_INTEGER): Likewise.
 +      (allocate_misc): Add prototype.
 +      (free_misc): Likewise.
 +      * alloc.c (allocate_misc): Now global.
 +      (free_misc): Likewise.  Adjust comment.
 +      (make_save_value): Use new Lisp_Save_Value layout.  Adjust comment.
 +      (free_save_value): Likewise.
 +      (mark_object): Likewise.
 +      * editfns.c (save_excursion_save): Pack everything within
 +      Lisp_Save_Value and so avoid xmalloc.
 +      (save_excursion_restore): Adjust to match new layout.  Use free_misc
 +      because we do not allocate extra memory any more.  Add eassert.
 +      * print.c (print_object): New code to print Lisp_Save_Value.  Do not
 +      rely on valid_lisp_object_p if !GC_MARK_STACK.  Adjust comments.
 +      * dired.c, fileio.c, font.c, ftfont.c, gtkutil.c, keymap.c,
 +      * lread.c, nsmenu.m, nsterm.h, xfns.c, xmenu.c, xselect.c:
 +      Use XSAVE_POINTER and XSAVE_INTEGER where appropriate.
 +
  2013-01-13  Jan Djärv  <jan.h.d@swipnet.se>
  
        * nsfont.m (LCD_SMOOTHING_MARGIN): New define.
diff --cc src/fns.c
Simple merge