]> code.delx.au - gnu-emacs/commitdiff
Merge from emacs-24; up to 2014-06-02T11:35:40Z!michael.albinus@gmx.de
authorGlenn Morris <rgm@gnu.org>
Sun, 8 Jun 2014 23:41:43 +0000 (16:41 -0700)
committerGlenn Morris <rgm@gnu.org>
Sun, 8 Jun 2014 23:41:43 +0000 (16:41 -0700)
22 files changed:
1  2 
doc/emacs/ChangeLog
doc/emacs/help.texi
doc/emacs/misc.texi
doc/lispref/ChangeLog
doc/lispref/files.texi
doc/lispref/os.texi
doc/lispref/sequences.texi
doc/misc/ChangeLog
doc/misc/efaq.texi
doc/misc/gnus-faq.texi
doc/misc/gnus.texi
doc/misc/message.texi
doc/misc/vip.texi
etc/ChangeLog
etc/NEWS
lisp/ChangeLog
lisp/bookmark.el
lisp/files.el
lisp/startup.el
src/ChangeLog
src/data.c
src/fileio.c

diff --combined doc/emacs/ChangeLog
index daccb5a26825d09b23db58a466c5e25ce3554879,7c85d3a617ee89a78d96d3618c00f2d3ca2aa9a5..5d85687bd0051f2aa1c815785aefc9b0d8fa252f
@@@ -1,50 -1,77 +1,72 @@@
 -2014-06-07  Glenn Morris  <rgm@gnu.org>
+ 2014-06-08  Glenn Morris  <rgm@gnu.org>
+       * entering.texi (Entering Emacs): Small fix re initial-buffer-choice.
+       * misc.texi (emacsclient Options): Copyedit.
+       * buffers.texi (Uniquify): Copyedits.
+       * files.texi (Visiting): Update for uniquify changes.
+       * dired.texi (Marks vs Flags):
+       * rmail.texi (Rmail Scrolling): Markup fixes re SPC.
+       * help.texi (Help, Misc Help): Copyedits.
+       * screen.texi (Menu Bar): Copyedits.
+       * msdog.texi (Windows Keyboard): F10 menus are now a general feature.
+       * frames.texi (Frame Commands): Copyedits re M-F10, F11.
+       * cmdargs.texi (Window Size X): Copyedits.
+       * ack.texi (Acknowledgments):
+       * emacs.texi (Acknowledgments): Updates.
 +2014-06-08  Glenn Morris  <rgm@gnu.org>
 +
 +      * ack.texi (Acknowledgments):
 +      * emacs.texi (Acknowledgments): Updates.
  
        * programs.texi (Prettifying Symbols): Remove node.
        (Misc for Programs): Mention more briefly here.
        * emacs.texi (Top): Update menu.
  
 -2014-06-05  Glenn Morris  <rgm@gnu.org>
 -
        * package.texi (Package Menu, Package Installation):
        Mention signed packages.
 -
 -2014-06-03  Glenn Morris  <rgm@gnu.org>
 -
 -      * package.texi (Package Installation): Mention package-pinned-packages.
 +      (Package Installation): Mention package-pinned-packages.
  
  2014-06-02  Glenn Morris  <rgm@gnu.org>
  
 +      * ack.texi (Acknowledgments): Remove some obsolete items.
        * misc.texi [iftex]: Update chapter summary.
 -      (Emulation): Remove ludicrously outdated claim.
 -
 -2014-05-29  Glenn Morris  <rgm@gnu.org>
 +      (Emulation): Remove section.
  
        * macos.texi (Mac / GNUstep Customization): Mention ns custom group.
        (Customization options specific to Mac OS / GNUstep): Remove section.
  
 -2014-05-28  Glenn Morris  <rgm@gnu.org>
 -
 -      * macos.texi (Mac / GNUstep Customization): Mention some new features.
 -
 -2014-05-27  Glenn Morris  <rgm@gnu.org>
 -
        * abbrevs.texi (Expanding Abbrevs): Update re abbrev-expand-function.
  
 -2014-05-21  Eli Zaretskii  <eliz@gnu.org>
 +2014-05-26  Eli Zaretskii  <eliz@gnu.org>
  
        * frames.texi (Fonts): Clarify which frames are affected by
        setting font from the menu and in default-frame-alist.
        (Bug#17532)
  
 -2014-05-12  Eli Zaretskii  <eliz@gnu.org>
 +2014-05-14  Eli Zaretskii  <eliz@gnu.org>
  
 -      * mule.texi (Language Environments): Remove unused @anchor.
 -      (Bug#17479)
 +      * mule.texi (Language Environments): Remove unused @anchor.  (Bug#17479)
  
 -2014-05-02  Eli Zaretskii  <eliz@gnu.org>
 +2014-05-04  Eli Zaretskii  <eliz@gnu.org>
  
        * trouble.texi (Lossage, DEL Does Not Delete, Stuck Recursive)
        (Screen Garbled, Text Garbled, After a Crash, Emergency Escape)
        (Bug Criteria, Understanding Bug Reporting, Checklist, Service):
        Improve indexing.
  
 -2014-04-29  Eli Zaretskii  <eliz@gnu.org>
 +2014-05-04  Leo Liu  <sdl.web@gmail.com>
 +
 +      * cal-xtra.texi (Non-Gregorian Diary): Document new features for
 +      Chinese calendar and diary.
 +
 +2014-04-30  Eli Zaretskii  <eliz@gnu.org>
  
        * trouble.texi (Quitting, DEL Does Not Delete, Emergency Escape)
        (Bug Criteria): Fix usage of @kbd and @key.  (Bug#17362)
  
        * anti.texi (Antinews): Fix usage of @kbd and @key.
  
 -2014-04-26  Eli Zaretskii  <eliz@gnu.org>
 -
        * sending.texi (Mail Signature): Document signature variables used
        by Message mode.  (Bug#17308)
  
 -2014-04-21  Eli Zaretskii  <eliz@gnu.org>
 +2014-04-22  Eli Zaretskii  <eliz@gnu.org>
  
        * buffers.texi (Uniquify): Clarify the default uniquification.
  
        EMACSLOADPATH.  Index all the environment variables.
        (Misc Variables): Index all the environment variables.
  
 -2014-04-13  Eli Zaretskii  <eliz@gnu.org>
 +2014-04-17  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * Makefile.in (infoclean): Be consistent about reporting failures.
 +      Do not fail merely because the info directory does not exist,
 +      but do fail if it exists and can't be cleaned.
 +
 +2014-04-16  Eli Zaretskii  <eliz@gnu.org>
  
        * display.texi (Cursor Display): Explain better how to customize
        'blink-cursor-blinks'.
  
 -2014-04-05  Glenn Morris  <rgm@gnu.org>
 +2014-04-07  Glenn Morris  <rgm@gnu.org>
  
        * trouble.texi (Checklist): Dribble files may contain passwords.
  
 -2014-04-04  Glenn Morris  <rgm@gnu.org>
 -
        * files.texi (Backup Names):
        * arevert-xtra.texi (Supporting additional buffers):
        Update for default values of some -function vars no longer being nil.
        (Supporting additional buffers):
        Update for buffer-stale-function also applying to file-buffers.
  
 +2014-03-28  Glenn Morris  <rgm@gnu.org>
 +
 +      * custom.texi (Terminal Init): Mention term-file-aliases.
 +
 +2014-03-26  Glenn Morris  <rgm@gnu.org>
 +
 +      * ack.texi (Acknowledgments): Remove reference to obsolete file.
 +
 +2014-03-22  Glenn Morris  <rgm@gnu.org>
 +
 +      * help.texi (Help Files): Update C-h g description.
 +
  2014-03-16  Dmitry Gutov  <dgutov@yandex.ru>
  
        * programs.texi (Matching): Update the missed spot.  (Bug#17008)
diff --combined doc/emacs/help.texi
index e6cf46acbe59f1b5150a37bd5a5cefa66e7e667c,db5448692f9dac4374c073959c558e316c29724e..f47600d97ec001ec52d295f23f7c84b8fab9aba0
@@@ -55,12 -55,12 +55,12 @@@ This displays the available Emacs packa
  @xref{Package Keywords}.
  @end table
  
-   @kbd{C-h}, @key{F1}, or @kbd{?} means ``help'' in various other
- contexts as well.  For instance, you can type them after a prefix key
- to view a list of the keys that can follow the prefix key.  (A few
- prefix keys don't support @kbd{C-h} or @kbd{?} in this way, because
- they define other meanings for it, but they all support @key{F1} for
help.)
+   @kbd{C-h} or @key{F1} mean ``help'' in various other contexts as
+ well.  For instance, you can type them after a prefix key to view a
+ list of the keys that can follow the prefix key.  (You can also use
+ @kbd{?} in this context.  A few prefix keys don't support @kbd{C-h}
+ or @kbd{?} in this way, because they define other meanings for those
inputs, but they all support @key{F1}.)
  
  @menu
  * Help Summary::        Brief list of all Help commands.
@@@ -556,10 -556,10 +556,10 @@@ Emacs Lisp Reference Manual})
  typing @kbd{C-h}, @kbd{?}, or @key{F1}
  (@code{describe-prefix-bindings}) after the prefix key.  (There are a
  few prefix keys for which not all of these keys work---those that
- provide their own bindings for one of them.  One of these prefix keys
- is @key{ESC} in combination with @kbd{C-h}, because @kbd{@key{ESC} C-h} is
- actually @kbd{C-M-h}, which marks a defun.  However, @kbd{@key{ESC} @key{F1}}
and @kbd{@key{ESC} ?} work fine.)
+ provide their own bindings for that key.  One of these prefix keys
+ is @key{ESC}, because @kbd{@key{ESC} C-h} is actually @kbd{C-M-h},
+ which marks a defun.  However, @kbd{@key{ESC} @key{F1}} and
+ @kbd{@key{ESC} ?} work fine.)
  
  @node Help Files
  @section Help Files
@@@ -605,8 -605,7 +605,8 @@@ Display information about where to get 
  @item C-h C-f
  Display the Emacs frequently-answered-questions list (@code{view-emacs-FAQ}).
  @item C-h g
 -Display information about the GNU Project (@code{describe-gnu-project}).
 +Visit a @uref{http://www.gnu.org} page with information about the GNU
 +Project (@code{describe-gnu-project}).
  @item C-h C-m
  Display information about ordering printed copies of Emacs manuals
  (@code{view-order-manuals}).
diff --combined doc/emacs/misc.texi
index 8a8da2789d4afe9a627f63fc2b0237f08282ac8b,f09f23e6a4bd840a4babb715820f0ed4615ad2cb..ae1aefcee7671d97a003e5c7caaa1f07550ac41b
@@@ -1,17 -1,17 +1,17 @@@
  @c This is part of the Emacs manual.
 -@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software
 -@c Foundation, Inc.
 +@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014
 +@c   Free Software Foundation, Inc.
  @c See file emacs.texi for copying conditions.
  @iftex
  @chapter Miscellaneous Commands
  
    This chapter contains several brief topics that do not fit anywhere
 -else: viewing ``document files'', reading Usenet news, running shell
 -commands and shell subprocesses, using a single shared Emacs for
 -utilities that expect to run an editor as a subprocess, printing
 -hardcopy, sorting text, editing binary files, saving an Emacs session
 -for later resumption, following hyperlinks, emulating other editors,
 -and various diversions and amusements.
 +else: reading Usenet news, viewing PDFs and other such documents, web
 +browsing, running shell commands and shell subprocesses, using a
 +single shared Emacs for utilities that expect to run an editor as a
 +subprocess, printing, sorting text, editing binary files, saving an
 +Emacs session for later resumption, recursive editing level, following
 +hyperlinks, and various diversions and amusements.
  
  @end iftex
  
@@@ -1560,9 -1560,9 +1560,9 @@@ option, like the @samp{-t} option, crea
  current text terminal.  @xref{Windows Startup}.
  
  If you omit a filename argument while supplying the @samp{-c} option,
- the new frame displays the @file{*scratch*} buffer by default.  This
- behavior can be customized using the variable
@code{initial-buffer-choice} (@pxref{Entering Emacs}).
+ the new frame displays the @file{*scratch*} buffer by default.  You
+ can customize this behavior with the variable @code{initial-buffer-choice}
+ (@pxref{Entering Emacs}).
  
  @item -F @var{alist}
  @itemx --frame-parameters=@var{alist}
@@@ -2268,20 -2268,20 +2268,20 @@@ new major mode which provides a comman
  approaches give you more flexibility to go back to unfinished tasks in
  the order you choose.
  
 +@ignore
 +@c Apart from edt and viper, this is all obsolete.
 +@c (Can't believe we were saying ``most other editors'' into 2014!)
 +@c There seems no point having a node just for those, which both have
 +@c their own manuals.
  @node Emulation
  @section Emulation
  @cindex emulating other editors
  @cindex other editors
  @cindex EDT
  @cindex vi
 -@cindex PC key bindings
 -@cindex scrolling all windows
 -@cindex PC selection
 -@cindex Motif key bindings
 -@cindex Macintosh key bindings
  @cindex WordStar
  
 -  GNU Emacs can be programmed to emulate (more or less) some other
 +  GNU Emacs can be programmed to emulate (more or less) most other
  editors.  Standard facilities can emulate these:
  
  @table @asis
@@@ -2318,7 -2318,7 +2318,7 @@@ buffers or major modes while in EDT emu
  
  @item vi (Berkeley editor)
  @findex viper-mode
 -Viper is the newest emulator for vi.  It implements several levels of
 +Viper is an emulator for vi.  It implements several levels of
  emulation; level 1 is closest to vi itself, while level 5 departs
  somewhat from strict emulation to take advantage of the capabilities of
  Emacs.  To invoke Viper, type @kbd{M-x viper-mode}; it will guide you
@@@ -2359,8 -2359,6 +2359,8 @@@ not use it
  @kbd{M-x wordstar-mode} provides a major mode with WordStar-like
  key bindings.
  @end table
 +@end ignore
 +
  
  @node Hyperlinking
  @section Hyperlinking and Navigation Features
diff --combined doc/lispref/ChangeLog
index 74557361eabee4817a94dfe7f4d0ac7c5a998107,2b00d9743b77efa4a6a65bb634d3739a795e2f25..93128962c332fb1fee3d953ecb7cab15395c658f
@@@ -1,4 -1,12 +1,12 @@@
 -2014-06-06  Glenn Morris  <rgm@gnu.org>
+ 2014-06-08  Glenn Morris  <rgm@gnu.org>
+       * os.texi (Startup Summary): Small fix for initial-buffer-choice.
+       * files.texi (Subroutines of Visiting): Mention uniquify.
+       * numbers.texi (Comparison of Numbers): Copyedits.
 +2014-06-08  Glenn Morris  <rgm@gnu.org>
  
        * display.texi (Window Systems): Remove window-setup-hook.
        * os.texi (Startup Summary, Init File):
  
        * display.texi (Overlay Properties): Update re priority.  (Bug#17234)
  
 -2014-06-05  Glenn Morris  <rgm@gnu.org>
 -
        * package.texi (Package Archives): Mention signing packages.
  
 -2014-05-27  Glenn Morris  <rgm@gnu.org>
 +2014-06-07  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * commands.texi (Click Events): Update contents of click event's
 +      position list due to last changes in make_lispy_position.
 +
 +2014-06-02  Glenn Morris  <rgm@gnu.org>
  
        * text.texi (Buffer Contents):
        Update for filter-buffer-substring changes.
        * abbrevs.texi (Abbrev Expansion): Update for expand-abbrev changes.
        * functions.texi (Advising Functions): Standardize menu case.
  
 -2014-05-17  Eli Zaretskii  <eliz@gnu.org>
 +2014-05-26  Eli Zaretskii  <eliz@gnu.org>
  
        * display.texi (Invisible Text): Clarify the description of
        line-move-ignore-invisible.  (Bug#17511)
  
 -2014-05-07  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-05-22  Leo Liu  <sdl.web@gmail.com>
 +
 +      * sequences.texi (Sequence Functions): Don't mention when and how
 +      SEQ to nreverse is mutated.
 +
 +2014-05-21  Leo Liu  <sdl.web@gmail.com>
 +
 +      * sequences.texi (Sequence Functions): Update nreverse.
 +
 +2014-05-19  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Allow any non-nil value to count as true in bool-vector.
 +      * sequences.texi (Bool-Vectors): Coalesce discussion of how to
 +      print them.  bool-vector's args need not be t or nil.
 +
 +2014-05-19  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * sequences.texi (Bool-vectors): Mention bool-vector.
 +
 +2014-05-17  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Assume C99 or later (Bug#17487).
 +      * internals.texi (C Dialect): Document this.
 +
 +2014-05-15  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * lists.texi (Building Cons Cells and Lists): Remove
 +      description of `reverse' and `'nreverse' to generalize them...
 +      * sequences.texi (Sequences): ...for sequences here.
 +
 +2014-05-14  Glenn Morris  <rgm@gnu.org>
 +
 +      * files.texi (Changing Files): Mention with-file-modes.
 +
 +2014-05-08  Paul Eggert  <eggert@cs.ucla.edu>
  
        * internals.texi (C Dialect): New section.
        (C Integer Types): Mention bool_bf.
  
 -2014-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-04-30  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * processes.texi (Filter Functions, Sentinels): Advertise add-function.
  
 -2014-04-24  Eli Zaretskii  <eliz@gnu.org>
 +2014-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * windows.texi (Window Configurations, Window Configurations):
 +      Window configs don't store marks any more.
 +
 +2014-04-25  Eli Zaretskii  <eliz@gnu.org>
  
        * strings.texi (Text Comparison): Mention equal-including-properties
        for when text properties of the strings matter for comparison.
  
 -2014-04-21  Eli Zaretskii  <eliz@gnu.org>
 +2014-04-22  Eli Zaretskii  <eliz@gnu.org>
  
        * text.texi (Registers): Document register-read-with-preview.
  
        * internals.texi (Building Emacs): Improve indexing.
  
 -2014-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-04-17  Daniel Colascione  <dancol@dancol.org>
  
 -      * display.texi (Overlay Properties): Reword the doc of `priority'.
 -      (Finding Overlays): Document new arg of `overlays-at'.
 +      * frames.texi (Terminal Parameters): Document new
 +      tty-mode-set-strings and tty-mode-reset-strings terminal
 +      parameters.
  
 -2014-04-05  Glenn Morris  <rgm@gnu.org>
 +2014-04-17  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      * os.texi (Recording Input): Dribble files may contain passwords.
 +      * Makefile.in (infoclean): Be consistent about reporting failures.
 +
 +2014-04-09  Daniel Colascione  <dancol@dancol.org>
  
 -2014-04-04  Glenn Morris  <rgm@gnu.org>
 +      * errors.texi (Standard Errors): Document required error
 +      parameters for `scan-error'.
 +
 +      * positions.texi (List Motion): Explain new `up-list' arguments.
 +      Mention `backward-up-list'.
 +
 +2014-04-08  Daniel Colascione  <dancol@dancol.org>
 +
 +      * minibuf.texi (Programmed Completion): Improve phrasing, remove
 +      incorrect bullet count.
 +
 +2014-04-07  Glenn Morris  <rgm@gnu.org>
 +
 +      * os.texi (Recording Input): Dribble files may contain passwords.
  
        * backups.texi (Making Backups, Reverting):
        Update for default values of some -function vars no longer being nil.
        (Reverting): Update for buffer-stale-function
        also applying to file-buffers.
  
 -2014-03-25  Eli Zaretskii  <eliz@gnu.org>
 +2014-03-31  Daniel Colascione  <dancol@dancol.org>
 +
 +      * minibuf.texi (Completion in Buffers): Discuss using lazy
 +      completion tables for inline completion.
 +
 +2014-03-28  Glenn Morris  <rgm@gnu.org>
 +
 +      * os.texi (Terminal-Specific): Mention term-file-aliases.
 +
 +2014-03-26  Eli Zaretskii  <eliz@gnu.org>
  
        * files.texi (Kinds of Files): Improve documentation of
        file-symlink-p.  (Bug#17073)  Add cross-references.
  
 -2014-03-24  Barry O'Reilly  <gundaetiapo@gmail.com>
 +2014-03-26  Barry O'Reilly  <gundaetiapo@gmail.com>
  
        * markers.texi (Moving Marker Positions): The 2014-03-02 doc
        change mentioning undo's inability to handle relocated markers no
        * text.texi (Undo): Expand documentation of (TEXT . POS) and
        (MARKER . ADJUSTMENT) undo elements.
  
 +2014-03-26  Glenn Morris  <rgm@gnu.org>
 +
 +      * files.texi (File Locks): All systems support locking.
 +
  2014-03-22  Glenn Morris  <rgm@gnu.org>
  
 +      * commands.texi (Defining Commands):
 +      Mention that interactive-only also affects describe-function.
 +
 +      * functions.texi (Declare Form): Add interactive-only.
 +      * commands.texi (Defining Commands) Mention declare.
 +
        * commands.texi (Defining Commands): List interactive-only values.
  
  2014-03-22  Eli Zaretskii  <eliz@gnu.org>
        * functions.texi (Core Advising Primitives): Fix cross-reference
        in last change.
  
 -2014-03-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-03-22  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * functions.texi (Advising Functions): Explain a bit more how
        arguments work.
diff --combined doc/lispref/files.texi
index fcfd37e987d5d830ff06c0726185756bb45820e3,b071c6a8f35492a6e5ccce32c4d7e1907a6ddc00..ac77b94d8f6b7ef0f149e6920641b69761b56627
@@@ -254,11 -254,16 +254,16 @@@ is permanent local, so it is unaffecte
  which are sometimes useful in user Lisp code: @code{create-file-buffer}
  and @code{after-find-file}.  This section explains how to use them.
  
+ @c FIXME This does not describe the default behavior, because
+ @c uniquify is enabled by default and advises this function.
+ @c This is confusing.  uniquify should be folded into the function proper.
  @defun create-file-buffer filename
  This function creates a suitably named buffer for visiting
  @var{filename}, and returns it.  It uses @var{filename} (sans directory)
  as the name if that name is free; otherwise, it appends a string such as
  @samp{<2>} to get an unused name.  See also @ref{Creating Buffers}.
+ Note that the @file{uniquify} library affects the result of this
+ function.  @xref{Uniquify,,, emacs, The GNU Emacs Manual}.
  
  @strong{Please note:} @code{create-file-buffer} does @emph{not}
  associate the new buffer with a file and does not select the buffer.
@@@ -709,15 -714,15 +714,15 @@@ some other job
  This function locks the file @var{filename}, if the current buffer is
  modified.  The argument @var{filename} defaults to the current buffer's
  visited file.  Nothing is done if the current buffer is not visiting a
 -file, or is not modified, or if the system does not support locking.
 +file, or is not modified, or if the option @code{create-lockfiles} is
 +@code{nil}.
  @end defun
  
  @defun unlock-buffer
  This function unlocks the file being visited in the current buffer,
  if the buffer is modified.  If the buffer is not modified, then
  the file should not be locked, so this function does nothing.  It also
 -does nothing if the current buffer is not visiting a file, or if the
 -system does not support locking.
 +does nothing if the current buffer is not visiting a file, or is not locked.
  @end defun
  
  @defopt create-lockfiles
@@@ -1688,16 -1693,6 +1693,16 @@@ version of an existing file; saving a f
  permissions.
  @end defun
  
 +@defmac with-file-modes mode body@dots{}
 +This macro evaluates the @var{body} forms with the default
 +permissions for new files temporarily set to @var{modes} (whose value
 +is as for @code{set-file-modes} above).  When finished, it restores
 +the original default file permissions, and returns the value of the
 +last form in @var{body}.
 +
 +This is useful for creating private files, for example.
 +@end defmac
 +
  @defun default-file-modes
  This function returns the default file permissions, as an integer.
  @end defun
diff --combined doc/lispref/os.texi
index 04c7adda24a00660f93b3e52053ea804a8943e3e,3b63e08676cf06f1e28046ea767dc7ec9971e7ae..5cfbb9ff2ef40a02c2bb1a7995af6e00b0c71db6
@@@ -194,11 -194,16 +194,16 @@@ It processes any command-line options t
  It now exits if the option @code{--batch} was specified.
  
  @item
- If @code{initial-buffer-choice} is a string, it visits the file with
- that name.  If it is a function, it calls the function and selects the
- buffer returned by the function.  It it is @code{t}, it selects the
- @file{*scratch*} buffer.  If the @file{*scratch*} buffer exists and is
- empty, it inserts @code{initial-scratch-message} into that buffer.
+ If @code{initial-buffer-choice} is a string, it visits the file (or
+ directory) with that name.  If it is a function, it calls the function
+ with no arguments and selects the buffer that it returns.
+ @ignore
+ @c I do not think this should be mentioned.  AFAICS it is just a dodge
+ @c around inhibit-startup-screen not being settable on a site-wide basis.
+ If it is @code{t}, it selects the @file{*scratch*} buffer.
+ @end ignore
+ If the @file{*scratch*} buffer exists and is empty, it inserts
+ @code{initial-scratch-message} into that buffer.
  
  @c To make things nice and confusing, the next three items can be
  @c called from two places.  If displaying a startup screen, they are
@@@ -438,13 -443,10 +443,13 @@@ This variable holds the name of the @fi
  run on that type of terminal.  The library's name is constructed by
  concatenating the value of the variable @code{term-file-prefix} and the
  terminal type (specified by the environment variable @env{TERM}).
 -Normally, @code{term-file-prefix} has the value
 -@code{"term/"}; changing this is not recommended.  Emacs finds the file
 -in the normal manner, by searching the @code{load-path} directories, and
 -trying the @samp{.elc} and @samp{.el} suffixes.
 +Normally, @code{term-file-prefix} has the value @code{"term/"};
 +changing this is not recommended.  If there is an entry matching
 +@env{TERM} in the @code{term-file-aliases} association list,
 +Emacs uses the associated value in place of @env{TERM}.
 +Emacs finds the file in the normal manner, by searching the
 +@code{load-path} directories, and trying the @samp{.elc} and
 +@samp{.el} suffixes.
  
  @cindex Termcap
    The usual role of a terminal-specific library is to enable special
@@@ -473,7 -475,7 +478,7 @@@ a normal hook that Emacs runs after ini
  You could use this hook to define initializations for terminals that do not
  have their own libraries.  @xref{Hooks}.
  
 -@defvar term-file-prefix
 +@defopt term-file-prefix
  @cindex @env{TERM} environment variable
  If the value of this variable is non-@code{nil}, Emacs loads a
  terminal-specific initialization file as follows:
@@@ -488,14 -490,7 +493,14 @@@ init file if you do not wish to load th
  terminal-initialization file.
  
  On MS-DOS, Emacs sets the @env{TERM} environment variable to @samp{internal}.
 -@end defvar
 +@end defopt
 +
 +@defopt term-file-aliases
 +This variable is an an association list mapping terminal types to
 +their aliases.  For example, an element of the form @code{("vt102"
 +. "vt100")} means to treat a terminal of type @samp{vt102} like one of
 +type @samp{vt100}.
 +@end defopt
  
  @defvar tty-setup-hook
  This variable is a normal hook that Emacs runs after initializing a
@@@ -753,7 -748,7 +758,7 @@@ Here is an example of how you could us
  (add-hook 'suspend-resume-hook (lambda () (message "Resumed!")
                                   (sit-for 2)))
  @end smallexample
- @c The sit-for prevents the ``nil'' that suspend-emacs returns
+ @c The sit-for prevents the @code{nil} that suspend-emacs returns
  @c hiding the message.
  
  Here is what you would see upon evaluating @code{(suspend-emacs "pwd")}:
index cafdb7fc53d84995f32b78c04fcda6ab4aa0119d,b518bfc6b73408f66088986558dca230f3ef51ca..8f17862d4277d88e642bd811f9e5e6e48a155ac0
@@@ -217,116 -217,6 +217,116 @@@ y @result{} [foo (69 2)
  @end example
  @end defun
  
 +@defun reverse seq
 +@cindex string reverse
 +@cindex list reverse
 +@cindex vector reverse
 +@cindex sequence reverse
 +This function creates a new sequence whose elements are the elements
 +of @var{seq}, but in reverse order.  The original argument @var{seq}
 +is @emph{not} altered.   Note that char-table cannot be reversed.
 +
 +@example
 +@group
 +(setq x '(1 2 3 4))
 +     @result{} (1 2 3 4)
 +@end group
 +@group
 +(reverse x)
 +     @result{} (4 3 2 1)
 +x
 +     @result{} (1 2 3 4)
 +@end group
 +@group
 +(setq x [1 2 3 4])
 +     @result{} [1 2 3 4]
 +@end group
 +@group
 +(reverse x)
 +     @result{} [4 3 2 1]
 +x
 +     @result{} [1 2 3 4]
 +@end group
 +@group
 +(setq x "xyzzy")
 +     @result{} "xyzzy"
 +@end group
 +@group
 +(reverse x)
 +     @result{} "yzzyx"
 +x
 +     @result{} "xyzzy"
 +@end group
 +@end example
 +@end defun
 +
 +@defun nreverse seq
 +@cindex reversing a string
 +@cindex reversing a list
 +@cindex reversing a vector
 +  This function reverses the order of the elements of @var{seq}.
 +Unlike @code{reverse} the original @var{seq} may be modified.
 +
 +  For example:
 +
 +@example
 +@group
 +(setq x '(a b c))
 +     @result{} (a b c)
 +@end group
 +@group
 +x
 +     @result{} (a b c)
 +(nreverse x)
 +     @result{} (c b a)
 +@end group
 +@group
 +;; @r{The cons cell that was first is now last.}
 +x
 +     @result{} (a)
 +@end group
 +@end example
 +
 +  To avoid confusion, we usually store the result of @code{nreverse}
 +back in the same variable which held the original list:
 +
 +@example
 +(setq x (nreverse x))
 +@end example
 +
 +  Here is the @code{nreverse} of our favorite example, @code{(a b c)},
 +presented graphically:
 +
 +@smallexample
 +@group
 +@r{Original list head:}                       @r{Reversed list:}
 + -------------        -------------        ------------
 +| car  | cdr  |      | car  | cdr  |      | car | cdr  |
 +|   a  |  nil |<--   |   b  |   o  |<--   |   c |   o  |
 +|      |      |   |  |      |   |  |   |  |     |   |  |
 + -------------    |   --------- | -    |   -------- | -
 +                  |             |      |            |
 +                   -------------        ------------
 +@end group
 +@end smallexample
 +
 +  For the vector, it is even simpler because you don't need setq:
 +
 +@example
 +(setq x [1 2 3 4])
 +     @result{} [1 2 3 4]
 +(nreverse x)
 +     @result{} [4 3 2 1]
 +x
 +     @result{} [4 3 2 1]
 +@end example
 +
 +Note that unlike @code{reverse}, this function doesn't work with strings.
 +Although you can alter string data by using @code{aset}, it is strongly
 +encouraged to treat strings as immutable.
 +
 +@end defun
 +
  @node Arrays
  @section Arrays
  @cindex array
@@@ -809,7 -699,7 +809,7 @@@ value into an element of the bool-vecto
  and the length cannot be changed once the bool-vector is created.
  Bool-vectors are constants when evaluated.
  
 -  There are two special functions for working with bool-vectors; aside
 +  Several functions work specifically with bool-vectors; aside
  from that, you manipulate them with same functions used for other kinds
  of arrays.
  
@@@ -818,11 -708,6 +818,11 @@@ Return a new bool-vector of @var{length
  each one initialized to @var{initial}.
  @end defun
  
 +@defun bool-vector &rest objects
 +This function creates and returns a bool-vector whose elements are the
 +arguments, @var{objects}.
 +@end defun
 +
  @defun bool-vector-p object
  This returns @code{t} if @var{object} is a bool-vector,
  and @code{nil} otherwise.
@@@ -862,7 -747,7 +862,7 @@@ argument @var{b} is given, the result o
  
  @defun bool-vector-subsetp a b
  Return @code{t} if every @code{t} value in @var{a} is also t in
- @var{b}, nil otherwise.  All arguments should be bool vectors of the
+ @var{b}, @code{nil} otherwise.  All arguments should be bool vectors of the
  same length.
  @end defun
  
@@@ -876,29 -761,9 +876,29 @@@ or @code{nil}, and @var{i} is an index 
  Return the number of elements that are @code{t} in bool vector @var{a}.
  @end defun
  
 -  Here is an example of creating, examining, and updating a
 -bool-vector.  Note that the printed form represents up to 8 boolean
 -values as a single character.
 +  The printed form represents up to 8 boolean values as a single
 +character:
 +
 +@example
 +@group
 +(bool-vector t nil t nil)
 +     @result{} #&4"^E"
 +(bool-vector)
 +     @result{} #&0""
 +@end group
 +@end example
 +
 +You can use @code{vconcat} to print a bool-vector like other vectors:
 +
 +@example
 +@group
 +(vconcat (bool-vector nil t nil t))
 +     @result{} [nil t nil t]
 +@end group
 +@end example
 +
 +  Here is another example of creating, examining, and updating a
 +bool-vector:
  
  @example
  (setq bv (make-bool-vector 5 t))
diff --combined doc/misc/ChangeLog
index 0bf989c75d4da7bc117052660da5e1dd3cd72737,d1239338d23ce7d4bc94742dc15e732cc35675bd..d4bd5e43acb81616497f28515a43f9fb65115e27
@@@ -1,19 -1,30 +1,40 @@@
 -2014-05-24  Paul Eggert  <eggert@cs.ucla.edu>
+ 2014-06-08  Karl Berry  <karl@gnu.org>
+       * doc/info.texi (Help-^L): "mode line", "screenful",
+       stand-alone and Emacs Info both use the mode line.
+       Use x instead of weird C-x 0 to get rid of help msg
+       in standalone Info.
+ 2014-06-08  Glenn Morris  <rgm@gnu.org>
+       * vip.texi (Files): Defer to Emacs manual for uniquify details.
+       * info.texi (Help-Small-Screen): Clarify details of S-SPC.
+       (Help-Small-Screen, Help-]): Do not mention S-SPC.
+       (Emacs Info Variables): Markup fix.
+       * ebrowse.texi (Source Display, Finding/Viewing):
+       * erc.texi (Sample Session):
+       * ses.texi (The Basics):
+       * todo-mode.texi (Moving and Deleting Items):
+       * woman.texi (Navigation): Markup fixes re SPC, RET.
 +2014-06-02  Glenn Morris  <rgm@gnu.org>
 +
 +      * efaq.texi (Finding a package with particular functionality):
 +      Update example.
 +      * vip.texi: Mention this is obsolete.
 +
 +2014-05-27  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * texinfo.tex: Update from gnulib.
 +
 +2014-05-26  Paul Eggert  <eggert@cs.ucla.edu>
  
        Specify coding if Latin-1 Emacs would misinterpret (Bug#17575).
        * htmlfontify.texi, org.texi: Add "coding: utf-8".
  
 -2014-05-23  Stephen Berman  <stephen.berman@gmx.net>
 +2014-05-26  Stephen Berman  <stephen.berman@gmx.net>
  
        * todo-mode.texi: Update in light of changes due to bug#17482.
        Replace numerous mistaken uses of literal quotes with proper
        (Todo Mode Entry Points): Comment out reference to using find-file
        or Dired to visit Todo files, since this has been disabled (bug#17482).
  
 -2014-05-06  Michael Albinus  <michael.albinus@gmx.de>
 +2014-05-20  Leo Liu  <sdl.web@gmail.com>
 +
 +      * cl.texi (List Functions, Efficiency Concerns): Update cl-endp.
 +
 +2014-05-13  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * texinfo.tex: Update from gnulib.
 +
 +2014-05-08  Michael Albinus  <michael.albinus@gmx.de>
  
        * tramp.texi (Frequently Asked Questions): Mention HISTFILE
        setting in ~/.ssh/environment.
  
 -2014-05-02  Stephen Berman  <stephen.berman@gmx.net>
 +2014-05-04  Stephen Berman  <stephen.berman@gmx.net>
  
        * todo-mode.texi: Update, improve exposition, add cross
        references, fix typos.
        (Inserting New Items, Editing Item Headers and Text): Rewrite to
        document new user interface.
  
 -2014-05-01  Glenn Morris  <rgm@gnu.org>
 +2014-05-04  Glenn Morris  <rgm@gnu.org>
  
        * autotype.texi (Skeleton Language):
        * message.texi (Header Commands): Replace `iff'.
  
 +2014-05-02  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * vhdl-mode.texi: Add "@documentencoding UTF-8",
 +      since this is a toplevel .texi file.
 +
  2014-04-22  Bastien Guerry  <bzg@gnu.org>
  
        * org.texi (Installation): Be more clear on why installing Org
        * org.texi (Top, Exporting): Org has its own documentation and
        should therefore be removed from "Other build-in back-ends".
  
 +2014-04-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * cl.texi (Structures): Remove cl-struct-set-slot-value.
 +
 +2014-04-20  Daniel Colascione  <dancol@dancol.org>
 +
 +      * cl.texi (Declarations): Document changes to `cl-the' and defstruct functions.
 +
 +2014-04-17  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * Makefile.in (infoclean): Be consistent about reporting failures.
 +
 +2014-03-27  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (INFO_COMMON): Add vhdl-mode.
 +      (vhdl_mode_deps, vhdl-mode, $(buildinfodir)/vhdl-mode$(INFO_EXT))
 +      (vhdl-mode.dvi, vhdl-mode.pdf, vhdl-mode.html): New rules/variables.
 +
 +      * vhdl-mode.texi: General clean-up.  Set copyright to FSF, add license.
 +      Remove hand-written node pointers.  Remove info re old Emacs versions.
 +      Markup fixes.
 +      (Getting Connected): Remove irrelevant info.
 +      (Indentation Commands, Requirements): Remove empty/irrelevant nodes.
 +      (Frequently Asked Questions): Electric indent is now enabled.
 +
 +2014-03-27  Reto Zimmermann  <reto@gnu.org>
 +          Rod Whitby  <software.vhdl-mode@rwhitby.net>
 +
 +      * vhdl-mode.texi: New file, imported from upstream vhdl-mode.
 +
  2014-03-26  Paul Eggert  <eggert@cs.ucla.edu>
  
        * texinfo.tex: Update from gnulib.
  
 -2014-03-24  Michael Albinus  <michael.albinus@gmx.de>
 +2014-03-26  Michael Albinus  <michael.albinus@gmx.de>
  
        * tramp.texi (Frequently Asked Questions): Add fish shell settings.
  
 +2014-03-23  Katsumi Yamaoka  <yamaoka@jpl.org>
 +
 +      * gnus.texi (Ma Gnus): Mention header attachment buttons.
 +
 +2014-03-23  Lars Ingebrigtsen  <larsi@gnus.org>
 +
 +      * emacs-mime.texi (MML Definition): Document recipient-filename.
 +
 +2014-03-23  Katsumi Yamaoka  <yamaoka@jpl.org>
 +
 +      * gnus.texi (MIME Commands): Mention
 +      gnus-mime-buttonize-attachments-in-header and
 +      gnus-mime-display-attachment-buttons-in-header.
 +
 +2014-03-23  Lars Ingebrigtsen  <larsi@gnus.org>
 +
 +      * message.texi (Forwarding): Mention
 +      `message-forward-included-headers'.
 +
 +2014-03-23  Lars Ingebrigtsen  <larsi@gnus.org>
 +
 +      * gnus.texi: w3 is no longer supported by Gnus.
 +
 +2014-03-22  Glenn Morris  <rgm@gnu.org>
 +
 +      * efaq.texi (Informational files for Emacs): Do not mention etc/GNU.
 +
  2014-03-21  Glenn Morris  <rgm@gnu.org>
  
        * ede.texi (ede-linux):
diff --combined doc/misc/efaq.texi
index 3e86f30cdb5bbdfe90c4586e6e2676f2efae052c,c320b8b6c080a50506a75677be9e223724272a50..e596777817bfa48a4b4ef75fea9daa94f3c73190
@@@ -861,6 -861,7 +861,6 @@@ You can get Tkinfo a
  @cindex Files included with Emacs
  @cindex @file{COPYING}, description of file
  @cindex @file{DISTRIB}, description of file
 -@cindex @file{GNU}, description of file
  @cindex @file{MACHINES}, description of file
  @cindex @file{NEWS}, description of file
  
@@@ -882,6 -883,9 +882,6 @@@ GNU General Public Licens
  @item DISTRIB
  Emacs Availability Information
  
 -@item GNU
 -The GNU Manifesto
 -
  @item MACHINES
  Status of Emacs on Various Machines and Systems
  
@@@ -1944,7 -1948,7 +1944,7 @@@ automatically scrolls the display horiz
  left or right edge of the window.
  
  Note that this is overridden by the variable
- @code{truncate-partial-width-windows} if that variable is non-nil
+ @code{truncate-partial-width-windows} if that variable is non-@code{nil}
  and the current buffer is not full-frame width.
  
  In Emacs 20, use @code{hscroll-mode}.
@@@ -3264,8 -3268,8 +3264,8 @@@ archive sites that make GNU software av
  
  First of all, you should check to make sure that the package isn't
  already available.  For example, typing @kbd{M-x apropos @key{RET}
 -wordstar @key{RET}} lists all functions and variables containing the
 -string @samp{wordstar}.
 +python @key{RET}} lists all functions and variables containing the
 +string @samp{python}.
  
  It is also possible that the package is on your system, but has not been
  loaded.  To see which packages are available for loading, look through
diff --combined doc/misc/gnus-faq.texi
index a053164691f12cb501a669c2154db3a57589fd06,7bb89fdf0294720e3647ac3d7fd7b2391a2c1f14..fd4f427431df16614fa150fcc421bf6a04f042c0
@@@ -377,7 -377,7 +377,7 @@@ but it only says "nntp (news) open erro
  
  You've got to tell Gnus where to fetch the news from. Read
  the documentation for information on how to do this. As a
- first start, put those lines in ~/.gnus.el:
+ first start, put those lines in @file{~/.gnus.el}:
  
  @example
  (setq gnus-select-method '(nntp "news.yourprovider.net"))
  @node FAQ 3-2
  @subsubheading Question 3.2
  
- I'm working under Windows and have no idea what ~/.gnus.el means.
+ I'm working under Windows and have no idea what @file{~/.gnus.el} means.
  
  @subsubheading Answer
  
@@@ -421,7 -421,7 +421,7 @@@ to Control Panel -> System -> Advanced)
  possibility to set environment variables.  Create a new one with
  name HOME and value C:\myhome.  Rebooting is not necessary.
  
- Now to create ~/.gnus.el, say
+ Now to create @file{~/.gnus.el}, say
  @samp{C-x C-f ~/.gnus.el RET C-x C-s}.
  in Emacs.
  
@@@ -495,7 -495,7 +495,7 @@@ I want Gnus to fetch news from several 
  
  Of course. You can specify more sources for articles in the
  variable gnus-secondary-select-methods. Add something like
- this in ~/.gnus.el:
+ this in @file{~/.gnus.el}:
  
  @example
  (add-to-list 'gnus-secondary-select-methods
@@@ -566,7 -566,7 +566,7 @@@ commonly used one is nnml. It stores ev
  and is therefore quite fast. However you might prefer a one
  file per group approach if your file system has problems with
  many small files, the nnfolder back end is then probably the
- choice for you.  To use nnml add the following to ~/.gnus.el:
+ choice for you.  To use nnml add the following to @file{~/.gnus.el}:
  
  @example
  (add-to-list 'gnus-secondary-select-methods '(nnml ""))
@@@ -591,7 -591,7 +591,7 @@@ it's a POP3 server, then you need somet
  @end example
  @noindent
  
- Make sure ~/.gnus.el isn't readable to others if you store
+ Make sure @file{~/.gnus.el} isn't readable to others if you store
  your password there. If you want to read your mail from a
  traditional spool file on your local machine, it's
  
@@@ -630,7 -630,7 +630,7 @@@ OK, now you only need to tell Gnus how 
  want to send mail via sendmail (or whichever MTA is playing
  the role of sendmail on your system), you don't need to do
  anything. However, if you want to send your mail to an
- SMTP Server you need the following in your ~/.gnus.el
+ SMTP Server you need the following in your @file{~/.gnus.el}
  
  @example
  (setq send-mail-function 'smtpmail-send-it)
@@@ -650,7 -650,7 +650,7 @@@ There are two ways of using IMAP with G
  to use IMAP like POP3, that means Gnus fetches the mail from
  the IMAP server and stores it on disk. If you want to do
  this (you don't really want to do this) add the following to
- ~/.gnus.el
+ @file{~/.gnus.el}
  
  @example
  (add-to-list 'mail-sources '(imap :server "mail.mycorp.com"
@@@ -723,7 -723,7 +723,7 @@@ POP3 mail source.  See @pxref{Mail Sour
                  the top of the article buffer?
  * FAQ 4-6::     I'd like Gnus NOT to render HTML-mails but show me the
                  text part if it's available. How to do it?
 -* FAQ 4-7::     Can I use some other browser than w3 to render my
 +* FAQ 4-7::     Can I use some other browser than shr to render my
                  HTML-mails?
  * FAQ 4-8::     Is there anything I can do to make poorly formatted
                  mails more readable?
@@@ -765,7 -765,7 +765,7 @@@ Loading only unread messages can be ann
  @end example
  @noindent
  
- in ~/.gnus.el to load enough old articles to prevent teared threads, replace 'some with t to load
+ in @file{~/.gnus.el} to load enough old articles to prevent teared threads, replace 'some with @code{t} to load
  all articles (Warning: Both settings enlarge the amount of data which is
  fetched when you enter a group and slow down the process of entering a group).
  
@@@ -829,7 -829,7 +829,7 @@@ The variable gnus-visible-headers contr
  are shown, its value is a regular expression, header lines
  which match it are shown. So if you want author, subject,
  date, and if the header exists, Followup-To and MUA / NUA
- say this in ~/.gnus.el:
+ say this in @file{~/.gnus.el}:
  
  @example
  (setq gnus-visible-headers
@@@ -856,7 -856,7 +856,7 @@@ Sa
  @end example
  @noindent
  
- in ~/.gnus.el. If you don't want HTML rendered, even if there's no text alternative add
+ in @file{~/.gnus.el}. If you don't want HTML rendered, even if there's no text alternative add
  
  @example
  (setq mm-automatic-display (remove "text/html" mm-automatic-display))
@@@ -868,12 -868,12 +868,12 @@@ too
  @node FAQ 4-7
  @subsubheading Question 4.7
  
 -Can I use some other browser than w3 to render my HTML-mails?
 +Can I use some other browser than w3m to render my HTML-mails?
  
  @subsubheading Answer
  
  Only if you use Gnus 5.10 or younger. In this case you've got the
 -choice between w3, w3m, links, lynx and html2text, which
 +choice between shr, w3m, links, lynx and html2text, which
  one is used can be specified in the variable
  mm-text-html-renderer, so if you want links to render your
  mail say
@@@ -970,7 -970,7 +970,7 @@@ adaptive scoring sa
  @end example
  @noindent
  
- in ~/.gnus.el.
+ in @file{~/.gnus.el}.
  
  @node FAQ 4-10
  @subsubheading Question 4.10
@@@ -985,7 -985,7 +985,7 @@@ While in group buffer move point over t
  can set options for the group. At the bottom of the buffer
  you'll find an item that allows you to set variables
  locally for the group. To disable threading enter
- gnus-show-threads as name of variable and nil as
+ gnus-show-threads as name of variable and @code{nil} as
  value. Hit button done at the top of the buffer when
  you're ready.
  
@@@ -1147,7 -1147,7 +1147,7 @@@ don't want that (you probably don't wan
  @end example
  @noindent
  
- in ~/.gnus.el.
+ in @file{~/.gnus.el}.
  
  An example might be better than thousand words, so here's
  my nnmail-split-methods. Note that I send duplicates in a
@@@ -1269,7 -1269,7 +1269,7 @@@ For other versions of Gnus, sa
  @end example
  @noindent
  
- in ~/.gnus.el.
+ in @file{~/.gnus.el}.
  
  You can reformat a paragraph by hitting @samp{M-q}
  (as usual).
@@@ -1303,7 -1303,7 +1303,7 @@@ following lists are signature, signatur
  organization, address, name or body.  The attribute name
  can also be a string.  In that case, this will be used as
  a header name, and the value will be inserted in the
- headers of the article; if the value is `nil', the header
+ headers of the article; if the value is @code{nil}, the header
  name will be removed. You can also say (eval (foo bar)),
  then the function foo will be evaluated with argument bar
  and the result will be thrown away.
@@@ -1395,7 -1395,7 +1395,7 @@@ If you want your outgoing messages to b
  @end example
  @noindent
  
- In your ~/.gnus.el, if you prefer on-the-fly spell-checking say
+ In your @file{~/.gnus.el}, if you prefer on-the-fly spell-checking say
  
  @example
  (add-hook 'message-mode-hook (lambda () (flyspell-mode 1)))
@@@ -1423,7 -1423,7 +1423,7 @@@ Yes, say something lik
  @end example
  @noindent
  
- in ~/.gnus.el. Change "^de\\." and "deutsch8" to something
+ in @file{~/.gnus.el}. Change "^de\\." and "deutsch8" to something
  that suits your needs.
  
  @node FAQ 5-7
@@@ -1452,7 -1452,7 +1452,7 @@@ details
  However, what you really want is the Insidious Big Brother
  Database bbdb. Get it through the XEmacs package system or from
  @uref{http://bbdb.sourceforge.net/, bbdb's homepage}.
- Now place the following in ~/.gnus.el, to activate bbdb for Gnus:
+ Now place the following in @file{~/.gnus.el}, to activate bbdb for Gnus:
  
  @example
  (require 'bbdb)
@@@ -1532,7 -1532,7 +1532,7 @@@ Now you only have to tell Gnus to inclu
  @end example
  @noindent
  
- in ~/.gnus.el.  If you use Gnus 5.10, you can simply add an entry
+ in @file{~/.gnus.el}.  If you use Gnus 5.10, you can simply add an entry
  
  @example
  (x-face-file "~/.xface")
@@@ -1550,7 -1550,7 +1550,7 @@@ newsgroups
  
  @subsubheading Answer
  
- Put this in ~/.gnus.el:
+ Put this in @file{~/.gnus.el}:
  
  @example
  (setq gnus-confirm-mail-reply-to-news t)
@@@ -1580,7 -1580,7 +1580,7 @@@ How to tell Gnus not to generate a send
  @subsubheading Answer
  
  Since 5.10 Gnus doesn't generate a sender header by
- default. For older Gnus' try this in ~/.gnus.el:
+ default. For older Gnus' try this in @file{~/.gnus.el}:
  
  @example
  (eval-after-load "message"
@@@ -1645,7 -1645,7 +1645,7 @@@ by saying
  @end example
  @noindent
  
- in ~/.gnus.el.  If you use Gnus 5.9 or earlier, you can use this
+ in @file{~/.gnus.el}.  If you use Gnus 5.9 or earlier, you can use this
  instead (works for newer versions as well):
  
  @example
@@@ -1745,7 -1745,7 +1745,7 @@@ by saying @samp{O f}. However, wouldn'
  it be much more convenient to have more direct access to
  the archived message from Gnus? If you say yes, put this
  snippet by Frank Haun <pille3003@@fhaun.de> in
~/.gnus.el:
@file{~/.gnus.el}:
  
  @example
  (defun my-archive-article (&optional n)
@@@ -1898,7 -1898,7 +1898,7 @@@ to another group
  
  @subsubheading Answer
  
- Say something like this in ~/.gnus.el:
+ Say something like this in @file{~/.gnus.el}:
  
  @example
  (setq nnmail-expiry-target "nnml:expired")
@@@ -1980,7 -1980,7 +1980,7 @@@ The Gnus agent is part of Gnus, it allo
  mail and news and store them on disk for reading them
  later when you're offline. It kind of mimics offline
  newsreaders like Forte Agent. If you want to use
- the Agent place the following in ~/.gnus.el if you are
+ the Agent place the following in @file{~/.gnus.el} if you are
  still using 5.8.8 or 5.9 (it's the default since 5.10):
  
  @example
@@@ -2175,13 -2175,13 +2175,13 @@@ Starting Gnus is really slow, how to sp
  The reason for this could be the way Gnus reads its
  active file, see the node "The Active File" in the Gnus
  manual for things you might try to speed the process up.
- An other idea would be to byte compile your ~/.gnus.el (say
+ An other idea would be to byte compile your @file{~/.gnus.el} (say
  @samp{M-x byte-compile-file RET ~/.gnus.el
  RET} to do it). Finally, if you have require
  statements in your .gnus, you could replace them with
  eval-after-load, which loads the stuff not at startup
  time, but when it's needed. Say you've got this in your
~/.gnus.el:
@file{~/.gnus.el}:
  
  @example
  (require 'message)
@@@ -2208,7 -2208,7 +2208,7 @@@ How to speed up the process of enterin
  @subsubheading Answer
  
  A speed killer is setting the variable
- gnus-fetch-old-headers to anything different from nil,
+ gnus-fetch-old-headers to anything different from @code{nil},
  so don't do this if speed is an issue. To speed up
  building of summary say
  
  @end example
  @noindent
  
- at the bottom of your ~/.gnus.el, this will make gnus
+ at the bottom of your @file{~/.gnus.el}, this will make gnus
  byte-compile things like
  gnus-summary-line-format.
  then you could increase the value of gc-cons-threshold
@@@ -2237,7 -2237,7 +2237,7 @@@ recent GNU Emacs, you should sa
  @end example
  @noindent
  
- in ~/.gnus.el (thanks to Jesper harder for the last
+ in @file{~/.gnus.el} (thanks to Jesper harder for the last
  two suggestions). Finally if you are still using 5.8.8
  or 5.9 and experience speed problems with summary
  buffer generation, you definitely should update to
@@@ -2263,8 -2263,8 +2263,8 @@@ to normal speed
  @table @dfn
  
  @item ~/.gnus.el
- When the term ~/.gnus.el is used it just means your Gnus
- configuration file. You might as well call it ~/.gnus or
+ When the term @file{~/.gnus.el} is used it just means your Gnus
+ configuration file. You might as well call it @file{~/.gnus} or
  specify another name.
  
  @item Back End
diff --combined doc/misc/gnus.texi
index b2dce6db2bca6c4cbe72b64cc358514b8119dfea,8f1550942e968846a7469fafdde1dbaf33c9b16a..1dbb22bc6177dce8bed3d2a6f706c0cdd786537b
@@@ -704,6 -704,7 +704,6 @@@ Browsing the We
  * Archiving Mail::
  * Web Searches::                Creating groups from articles that match a string.
  * RSS::                         Reading RDF site summary.
 -* Customizing W3::              Doing stuff to Emacs/W3 from Gnus.
  
  Other Sources
  
@@@ -9139,6 -9140,9 +9139,6 @@@ Use Gnus simple html renderer
  @item gnus-w3m
  Use Gnus rendered based on w3m.
  
 -@item w3
 -Use Emacs/W3.
 -
  @item w3m
  Use @uref{http://emacs-w3m.namazu.org/, emacs-w3m}.
  
@@@ -9801,19 -9805,6 +9801,19 @@@ Make all the @acronym{MIME} parts have 
  mostly useful if you wish to save (or perform other actions) on inlined
  parts.
  
 +@item W M h
 +@kindex W M h (Summary)
 +@findex gnus-mime-buttonize-attachments-in-header
 +@vindex gnus-mime-display-attachment-buttons-in-header
 +Display @acronym{MIME} part buttons in the end of the header of an
 +article (@code{gnus-mime-buttonize-attachments-in-header}).  This
 +command toggles the display.  Note that buttons to be added to the
 +header are only the ones that aren't inlined in the body.  If you want
 +those buttons always to be displayed, set
 +@code{gnus-mime-display-attachment-buttons-in-header} to non-@code{nil}.
 +The default is @code{t}.  To change the appearance of buttons, customize
 +@code{gnus-header-face-alist}.
 +
  @item K m
  @kindex K m (Summary)
  @findex gnus-summary-repair-multipart
@@@ -12537,7 -12528,7 +12537,7 @@@ you're in, you could say something lik
  Modify to suit your needs.
  
  @vindex gnus-message-highlight-citation
- If @code{gnus-message-highlight-citation} is t, different levels of
+ If @code{gnus-message-highlight-citation} is @code{t}, different levels of
  citations are highlighted like in Gnus article buffers also in message
  mode buffers.
  
@@@ -16850,8 -16841,12 +16850,8 @@@ interfaces to these sources
  * Archiving Mail::
  * Web Searches::                Creating groups from articles that match a string.
  * RSS::                         Reading RDF site summary.
 -* Customizing W3::              Doing stuff to Emacs/W3 from Gnus.
  @end menu
  
 -All the web sources require Emacs/W3 and the url library or those
 -alternatives to work.
 -
  The main caveat with all these web sources is that they probably won't
  work for a very long time.  Gleaning information from the @acronym{HTML} data
  is guesswork at best, and when the layout is altered, the Gnus back end
@@@ -16927,6 -16922,10 +16927,6 @@@ make money off of advertisements, not t
  community.  Since @code{nnweb} washes the ads off all the articles, one
  might think that the providers might be somewhat miffed.  We'll see.
  
 -You must have the @code{url} and @code{W3} package or those alternatives
 -(try @code{customize-group} on the @samp{mm-url} variable group)
 -installed to be able to use @code{nnweb}.
 -
  Virtual server variables:
  
  @table @code
@@@ -17124,6 -17123,38 +17124,6 @@@ Parameters}) in order to display @samp{
  @end lisp
  
  
 -@node Customizing W3
 -@subsection Customizing W3
 -@cindex W3
 -@cindex html
 -@cindex url
 -@cindex Netscape
 -
 -Gnus uses the url library to fetch web pages and Emacs/W3 (or those
 -alternatives) to display web pages.  Emacs/W3 is documented in its own
 -manual, but there are some things that may be more relevant for Gnus
 -users.
 -
 -For instance, a common question is how to make Emacs/W3 follow links
 -using the @code{browse-url} functions (which will call some external web
 -browser like Netscape).  Here's one way:
 -
 -@lisp
 -(eval-after-load "w3"
 -  '(progn
 -    (fset 'w3-fetch-orig (symbol-function 'w3-fetch))
 -    (defun w3-fetch (&optional url target)
 -      (interactive (list (w3-read-url-with-default)))
 -      (if (eq major-mode 'gnus-article-mode)
 -          (browse-url url)
 -        (w3-fetch-orig url target)))))
 -@end lisp
 -
 -Put that in your @file{.emacs} file, and hitting links in W3-rendered
 -@acronym{HTML} in the Gnus article buffers will use @code{browse-url} to
 -follow the link.
 -
 -
  @node Other Sources
  @section Other Sources
  
@@@ -20487,7 -20518,7 +20487,7 @@@ matches.  This takes a long time in bi
  You can inhibit this slow scoring on headers or body by setting the
  variable @code{gnus-inhibit-slow-scoring}.  If
  @code{gnus-inhibit-slow-scoring} is regexp, slow scoring is inhibited if
- the group matches the regexp.  If it is t, slow scoring on it is
+ the group matches the regexp.  If it is @code{t}, slow scoring on it is
  inhibited for all groups.
  
  Now, there's not much you can do about the slowness for news groups, but for
@@@ -21414,18 -21445,19 +21414,19 @@@ three items unique to nnir summary buff
  %g    Article original short group name (string)
  @end example
  
- If nil (the default) this will use @code{gnus-summary-line-format}.
+ If @code{nil} (the default) this will use @code{gnus-summary-line-format}.
  
  @item nnir-retrieve-headers-override-function
- If non-nil, a function that retrieves article headers rather than using
+ If non-@code{nil}, a function that retrieves article headers rather than using
  the gnus built-in function.  This function takes an article list and
  group as arguments and populates the `nntp-server-buffer' with the
  retrieved headers.  It should then return either 'nov or 'headers
  indicating the retrieved header format.  Failure to retrieve headers
  should return @code{nil}.
  
- If this variable is nil, or if the provided function returns nil for a
- search result, @code{gnus-retrieve-headers} will be called instead."
+ If this variable is @code{nil}, or if the provided function returns
+ @code{nil} for a search result, @code{gnus-retrieve-headers} will be
+ called instead."
  
  
  @end table
@@@ -21928,7 -21960,7 +21929,7 @@@ original article yet, @code{nnmairix} w
  search for determining the file name of the article.  This, of course, is
  way slower than the registry---if you set hundreds or even thousands of
  marks this way, it might take some time.  You can avoid this situation by
- setting @code{nnmairix-only-use-registry} to t.
+ setting @code{nnmairix-only-use-registry} to @code{t}.
  
  Maybe you also want to propagate marks the other way round, i.e., if you
  tick an article in a "real" mail group, you'd like to have the same
@@@ -24874,7 -24906,7 +24875,7 @@@ classified as spammers
  While @code{spam-use-BBDB-exclusive} @emph{can} be used as an alias
  for @code{spam-use-BBDB} as far as @code{spam.el} is concerned, it is
  @emph{not} a separate back end.  If you set
- @code{spam-use-BBDB-exclusive} to t, @emph{all} your BBDB splitting
+ @code{spam-use-BBDB-exclusive} to @code{t}, @emph{all} your BBDB splitting
  will be exclusive.
  
  @end defvar
@@@ -26307,7 -26339,7 +26308,7 @@@ XEmacs is distributed as a collection o
  whatever packages the Gnus XEmacs package requires.  The current
  requirements are @samp{gnus}, @samp{mail-lib}, @samp{xemacs-base},
  @samp{eterm}, @samp{sh-script}, @samp{net-utils}, @samp{os-utils},
 -@samp{dired}, @samp{mh-e}, @samp{sieve}, @samp{ps-print}, @samp{W3},
 +@samp{dired}, @samp{mh-e}, @samp{sieve}, @samp{ps-print},
  @samp{pgg}, @samp{mailcrypt}, @samp{ecrypto}, and @samp{sasl}.
  
  
@@@ -28384,19 -28416,6 +28385,19 @@@ New features in Ma Gnus
  
  @itemize @bullet
  
 +@item Changes in summary and article mode
 +@c **************************************
 +
 +@itemize @bullet
 +
 +@item
 +By default, @acronym{MIME} part buttons for attachments (if any) will
 +appear in the end of the article header in addition to the bottom of the
 +article body, so you can easily find them without scrolling the article
 +again and again.  @xref{MIME Commands}.
 +
 +@end itemize
 +
  @item Changes in Message mode and related Gnus features
  @c ****************************************************
  
diff --combined doc/misc/message.texi
index 88d8566137a2d5a94e4f3fe1042742ba110374e0,7421360211ca3f476a638e44c506a3c8c9ce45af..0ac2c03a6aa3543f8cb26bc176d49dd82b0b1232
@@@ -310,13 -310,7 +310,13 @@@ news
  @table @code
  @item message-forward-ignored-headers
  @vindex message-forward-ignored-headers
 -All headers that match this regexp will be deleted when forwarding a message.
 +In non-@code{nil}, all headers that match this regexp will be deleted
 +when forwarding a message.
 +
 +@item message-forward-included-headers
 +@vindex message-forward-included-headers
 +In non-@code{nil}, only headers that match this regexp will be kept
 +when forwarding a message.
  
  @item message-make-forward-subject-function
  @vindex message-make-forward-subject-function
@@@ -2137,7 -2131,7 +2137,7 @@@ translation process
  @vindex message-fill-column
  @cindex auto-fill
  Local value for the column beyond which automatic line-wrapping should
- happen for message buffers.  If non-nil (the default), also turn on
+ happen for message buffers.  If non-@code{nil} (the default), also turn on
  auto-fill in message buffers.
  
  @item message-signature-separator
diff --combined doc/misc/vip.texi
index 4008fbecd82f2af43f378d2064f59b7512a3d5c6,e11a5eb4c8b1828a6d49269764f6d458376c12a4..3d1a31c32952b1d25ce7e18dece7c12d09910f7b
@@@ -38,7 -38,7 +38,7 @@@ modify this GNU manual.'
  
  @dircategory Emacs misc features
  @direntry
 -* VIP: (vip).                   An older VI-emulation for Emacs.
 +* VIP: (vip).                   An obsolete VI-emulation for Emacs.
  @end direntry
  
  @ifnottex
@@@ -53,9 -53,6 +53,9 @@@ are fairly accustomed to Vi but not so 
  concentrate mainly on differences from Vi, especially features unique to
  VIP.
  
 +VIP is obsolete since Emacs 24.5---consider using Viper instead.
 +@xref{Top, Viper,, viper, The Viper VI-emulation mode for Emacs}.
 +
  It is recommended that you read nodes on survey and on customization before
  you start using VIP@.  Other nodes may be visited as needed.
  
@@@ -86,9 -83,6 +86,9 @@@ fairly accustomed to Vi but not so muc
  concentrate mainly on differences from Vi, especially features unique to
  VIP.
  
 +VIP is obsolete since Emacs 24.5---consider using Viper instead.
 +@xref{Top, Viper,, viper, The Viper VI-emulation mode for Emacs}.
 +
  It is recommended that you read chapters on survey and on customization
  before you start using VIP@.  Other chapters may be used as future
  references.
@@@ -901,9 -895,9 +901,9 @@@ just type @samp{vip.el} followed by @ke
  already exists in the directory, Emacs will visit that file, and if not,
  the file will be created.  Emacs will use the file name (@file{vip.el}, in
  this case) as the name of the buffer visiting the file.  In order to make
- the buffer name unique, Emacs may append @samp{<2>}, @samp{<3>} etc., to
the buffer name.  As the @dfn{file name completion} is provided here, you
- can sometime save typing.  For instance, suppose there is only one file in the
+ the buffer name unique, Emacs may add a suffix (@pxref{Uniquify,,,
emacs, The GNU Emacs Manual}).  As @dfn{file name completion} is provided here, you
+ can sometimes save typing.  For instance, suppose there is only one file in the
  default directory whose name starts with @samp{v}, that is @samp{vip.el}.
  Then if you just type @kbd{v @key{TAB}} then it will be completed to
  @samp{vip.el}.  Thus, in this case, you just have to type @kbd{v v @key{TAB}
diff --combined etc/ChangeLog
index 2189fac6a05fcf63c937ec54bb2227f7bd38c44f,3c8e94fcfc6b648a8e783dc24d66124d7d305e90..9c2582cb0f456343cbea3e0efb91de823f590a60
@@@ -1,51 -1,18 +1,55 @@@
 -2014-06-05  Juri Linkov  <juri@jurta.org>
+ 2014-06-08  Leo Liu  <sdl.web@gmail.com>
+       * themes/deeper-blue-theme.el: Use another fix.  (Bug#17695)
 +2014-06-08  Juri Linkov  <juri@jurta.org>
  
        * themes/deeper-blue-theme.el (diff-added, diff-changed, diff-removed):
        Set face definitions explicitly.  Inherit indicator faces from them.
        (Bug#17695)
  
 -2014-05-24  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-05-28  Reuben Thomas  <rrt@sc3d.org>
 +
 +      * TODO: add a note that undo-tree could be used to save undo
 +      information (Bug #17581).
 +
 +2014-05-27  Fabrice Popineau  <fabrice.popineau@gmail.com>
 +
 +      * NEWS: Mention build changes on MS-Windows.
 +
 +2014-05-26  Paul Eggert  <eggert@cs.ucla.edu>
  
        Specify coding if Latin-1 Emacs would misinterpret (Bug#17575).
        * ETAGS.EBNF, NEWS, ORG-NEWS: Add "coding: utf-8".
  
 +2014-05-17  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * NEWS: Assume C99 or later (Bug#17487).
 +
 +2014-05-16  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Don't require pkg-config when building from repository.
 +      * NEWS: Prefer './configure FOO=BAR' to 'FOO=BAR ./configure'.
 +      * PROBLEMS (Build-time-problems): Remove pkg-config problem
 +      that is no longer an issue.
 +
 +2014-05-13  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * PROBLEMS: Mention potential problems with
 +      --enable-link-time-optimization and clang on Fedora 20.
 +
 +2014-05-04  Leo Liu  <sdl.web@gmail.com>
 +
 +      * NEWS: Mention support for Chinese dates in calendar and diary.
 +
 +2014-04-20  Daniel Colascione  <dancol@dancol.org>
 +
 +      * NEWS: Mention new struct functions and changes to `cl-the'.
 +
 +2014-04-17  Daniel Colascione  <dancol@dancol.org>
 +
 +      * NEWS: Mention bracketed paste support.
 +
  2014-04-11  Glenn Morris  <rgm@gnu.org>
  
        * refcards/cs-dired-ref.tex, refcards/cs-refcard.tex:
        * refcards/sk-refcard.tex, refcards/sk-survival.tex:
        Input "utf8off", which seems to be needed.
  
 +2014-04-01  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * NEWS: `url-handler-mode' passes operations to Tramp for some
 +      protocols.
 +
 +2014-03-28  Tassilo Horn  <tsdh@gnu.org>
 +
 +      * themes/tsdh-light-theme.el (tsdh-light): Add gnus-group-* faces.
 +
 +2014-03-22  Glenn Morris  <rgm@gnu.org>
 +
 +      * CENSORSHIP, GNU, LINUX-GNU, THE-GNU-PROJECT, WHY-FREE: Replace
 +      contents with pointers to www.gnu.org or emacs.info, mark obsolete.
 +
  2014-03-14  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
  
        * tutorials/TUTORIAL.de: Adapt to recent changes in TUTORIAL.
diff --combined etc/NEWS
index dd802b94b21b12151485ff828f475ee0b115ffe7,3deb493029cb7137255b36be8a8310a31720030c..cfda70f62a8ca6054e64e2569f53d36c8e458ebf
+++ b/etc/NEWS
@@@ -21,151 -21,6 +21,151 @@@ Temporary note
  When you add a new item, use the appropriate mark if you are sure it applies,
  otherwise leave it unmarked.
  
 +\f
 +* Installation Changes in Emacs 24.5
 +
 ++++
 +** Building Emacs now requires C99 or later.
 +
 +** Building Emacs now requires GNU make.
 +
 +** By default, Emacs no longer works on IRIX.  We expect that Emacs
 +users are not affected by this, as SGI stopped supporting IRIX in
 +December 2013.  If you are affected, please send a bug report.  You
 +should be able to work around the problem either by porting the Emacs
 +undumping code to GCC under IRIX, or by configuring --with-wide-int,
 +or by sticking with Emacs 24.4.
 +
 +---
 +** The configure option `--with-pkg-config-prog' has been removed.
 +Use './configure PKG_CONFIG=/full/name/of/pkg-config' if you need to.
 +
 +---
 +** Building Emacs for MS-Windows requires at least Windows XP
 +or Windows Server 2003.  The built binaries still run on all versions
 +of Windows starting with Windows 9X.
 +
 +\f
 +* Startup Changes in Emacs 24.5
 +
 +\f
 +* Changes in Emacs 24.5
 +
 +---
 +** The default value of `history-length' has increased to 100.
 +
 ++++
 +** The new variable `term-file-aliases' replaces some files from lisp/term.
 +The function `tty-run-terminal-initialization' consults this variable
 +when deciding what terminal-specific initialization code to run.
 +
 +---
 +** New variable `system-configuration-features', listing some of the
 +main features that Emacs was compiled with.  This is mainly intended
 +for use in Emacs bug reports.
 +
 +\f
 +* Editing Changes in Emacs 24.5
 +
 +Emacs now supports "bracketed paste mode" when running on a terminal
 +that supports it.  This facility allows Emacs to understand pasted
 +chunks of text as strings to be inserted instead of interpreting each
 +character in the pasted text as actual user input, resulting in a
 +paste experience similar to that under a window system and significant
 +performance improvements when pasting large amounts of text.
 +
 +\f
 +* Changes in Specialized Modes and Packages in Emacs 24.5
 +
 +** font-lock
 +*** New functions font-lock-ensure and font-lock-flush that should be used
 +instead of font-lock-fontify-buffer when called from Elisp.
 +
 +---
 +** The Rmail commands d, C-d and u now handle repeat counts
 +to delete or undelete multiple messages.
 +
 +** Calendar and diary
 +
 ++++
 +*** New commands to insert diary entries with Chinese dates:
 +`diary-chinese-insert-anniversary-entry' `diary-chinese-insert-entry'
 +`diary-chinese-insert-monthly-entry'
 +`diary-chinese-insert-yearly-entry'
 +
 ++++
 +*** Calendar can list and mark diary entries with Chinese dates:
 +`diary-chinese-list-entries' and `diary-chinese-mark-entries'.
 +
 +** In sh-mode, you can now use `sh-shell' as a file-local variable to
 +specify the type of shell in use (bash, csh, etc).
 +
 +** The URL package accepts now the protocols "ssh", "scp" and "rsync".
 +When `url-handler-mode' is enabled, file operations for these
 +protocols as well as for "telnet" and "ftp" are passed to Tramp.
 +
 +** Obsolete packages
 +
 +---
 +*** gulp.el
 +
 +---
 +*** vi.el, vip.el (try M-x viper instead)
 +
 +---
 +*** crisp.el, tpu-edt.el, ws-mode.el
 +These emulations of old editors are believed to be no longer relevant
 + - contact emacs-devel@gnu.org if you disagree.
 +
 +\f
 +* New Modes and Packages in Emacs 24.5
 +
 +\f
 +* Incompatible Lisp Changes in Emacs 24.5
 +
 +** window-configurations do not record the buffers's marks any more.
 +
 +** inhibit-modification-hooks now also inhibits lock-file checks as well as
 +active region handling.
 +
 +** deactivate-mark is now buffer-local.
 +
 +** cl-the now asserts that its argument is of the given type.
 +
 ++++
 +** Mouse click events on mode line or header line no longer include
 +any reference to a buffer position.  The 6th member of the mouse
 +position list returned for such events is now nil.
 +
 +
 +\f
 +* Lisp Changes in Emacs 24.5
 +
 +** New function `funcall-interactively', which works like `funcall'
 +but makes `called-interactively-p' treat the function as (you guessed it)
 +called interactively.
 +
 +** New function `function-put' to use instead of `put' for function properties.
 +
 ++++
 +** New properties that can be specified with `declare':
 +*** (interactive-only INSTEAD), tells to use INSTEAD for non-interactive use.
 +*** (pure VAL), if VAL is non-nil, indicates the function is pure.
 +*** (side-effect-free VAL), if VAL is non-nil, indicates the function does not
 +have side effects.
 +
 ++++
 +** New macro `with-file-modes', for evaluating expressions with default file
 +permissions set to temporary values (e.g., for creating private files).
 +
 +** You can access the slots of structures using `cl-struct-slot-value'.
 +
 +** Functions `rmail-delete-forward' and `rmail-delete-backward' take an
 +optional repeat-count argument.
 +
 +\f
 +* Changes in Emacs 24.5 on Non-Free Operating Systems
 +
  \f
  * Installation Changes in Emacs 24.4
  
@@@ -547,6 -402,10 +547,10 @@@ conventions.  To use it, add it to the 
  
  +++
  ** Uniquify is enabled by default, with `post-forward-angle-brackets' style.
+ In other words, if you visit two files that have the same base name,
+ then rather than creating buffers basename and basename<2>,
+ Emacs uses basename<dirA> and basename<dirB>.  To change this,
+ customize `uniquify-buffer-name-style'.  Set it to nil for the old behavior.
  
  +++
  ** New command `C-x SPC' (`rectangle-mark-mode') makes a rectangular region.
diff --combined lisp/ChangeLog
index 80105470985e9a2a53a51058743927475ad6595b,ca2781b40f22cdf9aac36fa7bd37e811d7d57230..2ce06f6ba54bd7dd574f7e572df22cecd1c9c4d5
 -2014-06-06  Juri Linkov  <juri@jurta.org>
+ 2014-06-08  Glenn Morris  <rgm@gnu.org>
+       * startup.el (initial-buffer-choice): Doc fix.
+       Reset :version (adding an option does not merit a :version bump).
+       * bookmark.el (bookmark-load):
+       * uniquify.el (uniquify-buffer-name-style): Doc fixes.
 +2014-06-08  Juri Linkov  <juri@jurta.org>
  
        * desktop.el: Activate auto-saving on window configuration changes.
        (desktop-save-mode, desktop-auto-save-timeout): Add/remove
 -      `desktop-auto-save-set-timer' to/from `window-configuration-change-hook'.
 +      `desktop-auto-save-set-timer' to/from
 +      `window-configuration-change-hook'.
        (desktop-auto-save-set-timer): Change REPEAT arg of
        `run-with-idle-timer' from t to nil.
        http://lists.gnu.org/archive/html/emacs-devel/2014-06/msg00147.html
  
 -2014-06-06  Santiago Payà i Miralta  <santiagopim@gmail.com>
 +2014-06-08  Santiago Payà i Miralta  <santiagopim@gmail.com>
  
        * vc/vc-hg.el (vc-hg-working-revision): Use "hg parent" and
        vc-hg-command (bug#17570).
  
 -2014-06-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-06-08  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * international/mule-cmds.el (ucs-names): Add special entry for BEL
        (bug#17702).
  
 -2014-06-06  Glenn Morris  <rgm@gnu.org>
 +2014-06-08  Glenn Morris  <rgm@gnu.org>
  
        * startup.el (window-setup-hook): Doc fix.
  
 -2014-06-05  Glenn Morris  <rgm@gnu.org>
 -
        * emacs-lisp/package.el (package-check-signature)
        (package-unsigned-archives): Doc fixes.
  
 -2014-06-03  Martin Rudalics  <rudalics@gmx.at>
 +2014-06-08  Martin Rudalics  <rudalics@gmx.at>
  
        * window.el (display-buffer-use-some-window): Don't make window
        used smaller than it was before (Bug#17671).
  
 -2014-06-03  Eli Zaretskii  <eliz@gnu.org>
 +2014-06-08  Eli Zaretskii  <eliz@gnu.org>
  
        * menu-bar.el (menu-bar-open): Fix last change: use the PC
        'redisplay' instead of '(sit-for 0)'.
  
 -2014-06-03  Michael Albinus  <michael.albinus@gmx.de>
 +2014-06-08  Michael Albinus  <michael.albinus@gmx.de>
  
 -      * net/tramp.el (tramp-ssh-controlmaster-options): Improve search
 -      regexp.  (Bug#17653)
 +      * net/tramp.el (tramp-ssh-controlmaster-options):
 +      Improve search regexp.  (Bug#17653)
  
 -2014-06-03  Glenn Morris  <rgm@gnu.org>
 +2014-06-08  Glenn Morris  <rgm@gnu.org>
  
        * emacs-lisp/package.el (package-pinned-packages): Doc fix.
  
 -2014-06-02  Eli Zaretskii  <eliz@gnu.org>
 +2014-06-08  Eli Zaretskii  <eliz@gnu.org>
  
        * menu-bar.el (menu-bar-open): Fix invocation via M-x.
  
 -2014-06-01  Eli Zaretskii  <eliz@gnu.org>
 +2014-06-06  Santiago Payà i Miralta  <santiagopim@gmail.com>
 +
 +      * vc/vc-hg.el (vc-hg-create-tag, vc-hg-retrieve-tag): New functions
 +      (bug#17586).
 +
 +      * vc/vc-hg.el (vc-hg-log-graph): New var.
 +      (vc-hg-print-log): Use it.
 +      (vc-hg-root-log-format): Include branch name and bookmarks; ignore
 +      graph output (bug#17515).
 +
 +2014-06-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * mouse.el (mouse-posn-property): Ignore buffer position info when the
 +      even happened elsewhere.
 +
 +2014-06-06  Mario Lang  <mlang@delysid.org>
 +
 +      * emacs-lisp/tabulated-list.el (tabulated-list-print): Only call
 +      `recenter' if `current-buffer' is equal to `window-buffer'.
 +
 +2014-06-05  Leo Liu  <sdl.web@gmail.com>
 +
 +      * emacs-lisp/cl-macs.el (cl-macrolet): Avoid excessive progn's.
 +
 +2014-06-05  Michal Nazarewicz  <mina86@mina86.com>
 +
 +      * textmodes/tildify.el (tildify-foreach-region-outside-env):
 +      New function which calls a callback on portions of the buffer that are
 +      outside of ignored environments.
 +      (tildify-build-regexp): Remove function since it is now
 +      incorporated in `tildify-foreach-region-outside-env' where it is
 +      optimised and simplified by the use of `mapconcat'.
 +      (tildify-tildify): Return number of substitutions made so that…
 +      (tildify-count): …can be removed.
 +      (tildify-find-env): Accept a new PAIRS argument which was
 +      previously looked up in `tildify-ignored-environments-alist' each
 +      time the function was called.  With this change, the lookup is
 +      performed only once in `tildify-foreach-region-outside-env'.
 +      (tildify-region): Greatly simplify the function since now most of
 +      the work is done by `tildify-foreach-region-outside-env'.
 +      (tildify-mode-alist): Simplify slightly by avoiding if and setq
 +      and instead using or.
 +
 +      * textmodes/tildify.el (tildify-ignored-environments-alist):
 +      Optimise environments regexes
 +
 +      Each time beginning of an environment to ignore is found,
 +      `tildify-find-env' needs to identify regexp for the ending
 +      of the environment.  This is done by trying all the opening
 +      regexes on matched text in a loop, so to speed that up, this
 +      loop should have fewer things to match, which can be done by
 +      using alternatives in the opening regexes.
 +
 +      Coincidentally, this should make matching of the opening
 +      regexp faster as well thanks to the use of `regexp-opt' and
 +      having common prefix pulled from many regexes.
 +
 +      * textmodes/tildify.el (tildify-string-alist)
 +      (tildify-ignored-environments-alist): Add `nxml-mode' to the list
 +      of supported modes since `xml-mode' is no longer a thing but just
 +      an alias to the former.  Also include comments and insides of tags
 +      in `tildify-ignored-environments-alist' for XML modes.  Finally,
 +      since XML does not define “&nbsp;”[1], use a numeric reference for
 +      a no-break space (namely “&#160;”)
 +
 +      [1] XML specification defines only a handful of predefined entities.
 +          The list is at <http://www.w3.org/TR/REC-xml/#sec-predefined-ent>
 +          and includes only &lt;, &gt;, &amp;, &apos; and &quot; (meaning <,
 +          >, &, ' and " respectively).  This is in contrast to HTML and even
 +          XHTML which defined a whole bunch of entities including “&nbsp;”.
 +
 +      * textmodes/tildify.el (tildify-pattern-alist)
 +      (tildify-string-alist, tildify-ignored-environments-alist):
 +      Improve defcustom's types by adding more tags explaining what each
 +      value means and replace “sexp” used in
 +      `tildify-ignored-environments-alist' with a full type declaration.
 +
 +      * textmodes/tildify.el (tildify-find-env): Fix matched group
 +      indexes in end-regex building
 +
 +      When looking for a start of an ignore-environment, the regex is built
 +      by concatenating regexes of all the environments configured in
 +      `tildify-ignored-environments-alist'.  So for example, the following
 +      list could be used to match TeX's \verb and \verb* commands:
 +
 +          (("\\\\verb\\(.\\)" . (1))
 +           ("\\\\verb\\*\\(.\\)" . (1)))
 +
 +      This would result in the following regex being used to find the start
 +      of any of the variants of the \verb command:
 +
 +          \\\\verb\\(.\\)\\|\\\\verb\\*\\(.\\)
 +
 +      But now, if “\\\\verb\\*\\(.\\)” matches, the first capture group
 +      won't match anything, and thus (match-string 1) will be nil, which
 +      will cause building of the end-matching regex to fail.
 +
 +      Fix this by using capture groups from the time when the opening
 +      regexes are matched individually.
 +
 +      * textmodes/tildify.el (tildify-find-env): Fix end-regex building
 +      in `tildify-find-env'
 +
 +      The `tildify-ignored-environments-alist' allows the end-regex to
 +      be provided not as a static string but mix of strings and indexes
 +      of groups matched the begin-regex.  For example, the “\verb!…!”
 +      TeX-command (where “!” is an arbitrary character) is handled
 +      using:
 +
 +          ("\\\\verb\\*?\\(.\\)" . (1))
 +
 +      In the same way, the following should be supported as well:
 +
 +          ("open-\\(.\\)" . ("end-" 1))
 +
 +      However the tildify-find-env function fails at
 +
 +          (concat result
 +                  (if (stringp (setq aux (car expression)))
 +                       expression  ; BUG: expression is a list
 +                     (regexp-quote (match-string aux))))
 +
 +      where the string part is handled incorrectly.
 +
 +      The most trivial fix would be to replace `expression' in the
 +      true-part of the if-statement with `aux', but instead, this commit
 +      optimises `tildify-find-env' by changing it to use `mapconcat'
 +      rather than open-coded while-loop.
 +
 +2014-06-05  Mario Lang  <mlang@delysid.org>
 +
 +      * woman.el (woman-mapcan): Remove.
 +      (woman-parse-colon-path): Use cl-mapcan instead.
 +
 +2014-06-03  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
 +
 +      * register.el: Add link to Emacs manual in Commentary.
 +
 +2014-06-02  Sam Steingold  <sds@gnu.org>
 +
 +      * menu-bar.el (lookup-key-ignore-too-long): Extract from...
 +      (popup-menu): ...here.
 +      (menu-bar-open): Use it to avoid an error when `lookup-key'
 +      returns a number.
 +
 +2014-06-02  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * net/tramp.el (tramp-call-process): Add traces.
 +      (tramp-handle-unhandled-file-name-directory): Return "/".
 +
 +2014-06-02  Wilson Snyder  <wsnyder@wsnyder.org>
 +
 +      Sync with upstream verilog-mode revision 3cd8144.
 +      * progmodes/verilog-mode.el (verilog-mode-version): Bump.
 +      (verilog-auto-arg-format): New option, to support newlines in AUTOARG.
 +      (verilog-type-font-keywords): Add nor.
 +      (verilog-batch-execute-func): Force reading of Local Variables.
 +      Fix printing "no changes to be saved" with verilog-batch.
 +      (verilog-auto-arg-ports): Doc fix.
 +      Add verilog-auto-arg-format to support newlines in AUTOARG.
 +      (verilog-auto-arg): Doc fix.
 +
 +2014-06-02  Glenn Morris  <rgm@gnu.org>
 +
 +      * emulation/crisp.el, emulation/tpu-edt.el, emulation/tpu-extras.el:
 +      * emulation/tpu-mapper.el, emulation/vi.el, emulation/vip.el:
 +      * emulation/ws-mode.el: Move to obsolete/.
 +      * Makefile.in (AUTOGEN_VCS): Update for moved tpu-edu.el.
 +
 +2014-06-02  Eli Zaretskii  <eliz@gnu.org>
  
        * simple.el (keyboard-quit): Force update of mode lines, to remove
        the "Def" indicator, if we were defining a macro.  (Bug#17615)
  
 -2014-06-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-06-02  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * minibuffer.el (minibuffer-force-complete-and-exit):
        Obey minibuffer-default (bug#17545).
        * progmodes/js.el (js-indent-line): Don't mix columns and chars
        (bug#17619).
  
 -2014-05-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
        * subr.el (set-transient-map): Don't wait for some "nested"
        transient-map to finish if we're only supposed to be active for
        the next command (bug#17642).
  
 -2014-05-31  Leo Liu  <sdl.web@gmail.com>
 +2014-06-02  Leo Liu  <sdl.web@gmail.com>
  
        * emacs-lisp/gv.el (window-buffer, window-display-table)
        (window-dedicated-p, window-hscroll, window-point, window-start):
        Fix gv-expander.  (Bug#17630)
  
 -2014-05-31  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-06-02  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * mouse.el (mouse-posn-property): Ignore posn-point for mode-line
        clicks (bug#17633).
        for the single comma, since ", " is *very* common in normal French text
        (bug#17643).
  
 -2014-05-30  Glenn Morris  <rgm@gnu.org>
 +2014-06-02  Glenn Morris  <rgm@gnu.org>
  
        * emacs-lisp/package.el (package-check-signature)
        (package-unsigned-archives): Fix :version.
  
 -2014-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-06-02  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * subr.el (sit-for): Don't run input-methods (bug#15614).
  
 -2014-05-28  Glenn Morris  <rgm@gnu.org>
 +2014-06-02  Glenn Morris  <rgm@gnu.org>
  
        * cus-start.el: Fix some :version numbers.
  
 -2014-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-06-02  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * simple.el (deactivate-mark): Set mark-active to nil even if
        deactivation is done via setting transient-mark-mode to nil,
        * emacs-lisp/byte-opt.el (byte-optimize-binary-predicate): Don't assume
        there can't be more than 2 arguments (bug#17584).
  
 -2014-05-27  Glenn Morris  <rgm@gnu.org>
 +2014-06-02  Glenn Morris  <rgm@gnu.org>
  
        * simple.el (filter-buffer-substring-functions)
        (filter-buffer-substring-function, buffer-substring-filters)
        * abbrev.el (abbrev-expand-functions, abbrev-expand-function)
        (expand-abbrev, abbrev--default-expand): Doc fixes.
  
 -2014-05-26  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-06-02  Paul Eggert  <eggert@cs.ucla.edu>
  
        Include sources used to create macuvs.h.
        * international/README: Refer to the Unicode Terms of Use rather
        than copying it bodily here, as that simplifies maintenance.
  
 -2014-05-25  Andreas Schwab  <schwab@linux-m68k.org>
 +2014-06-01  Glenn Morris  <rgm@gnu.org>
 +
 +      * loadup.el (load-prefer-newer): Set non-nil when dumping.  (Bug#17629)
 +
 +2014-05-31  Glenn Morris  <rgm@gnu.org>
 +
 +      * files.el (locate-dominating-file): Expand file argument.  (Bug#17641)
 +
 +2014-05-30  Glenn Morris  <rgm@gnu.org>
 +
 +      * loadup.el: Treat `command-line-args' more flexibly.
 +
 +2014-05-30  Alan Mackenzie  <acm@muc.de>
 +
 +      Guard (looking-at "\\s!") from XEmacs.
 +      * progmodes/cc-engine.el (c-state-pp-to-literal): add guard form.
 +
 +2014-05-30    Ken Olum  <kdo@cosmos.phy.tufts.edu>  (tiny change)
 +
 +      * mail/rmail.el (rmail-delete-forward, rmail-delete-backward):
 +      The argument COUNT is now optional, to be more backward-compatible.
 +      Doc fix.  (Bug#17560)
 +
 +2014-05-29  Reuben Thomas  <rrt@sc3d.org>
 +
 +      * whitespace.el (whitespace-report-region):
 +      Simplify documentation.
 +      (whitespace-report-region): Allow report-if-bogus to take the
 +      value `never', for non-interactive use.
 +      (whitespace-report): Refer to whitespace-report-region's
 +      documentation.
 +
 +2014-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * whitespace.el: Use font-lock-flush.  Minimize refontifications.
 +      Side benefit: it works without jit-lock.
 +      (whitespace-point--used): New buffer-local var.
 +      (whitespace-color-on): Initialize it and flush it.  Use font-lock-flush.
 +      (whitespace-color-off): Use font-lock-flush.
 +      (whitespace-point--used, whitespace-point--flush-used): New functions.
 +      (whitespace-trailing-regexp, whitespace-empty-at-bob-regexp)
 +      (whitespace-empty-at-eob-regexp): Use them.
 +      (whitespace-post-command-hook): Rewrite.
 +
 +      * font-lock.el (font-lock-flush, font-lock-ensure): New functions.
 +      (font-lock-fontify-buffer): Mark interactive-only.
 +      (font-lock-multiline, font-lock-fontified, font-lock-set-defaults):
 +      Make buffer-local.
 +      (font-lock-specified-p): Remove redundant boundp check.
 +      (font-lock-flush-function, font-lock-ensure-function): New vars.
 +      (font-lock-turn-on-thing-lock): Set them.
 +      (font-lock-default-fontify-buffer): Obey font-lock-dont-widen.
 +      (font-lock-after-change-function): Make `old-len' optional.
 +      (font-lock-set-defaults): Remove redundant `set' of font-lock-defaults.
 +      Call font-lock-flush, just in case.
 +      * progmodes/verilog-mode.el (verilog-preprocess): Disable workaround in
 +      recent Emacsen.
 +      * progmodes/vera-mode.el (vera-fontify-buffer): Declare obsolete.
 +      (vera-mode-map, vera-mode-menu): Remove bindings to it.
 +      * progmodes/idlw-help.el (idlwave-help-fontify): Use font-lock-ensure
 +      and with-syntax-table.
 +      * textmodes/conf-mode.el (conf-quote-normal):
 +      * progmodes/sh-script.el (sh-set-shell):
 +      * progmodes/prog-mode.el (prettify-symbols-mode):
 +      * progmodes/f90.el (f90-font-lock-n):
 +      * progmodes/cwarn.el (cwarn-mode):
 +      * nxml/nxml-mode.el (nxml-toggle-char-ref-extra-display):
 +      * progmodes/compile.el (compilation-setup, compilation--unsetup):
 +      * hi-lock.el (hi-lock-mode, hi-lock-unface-buffer)
 +      (hi-lock-set-pattern, hi-lock-set-file-patterns): Use font-lock-flush.
 +      * mail/rmail.el (rmail-variables): Set font-lock-dont-widen instead of
 +      font-lock-fontify-buffer-function and
 +      font-lock-unfontify-buffer-function.
 +      (rmail-unfontify-buffer-function, rmail-fontify-message):
 +      Use with-silent-modifications.
 +      * htmlfontify.el (hfy-force-fontification): Use jit-lock-fontify-now
 +      and font-lock-ensure.
 +      * bs.el (bs-show-in-buffer): Use font-lock-ensure.
 +
 +2014-05-28  Thien-Thi Nguyen  <ttn@gnu.org>
 +
 +      * emacs-lisp/package.el (package-generate-autoloads):
 +      Inhibit backup files.
 +
 +2014-05-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/hideshow.el (hs-hide-all): Call syntax-propertize
 +      (bug#17608).
 +
 +2014-05-21  Michal Nazarewicz  <mina86@mina86.com>
 +
 +      * textmodes/tildify.el (tildify-buffer, tildify-region):
 +      Add dont-ask option.
 +
 +2014-05-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * subr.el (zerop): Move from C.  Add compiler-macro (bug#17475).
 +      * emacs-lisp/byte-opt.el (byte-optimize-zerop): Remove.
 +
 +      * subr.el (internal--funcall-interactively): New.
 +      (internal--call-interactively): Remove.
 +      (called-interactively-p): Detect funcall-interactively instead of
 +      call-interactively.
 +      * simple.el (repeat-complex-command): Use funcall-interactively.
 +      (repeat-complex-command--called-interactively-skip): Remove.
 +
 +2014-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * register.el (register-read-with-preview): Don't burp on
 +      frame switches (e.g. due to the frame we just popped).
 +
 +      * mouse.el (mouse-set-region): Handle spurious drag events (bug#17562).
 +      (mouse-drag-track): Annotate `mouse-drag-start' so we know we moved.
 +
 +2014-05-26  Andreas Schwab  <schwab@linux-m68k.org>
  
        * cus-face.el (custom-face-attributes): Add :distant-foreground.
  
 -2014-05-25  Martin Rudalics  <rudalics@gmx.at>
 +2014-05-26  Martin Rudalics  <rudalics@gmx.at>
  
 -      * window.el (window--dump-frame): Remove interactive
 -      specification.
 +      * window.el (window--dump-frame): Remove interactive specification.
  
 -2014-05-23  Glenn Morris  <rgm@gnu.org>
 +2014-05-26  Glenn Morris  <rgm@gnu.org>
  
        * hippie-exp.el (he-line-search-regexp):
        Handle comint-prompt-regexp containing subgroups.  (Bug#17529)
  
 -2014-05-23  Stephen Berman  <stephen.berman@gmx.net>
 +2014-05-26  Stephen Berman  <stephen.berman@gmx.net>
  
        * calendar/todo-mode.el: Remove dependence on auto-mode-alist,
        to avoid errors when trying to create or visit a file foo.todo
        (auto-mode-alist): Remove add-to-list calls making Todo file
        extensions unrestrictedly tied to Todo modes.
  
 -2014-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-05-26  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * emacs-lisp/nadvice.el (advice--member-p): Change second arg.
        (advice-function-member-p): Tell it to check both names and functions
        (bug#17531).
        (advice--add-function): Adjust call accordingly.
  
 -2014-05-23  Stephen Berman  <stephen.berman@gmx.net>
 +2014-05-26  Stephen Berman  <stephen.berman@gmx.net>
  
        * calendar/todo-mode.el: Miscellaneous bug fixes.
        (todo-delete-file): When deleting an archive but not its todo
        (todo-reset-highlight-item): Also reset in filtered items files.
        Fix incorrect variable reference in document string.
  
 -2014-05-22  Glenn Morris  <rgm@gnu.org>
 +2014-05-26  Glenn Morris  <rgm@gnu.org>
  
        * window.el (window--dump-frame): Avoid error in --without-x builds.
  
 -2014-05-21  Glenn Morris  <rgm@gnu.org>
 +2014-05-26  Glenn Morris  <rgm@gnu.org>
  
        * nxml/nxml-mode.el (xml-mode): Only define this alias once.
  
 -2014-05-21  Eli Zaretskii  <eliz@gnu.org>
 +2014-05-26  Eli Zaretskii  <eliz@gnu.org>
  
        * frame.el (set-frame-font): Doc fix.
  
        * menu-bar.el (menu-set-font): Doc fix.  (Bug#17532)
  
 -2014-05-21  Dmitry Gutov  <dgutov@yandex.ru>
 +2014-05-26  Dmitry Gutov  <dgutov@yandex.ru>
  
        * emacs-lisp/package.el (package--download-one-archive):
        Use `write-region' instead of `save-buffer' to avoid running various
        (describe-package-1): Same.  Insert newline at the end of the
        buffer if appropriate.
  
 -2014-05-20  Juri Linkov  <juri@jurta.org>
 +2014-05-26  Juri Linkov  <juri@jurta.org>
  
        * avoid.el (mouse-avoidance-set-mouse-position): Don't raise frame.
        (mouse-avoidance-ignore-p): Remove `switch-frame', add `focus-out'.
        * avoid.el (mouse-avoidance-banish-position): Fix defcustom :options
        to allow changing its value with `set-variable'.
  
 -2014-05-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-05-26  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * progmodes/scheme.el (scheme-mode-syntax-table): Remove hack for
        #; comments.
  
        * emacs-lisp/lisp.el (end-of-defun): Ensure we move (bug#17274).
  
 -2014-05-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
        * emacs-lisp/timer.el (timer-event-handler): Don't run if canceled
        (bug#17392).
  
 -2014-05-17  Michael Albinus  <michael.albinus@gmx.de>
 +2014-05-26  Michael Albinus  <michael.albinus@gmx.de>
  
        * net/tramp-sh.el (tramp-find-inline-encoding): Do not match "%%t"
        for a temporary file name.
  
 -2014-05-17  Eli Zaretskii  <eliz@gnu.org>
 +2014-05-26  Eli Zaretskii  <eliz@gnu.org>
  
        * simple.el (line-move-ignore-invisible): Doc fix.  (Bug#17511)
  
 -2014-05-16  Michael Albinus  <michael.albinus@gmx.de>
 +2014-05-26  Michael Albinus  <michael.albinus@gmx.de>
  
        * net/dbus.el (dbus-init-bus, dbus-call-method)
        (dbus-call-method-asynchronously, dbus-send-signal)
        (dbus-method-return-internal, dbus-method-error-internal):
        Check, whether Emacs has been compiled with D-Bus support.  (Bug#17508)
  
 -2014-05-14  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
 +2014-05-26  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
  
        * emacs-lisp/eieio-opt.el (eieio-help-class): Correctly deal with
        methods which do not have a doc string.  (Bug#17490)
  
 +2014-05-25  Tassilo Horn  <tsdh@gnu.org>
 +
 +      * textmodes/reftex-ref.el (reftex-format-special): Make it work
 +      also for AMS Math's \eqref macro.
 +
 +2014-05-25  Thien-Thi Nguyen  <ttn@gnu.org>
 +
 +      Arrange to never byte-compile the generated -pkg.el file.
 +
 +      * emacs-lisp/package.el (package-generate-description-file):
 +      Output first-line comment to set buffer-local var `no-byte-compile'.
 +      Suggested by Dmitry Gutov:
 +      <http://lists.gnu.org/archive/html/emacs-devel/2014-05/msg00401.html>.
 +
 +2014-05-25  Thien-Thi Nguyen  <ttn@gnu.org>
 +
 +      Fix bug: Properly quote args to generated -pkg.el `define-package'.
 +
 +      * emacs-lisp/package.el (package-generate-description-file):
 +      Inline `package--alist-to-plist'; rewrite to selectively
 +      quote alist values that are not self-quoting.
 +      (package--alist-to-plist): Delete func.
 +
 +2014-05-25  Andreas Schwab  <schwab@linux-m68k.org>
 +
 +      * term/xterm.el (xterm-function-map): Add mapping for shifted
 +      keypad keys.
 +
 +2014-05-24  Daniel Colascione  <dancol@dancol.org>
 +
 +      * progmodes/subword.el (subword-find-word-boundary): Move point to
 +      correct spot before search. (Bug#17580)
 +
 +      * emacs-lisp/nadvice.el (defun): Write in eval-and-compile to avoid
 +      breaking the build.
 +
 +2014-05-24  Leo Liu  <sdl.web@gmail.com>
 +
 +      * calc/calc.el (math-bignum): Handle most-negative-fixnum.  (Bug#17556)
 +
 +2014-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * minibuffer.el (completion--sreverse): Remove.
 +      (completion--common-suffix): Use `reverse' instead.
 +      * emacs-lisp/regexp-opt.el (regexp-opt-group): Use `reverse' on strings.
 +
 +2014-05-22  Glenn Morris  <rgm@gnu.org>
 +
 +      * shell.el (shell-mode) <shell-dirstack-query>: Bypass bash aliases.
 +
 +2014-05-21  Daniel Colascione  <dancol@dancol.org>
 +
 +      * files.el (interpreter-mode-alist): Add mksh.
 +
 +      * progmodes/sh-script.el (sh-ancestor-alist): Add mksh, a pdksh
 +      derivative.
 +      (sh-alias-alist): Alias /system/bin/sh (Android's system shell) to
 +      mksh. Improve custom spec; allow regular expressions.
 +      (sh-shell): Delegate name splitting to `sh-canonicalize-shell'.
 +      (sh-after-hack-local-variables): New function.
 +      (sh-mode): Use it; respect file-local `sh-shell' variable. (bug#17333)
 +      (sh-set-shell): Use `sh-canonicalize-shell' instead of open-coding
 +      the normalization.
 +      (sh-canonicalize-shell): Rewrite to support regexes.
 +
 +2014-05-21  Leo Liu  <sdl.web@gmail.com>
 +
 +      * emacs-lisp/cl-lib.el (cl-endp): Fix last change.
 +
 +2014-05-19  Leo Liu  <sdl.web@gmail.com>
 +
 +      * emacs-lisp/cl-lib.el (cl-endp): Conform to CL's semantics.
 +
 +2014-05-18  Glenn Morris  <rgm@gnu.org>
 +
 +      * loadup.el:
 +      * play/gametree.el: `track-mouse' is always defined since 2012-11-24.
 +
 +2014-05-14  Sam Steingold  <sds@gnu.org>
 +
 +      * progmodes/python.el (python-shell-get-or-create-process):
 +      Do not bind `current-prefix-arg' so that C-c C-z does not talk
 +      back unless requested.
 +
 +2014-05-14  Glenn Morris  <rgm@gnu.org>
 +
 +      * subr.el (with-file-modes): New macro.
 +      * printing.el (pr-save-file-modes): Make obsolete.
 +      * eshell/esh-util.el (eshell-with-file-modes): Make obsolete.
 +      * emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
 +      Add with-file-modes.
 +      * doc-view.el (doc-view-make-safe-dir):
 +      * epg.el (epg--start):
 +      * files.el (locate-user-emacs-file, make-temp-file)
 +      (backup-buffer-copy, move-file-to-trash):
 +      * printing.el (pr-despool-print, pr-call-process, pr-text2ps):
 +      * eshell/esh-util.el (eshell-with-private-file-modes)
 +      (eshell-make-private-directory):
 +      * net/browse-url.el (browse-url-mosaic):
 +      * obsolete/mailpost.el (post-mail-send-it):
 +      * obsolete/pgg-pgp.el (pgg-pgp-verify-region):
 +      * obsolete/pgg-pgp5.el (pgg-pgp5-verify-region):
 +      Use with-file-modes.
 +
 +      * vc/emerge.el (emerge-make-temp-file): Simplify.
 +
  2014-05-14  Stephen Berman <stephen.berman@gmx.net>
              Stefan Monnier  <monnier@iro.umontreal.ca>
  
        Make pointless option obsolete.
        (emerge-temp-file-mode): Make non-functional option obsolete.
  
 -2014-05-13  Michael Albinus  <michael.albinus@gmx.de>
 +2014-05-14  Michael Albinus  <michael.albinus@gmx.de>
  
        * net/browse-url.el (browse-url):
        Use `unhandled-file-name-directory' when setting `default-directory',
        in order to circumvent stalled remote connections.  (Bug#17425)
  
 +2014-05-14  Glenn Morris  <rgm@gnu.org>
 +
 +      * printing.el (subst-char-in-string, make-temp-file, pr-get-symbol):
 +      Optimize on Emacs, which has the relevant functions for ages.
 +
 +2014-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * simple.el (undo-make-selective-list): Obey undo-no-redo.
 +
 +2014-05-12  Sam Steingold  <sds@gnu.org>
 +
 +      * calendar/time-date.el (seconds-to-string): New function to
 +      pretty print time delay in seconds.
 +
  2014-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 +      * mpc.el (mpc-format): Trim Date to the year.
 +      (mpc-songs-hashcons): Shorten the Date field.
 +
        * emacs-lisp/nadvice.el (advice--interactive-form): Don't get fooled
        into autoloading just because of a silly indirection.
  
 -2014-05-11  Santiago Payà i Miralta  <santiagopim@gmail.com>  (tiny change)
 +2014-05-12  Santiago Payà i Miralta  <santiagopim@gmail.com>
  
        * vc/vc-hg.el (vc-hg-unregister): New function.  (Bug#17454)
  
 -2014-05-11  Glenn Morris  <rgm@gnu.org>
 +2014-05-12  Glenn Morris  <rgm@gnu.org>
  
        * emacs-lisp/find-gc.el: Move to ../admin.
  
 -2014-05-10  Glenn Morris  <rgm@gnu.org>
 -
        * printing.el (pr-version):
        * ps-print.el (ps-print-version): Also mention bug-gnu-emacs.
  
        * net/browse-url.el (browse-url-mosaic):
        Create /tmp/Mosaic.PID as a private file.
  
 -2014-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * emacs-lisp/nadvice.el: Support adding a given function multiple times.
        (advice--member-p): If name is given, only compare the name.
        (advice--add-function): Pass the name, if any, to
        advice--remove-function.
  
 -2014-05-09  Philipp Rumpf  <prumpf@gmail.com>  (tiny change)
 +2014-05-12  Philipp Rumpf  <prumpf@gmail.com>  (tiny change)
  
        * electric.el (electric-indent-post-self-insert-function): Don't use
        `pos' after modifying the buffer (bug#17449).
  
 -2014-05-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
 -      * subr.el (function-put): Add function.
 -
 -2014-05-09  Stephen Berman  <stephen.berman@gmx.net>
 +2014-05-12  Stephen Berman  <stephen.berman@gmx.net>
  
        * calendar/todo-mode.el (todo-insert-item-from-calendar):
        Correct argument list to conform to todo-insert-item--basic.
  
 -2014-05-09  Glenn Morris  <rgm@gnu.org>
 +2014-05-12  Glenn Morris  <rgm@gnu.org>
  
        * files.el (cd-absolute): Test if directory is accessible
        rather than executable.  (Bug#17330)
        * progmodes/compile.el (recompile):
        Handle C-u M-x recompile from a non-compilation buffer.  (Bug#17444)
  
 -2014-05-08  Juri Linkov  <juri@jurta.org>
 -
 -      * dired.el (dired-check-switches, dired-switches-recursive-p):
 -      New functions.  (Bug#17218)
 -      (dired-switches-escape-p, dired-move-to-end-of-filename):
 -      Use `dired-check-switches'.
 -      (dired-insert-old-subdirs, dired-build-subdir-alist)
 -      (dired-sort-R-check): Use `dired-switches-recursive-p'.
 -
 -2014-05-08  Glenn Morris  <rgm@gnu.org>
 -
        * net/browse-url.el (browse-url-mosaic):
        Be careful when writing /tmp/Mosaic.PID.  (Bug#17428)
        This is CVE-2014-3423.
  
 +2014-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * mouse.el: Use the normal toplevel loop while dragging.
 +      (mouse-set-point): Handle multi-clicks.
 +      (mouse-set-region): Handle multi-clicks for drags.
 +      (mouse-drag-region): Update call accordingly.
 +      (mouse-drag-track): Remove `do-mouse-drag-region-post-process' hack.
 +      Use the normal event loop instead of a local while/read-event loop.
 +      (global-map): Remove redundant bindings for double/triple-mouse-1.
 +      * xt-mouse.el (xterm-mouse-translate-1): Only process one event at a time.
 +      Generate synthetic down events when the protocol only sends up events.
 +      (xterm-mouse-last): Remove.
 +      (xterm-mouse--read-event-sequence-1000): Use xterm-mouse-last-down
 +      terminal parameter instead.
 +      (xterm-mouse--set-click-count): New function.
 +      (xterm-mouse-event): Detect/generate double/triple clicks.
 +      * reveal.el (reveal-close-old-overlays): Don't close while dragging.
 +
 +      * info.el (Info-quoted): New face.
 +      (Info-mode-font-lock-keywords): New var.
 +      (Info-mode): Use it.
 +
 +      * emacs-lisp/lisp-mode.el (preceding-sexp): Exclude leading "," which
 +      are a hindrance for C-x C-e.
 +
 +2014-05-11  Leo Liu  <sdl.web@gmail.com>
 +
 +      * net/rcirc.el (rcirc-sentinel): Fix last change.
 +
 +2014-05-08  Sam Steingold  <sds@gnu.org>
 +
 +      * net/rcirc.el (rcirc-reconnect-delay): New user option.
 +      (rcirc-sentinel): Auto-reconnect to the server if
 +      `rcirc-reconnect-delay' is non-0 (but not more often than its
 +      value in case the host is off-line).
 +
 +2014-05-09  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * progmodes/grep.el (lgrep): Fix a typo in last commit.
 +
 +2014-05-09  Glenn Morris  <rgm@gnu.org>
 +
 +      * files.el (file-expand-wildcards):
 +      * man.el (Man-support-local-filenames):
 +      * printing.el (pr-i-directory, pr-interface-directory):
 +      * progmodes/grep.el (lgrep, rgrep):
 +      * textmodes/ispell.el (ispell-call-process)
 +      (ispell-call-process-region, ispell-start-process)
 +      (ispell-init-process): Use file-accessible-directory-p.
 +
  2014-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * xt-mouse.el: Drop spurious/oddly shaped events (bug#17378).
        (xterm-mouse-event): Propagate it.
        (xterm-mouse-translate-1): Handle it.
  
 -2014-05-07  Stephen Berman  <stephen.berman@gmx.net>
 +2014-05-08  Stephen Berman  <stephen.berman@gmx.net>
  
        * calendar/todo-mode.el (todo-insert-item--apply-args): When all
        four slots of the parameter list are filled, make sure to pass it
        to the argument list of todo-insert-item--basic.
  
 -2014-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * emacs-lisp/package.el (package-compute-transaction): Topological sort.
        Add optional `seen' argument to detect and break infinite loops.
  
 -2014-05-06  Eli Zaretskii  <eliz@gnu.org>
 +2014-05-08  Eli Zaretskii  <eliz@gnu.org>
  
        * emacs-lisp/find-gc.el (find-gc-unsafe, find-unsafe-funcs)
        (trace-unsafe, trace-use-tree): Make parentheses style be
        according to Emacs style.
  
 -2014-05-06  Michael Albinus  <michael.albinus@gmx.de>
 +2014-05-08  Michael Albinus  <michael.albinus@gmx.de>
  
        * net/tramp-sh.el (tramp-remote-process-environment):
        Remove HISTFILE and HISTSIZE; it's too late to set them here.
        Add :version entry.
        (tramp-open-shell): Do not let-bind `tramp-end-of-output'.
 -      Add "HISTFILE=/dev/null" to the shell's env arguments.  Do not send
 +      Add "HISTSIZE=/dev/null" to the shell's env arguments.  Do not send
        extra "PSx=..." commands.
        (tramp-maybe-open-connection): Setenv HISTFILE to /dev/null.
        (Bug#17295)
        name.  (Bug#17415)
        This is CVE-2014-3424.
  
 -2014-05-06  Glenn Morris  <rgm@gnu.org>
 +2014-05-08  Glenn Morris  <rgm@gnu.org>
  
        * emacs-lisp/find-gc.el (find-gc-source-directory): Give it a value.
        (find-gc-source-files): Update some names.
        Avoid predictable temp-file names.  (http://bugs.debian.org/747100)
        This is CVE-2014-3422.
  
 -2014-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * minibuffer.el (completion--try-word-completion): Revert fix for
        Bug#15980 (bug#17375).
        Don't burp is xterm-mouse-last is not set as expected.
        Never return negative indices.
  
 -2014-05-05  Dmitry Gutov  <dgutov@yandex.ru>
 +2014-05-08  Dmitry Gutov  <dgutov@yandex.ru>
  
        * progmodes/ruby-mode.el (ruby-syntax-propertize-function):
        Backtrack one char if the global/char-literal var matcher hits
        inside a string.  The next char could be the beginning of an
        expression expansion.
  
 -2014-05-05  Glenn Morris  <rgm@gnu.org>
 +2014-05-08  Glenn Morris  <rgm@gnu.org>
  
        * help-fns.el (describe-function-1): Test for an autoload before a
        macro, since `macrop' works on autoloads.  (Bug#17410)
  
 -2014-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * electric.el (electric-indent-functions-without-reindent): Add yaml.
  
        * minibuffer.el (completion-table-with-quoting) <completion--unquote>:
        Make sure the new point we return is within the new string (bug#17239).
  
 -2014-05-03  Eli Zaretskii  <eliz@gnu.org>
 +2014-05-05  Daniel Colascione  <dancol@dancol.org>
 +
 +      * progmodes/compile.el (compilation-error-regexp-alist-alist):
 +      Port `gnu' pattern to rx.
 +
 +2014-05-05  Jarek Czekalski  <jarekczek@poczta.onet.pl>
 +
 +      Remove unneeded prompt when closing a buffer with active
 +      emacsclient ("Buffer ... still has clients"), #16548.
 +      * server.el (server-start): Remove the only call to:
 +      (server-kill-buffer-query-function): Remove.
 +
 +2014-05-04  Leo Liu  <sdl.web@gmail.com>
 +
 +      * calendar/diary-lib.el (calendar-chinese-month-name-array):
 +      Defvar to pacify compiler.
 +
 +2014-05-04  Eli Zaretskii  <eliz@gnu.org>
  
        * mail/rmailsum.el (rmail-new-summary-1): Fix a typo in a comment.
  
 -2014-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * vc/ediff-diff.el (ediff-set-fine-diff-properties-in-one-buffer):
        Use nil rather than `default' for the "default" appearance (bug#17388).
        * vc/ediff-init.el (ediff-set-overlay-face): Don't set help-echo if the
        overlay is not visible.
  
 -2014-05-02  Stephen Berman  <stephen.berman@gmx.net>
 +2014-05-04  Stephen Berman  <stephen.berman@gmx.net>
  
        * calendar/todo-mode.el (todo-edit-file): Use display-warning.
        (todo-menu): Uncomment and update.
  
 -2014-05-02  Stephen Berman  <stephen.berman@gmx.net>
 +2014-05-04  Stephen Berman  <stephen.berman@gmx.net>
  
        * calendar/todo-mode.el: Reimplement item editing to have the same
        basic user interface as item insertion, and make small UI and
        (todo-key-bindings-t): Bind "e" to todo-edit-item.
        Remove bindings of deleted commands.
  
 -2014-05-02  Leo Liu  <sdl.web@gmail.com>
 +2014-05-04  Leo Liu  <sdl.web@gmail.com>
  
        * emacs-lisp/cl-macs.el (cl-deftype): Fix indentation.
  
 -2014-05-01  Glenn Morris  <rgm@gnu.org>
 +2014-05-04  Glenn Morris  <rgm@gnu.org>
  
        * allout-widgets.el (allout-widgets-tally)
        (allout-decorate-item-guides):
        * textmodes/reftex-parse.el (reftex-using-biblatex-p):
        Doc fixes (replace `iff').
  
 -2014-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * mpc.el (mpc-volume-mouse-set): Don't burp at the boundaries.
  
 +2014-05-04  Leo Liu  <sdl.web@gmail.com>
 +
 +      Support Chinese diary entries in calendar and diary.  (Bug#17393)
 +      * calendar/cal-china.el (calendar-chinese-month-name-array): New var.
 +      (calendar-chinese-from-absolute-for-diary)
 +      (calendar-chinese-to-absolute-for-diary)
 +      (calendar-chinese-mark-date-pattern, diary-chinese-mark-entries)
 +      (diary-chinese-list-entries): New functions to list and mark
 +      Chinese diary entries in the calendar window.
 +      (diary-chinese-anniversary)
 +      (diary-chinese-insert-anniversary-entry)
 +      (diary-chinese-insert-entry, diary-chinese-insert-monthly-entry)
 +      (diary-chinese-insert-yearly-entry): New commands to insert
 +      Chinese diary entries.
 +
 +      * calendar/diary-lib.el (diary-font-lock-keywords):
 +      Support font-locking Chinese dates.
 +
 +      * calendar/cal-menu.el (cal-menu-diary-menu): Add entries for
 +      inserting Chinese diary entries.
 +
 +      * calendar/calendar.el (diary-chinese-entry-symbol):
 +      New customizable variable.
 +      (calendar-mode-map): Add bindings for inserting Chinese diary
 +      entries.
 +
 +2014-05-03  Juri Linkov  <juri@jurta.org>
 +
 +      * dired.el (dired-check-switches, dired-switches-recursive-p):
 +      New functions.  (Bug#17218)
 +      (dired-switches-escape-p, dired-move-to-end-of-filename):
 +      Use `dired-check-switches'.
 +      (dired-insert-old-subdirs, dired-build-subdir-alist)
 +      (dired-sort-R-check): Use `dired-switches-recursive-p'.
 +
 +2014-05-01  Barry O'Reilly  <gundaetiapo@gmail.com>
 +
 +      * simple.el (undo-make-selective-list): New algorithm fixes
 +      incorrectness of position adjustments when undoing in region.
 +      (Bug#17235)
 +      (undo-elt-crosses-region): Make obsolete.
 +      (undo-adjust-elt, undo-adjust-beg-end, undo-adjust-pos):
 +      New functions to adjust positions using undo-deltas.
 +
 +2014-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/lisp-mode.el (lisp--match-hidden-arg): Only highlight past
 +      the last consecutive closing paren (bug#17345).
 +
 +2014-04-30  Reuben Thomas  <rrt@sc3d.org>
 +
 +      * dired.el (dired-mode): make terminology for eXpunge command
 +      consistent.  (Bug#17276)
 +
  2014-04-30  Eli Zaretskii  <eliz@gnu.org>
  
        * dired.el (dired-initial-position-hook, dired-initial-position):
        Doc string fixes.
  
 -2014-04-29  Glenn Morris  <rgm@gnu.org>
 +2014-04-30  Glenn Morris  <rgm@gnu.org>
  
        * mail/rmail.el (rmail-quit): Handle killed summaries.  (Bug#17283)
  
 -2014-04-27  Matthias Dahl  <matthias.dahl@binary-island.eu>
 +2014-04-30  Matthias Dahl  <matthias.dahl@binary-island.eu>
  
        * faces.el (face-spec-recalc): Apply X resources only after the
        defface spec has been applied. Thus, X resources are no longer
        the toolbar coloring was wrong because it is set through X resources
        and was (wrongfully) overriden.  (Bug#16694)
  
 -2014-04-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-04-30  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * textmodes/rst.el (electric-pair-pairs): Declare.
        (rst-mode): Set it (bug#17131).
  
 -2014-04-27  Juri Linkov  <juri@jurta.org>
 +2014-04-30  Juri Linkov  <juri@jurta.org>
  
        * desktop.el (desktop-value-to-string): Let-bind `print-length'
        and `print-level' to nil.  (Bug#17351)
  
 -2014-04-25  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
 +2014-04-30  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
  
        * battery.el (battery-update): Handle the case where battery
        status is "N/A" (bug#17319).
  
 -2014-04-24  Eli Zaretskii  <eliz@gnu.org>
 +2014-04-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/ps-mode.el: Use SMIE.  Move string and comment recognition
 +      to syntax-propertize.
 +      (ps-mode-auto-indent): Mark as obsolete.
 +      (ps-mode-font-lock-keywords-1): Remove string-or-comment handling.
 +      (ps-mode-font-lock-keywords-3): Use symbol regexp operators instead of
 +      word regexp operators.
 +      (ps-mode-map): Move initialization into declaration.  Remove binding
 +      for TAB, RET, >, ], and }.
 +      (ps-mode-syntax-table): Move initialization into declaration.
 +      Don't give word syntax to non-word chars.
 +      (ps-run-mode-map): Move initialization into declaration.
 +      (ps-mode-menu-main): Remove auto-indent entry.
 +      (ps-mode-smie-rules): New function.
 +      (ps-mode): Setup smie, syntax-propertize, and electric-indent-mode.
 +      (ps-mode-looking-at-nested, ps-mode-match-string-or-comment): Remove.
 +      (ps-mode--string-syntax-table): New const.
 +      (ps-mode--syntax-propertize-special, ps-mode-syntax-propertize):
 +      New functions.
 +      (ps-mode-newline, ps-mode-tabkey, ps-mode-r-brace, ps-mode-r-angle)
 +      (ps-mode-r-gt, ps-mode-r-balance): Remove functions.
 +
 +2014-04-27  Daniel Colascione  <dancol@dancol.org>
 +
 +      * term/xterm.el (xterm-paste): Use large finite timeout when
 +      reading event to avoid putting keys in this-command-keys.
 +
 +2014-04-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/perl-mode.el (perl--syntax-exp-intro-regexp): New var.
 +      (perl-syntax-propertize-function): Use it.  Extend handling of
 +      here-docs to the unquoted case.
 +
 +2014-04-25  Eli Zaretskii  <eliz@gnu.org>
  
        * tooltip.el (tooltip-show-help-non-mode, tooltip-show-help):
        Use equal-including-properties to compare help-echo strings (bug#17331).
  
 -2014-04-24  Leo Liu  <sdl.web@gmail.com>
 +2014-04-25  Leo Liu  <sdl.web@gmail.com>
  
        * emacs-lisp/lisp-mode.el (emacs-lisp-mode-syntax-table):
        Fix syntax for @.  (Bug#17325)
  
 -2014-04-24  Daniel Colascione  <dancol@dancol.org>
 +2014-04-25  Daniel Colascione  <dancol@dancol.org>
  
        * emacs-lisp/cl.el (gv): Require gv early to break eager
        macro-expansion cycles.
  
 -2014-04-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-04-25  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * simple.el (region-active-p): Check there's a mark (bug#17324).
  
        * progmodes/perl-mode.el (perl-syntax-propertize-function): Slash after
        &, |, +, - and * can't be a division (bug#17317).
  
 -2014-04-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 -
        * term/xterm.el (xterm--version-handler): Don't use modern xterm
        features on gnome-terminal (bug#16988).
  
 +2014-04-25  Thien-Thi Nguyen  <ttn@gnu.org>
 +
 +      Improve Scheme font-locking for (define ((foo ...) ...) ...).
 +
 +      * progmodes/scheme.el (scheme-font-lock-keywords-1): To find
 +      the declared object, ignore zero or more parens, not zero or one.
 +
 +2014-04-24  Leo Liu  <sdl.web@gmail.com>
 +
 +      * progmodes/xscheme.el (xscheme-expressions-ring)
 +      (xscheme-expressions-ring-yank-pointer, xscheme-running-p)
 +      (xscheme-control-g-disabled-p, xscheme-process-filter-state)
 +      (xscheme-allow-output-p, xscheme-prompt)
 +      (xscheme-string-accumulator, xscheme-mode-string): Use defvar-local.
 +
 +      * progmodes/scheme.el (would-be-symbol, next-sexp-as-string):
 +      Comment out unused functions.
 +
 +2014-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * info.el: Use lexical-binding and cl-lib.
 +      Use defvar-local and setq-local instead of make-local-variable.
 +      (Info-apropos-matches): Avoid add-to-list.
 +      (Info-edit-mode-map): Fix obsolescence call to Info-edit-map.
 +
 +2014-04-24  Daniel Colascione  <dancol@dancol.org>
 +
 +      * progmodes/sh-script.el (sh-builtins): Add coproc to list of bash builtins.
 +
 +2014-04-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/cl-macs.el (cl--loop-let): Fix last merge.
 +
  2014-04-22  Michael Heerdegen  <michael_heerdegen@web.de>
  
        * dired.el (dired-insert-set-properties): Do not consider
        (tramp-do-copy-or-rename-file-out-of-band): Do not quote `source'
        and `target' twice.
  
 -2014-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-04-22  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * dframe.el (dframe-get-focus): Remove `hook' argument (bug#17311).
        * speedbar.el (speedbar-get-focus): Run the "hook" afterwards instead.
  
        * emacs-lisp/cl-macs.el (cl--loop-let): Avoid `nil' as var name.
  
 -2014-04-21  Michael Albinus  <michael.albinus@gmx.de>
 +2014-04-22  Michael Albinus  <michael.albinus@gmx.de>
  
        * net/tramp-sh.el (tramp-sh-handle-file-name-all-completions):
        Set "IFS=" when using read builtin, in order to preserve spaces in
        the file name.  Add test messages for hunting a bug on hydra.
        (tramp-get-ls-command): Undo using "-b" argument.  It doesn't help.
  
 -2014-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-04-22  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * progmodes/prog-mode.el (prettify-symbols--compose-symbol):
        Don't prettify a word within a symbol.
  
 -2014-04-20  Michael Albinus  <michael.albinus@gmx.de>
 +2014-04-22  Michael Albinus  <michael.albinus@gmx.de>
  
        * net/tramp-sh.el (tramp-get-ls-command): Use "-b" argument if
        possible.
  
 +2014-04-22  Daniel Colascione  <dancol@dancol.org>
 +
 +      * emacs-lisp/byte-run.el (function-put): Unbreak build: don't
 +      use defun to define `function-put'.
 +
 +2014-04-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/lisp-mode.el (lisp--match-hidden-arg): New function.
 +      (lisp-el-font-lock-keywords-2, lisp-cl-font-lock-keywords-2): Use it.
 +      (lisp-mode-variables): Set font-lock-extra-managed-props.
 +
 +      * emacs-lisp/byte-run.el (function-put): New function.
 +      (defun-declarations-alist): Use it.  Add `pure' and `side-effect-free'.
 +      * emacs-lisp/cl-macs.el (cl-defstruct, cl-struct-sequence-type)
 +      (cl-struct-slot-info, cl-struct-slot-offset, cl-struct-slot-value):
 +      Use them.
 +
 +2014-04-22  Daniel Colascione  <dancol@dancol.org>
 +
 +      * emacs-lisp/macroexp.el (internal-macroexpand-for-load):
 +      Add `full-p' parameter; when nil, call `macroexpand' instead of
 +      `macroexpand-all'.
 +
 +      * emacs-lisp/byte-run.el (eval-when-compile, eval-and-compile):
 +      Improve docstrings.
 +
 +      * emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment):
 +      Use lambda function values, not quoted lambdas.
 +      (byte-compile-recurse-toplevel): Remove extraneous &optional.
 +
 +      * emacs-lisp/cl-macs.el
 +      (cl-struct-sequence-type, cl-struct-slot-info): Declare pure.
 +      (cl-struct-slot-value): Conditionally use aref or nth so that the
 +      compiler produces optimal code.
 +
 +2014-04-22  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emacs-lisp/cl-macs.el (cl-struct-slot-offset): Mark as pure.
 +      (inline): Don't inline cl--set-elt.
 +      (cl-struct-slot-value): Remove explicit gv-setter and compiler-macro.
 +      Define as inlinable instead.
 +      (cl-struct-set-slot-value): Remove.
 +
 +      * emacs-lisp/cl-lib.el (cl--set-elt): Remove.
 +      * emacs-lisp/cl-seq.el (cl-replace, cl-substitute, cl-nsubstitute):
 +      Use setf instead.
 +
 +2014-04-21  Daniel Colascione  <dancol@dancol.org>
 +
 +      * emacs-lisp/cl-macs.el (cl--const-expr-val): We didn't need the
 +      last two parameters after all.
 +      (cl--expr-contains,cl--compiler-macro-typep,cl--compiler-macro-member)
 +      (cl--compiler-macro-assoc,cl-struct-slot-value)
 +      (cl-struct-set-slot-value): Stop using them.
 +
 +(2014-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * image-mode.el (image-mode-window-put): Don't assume there's a `t'
 +      entry in image-mode-winprops-alist.
 +
 +2014-04-21  Daniel Colascione  <dancol@dancol.org>
 +
 +      * emacs-lisp/bytecomp.el (byte-compile-recurse-toplevel): New function.
 +      (byte-compile-recurse-toplevel, byte-compile-initial-macro-environment)
 +      (byte-compile-toplevel-file-form): Use it.
 +
 +      * emacs-lisp/cl-macs.el:
 +      (cl--loop-let): Properly destructure `while' clauses.
 +
 +2014-04-20  Daniel Colascione  <dancol@dancol.org>
 +
 +      * vc/vc.el (vc-root-dir): New public autoloaded function for
 +      generically finding the current VC root.
 +      * vc/vc-hooks.el (vc-not-supported): New error.
 +      (vc-call-backend): Signal `vc-not-supported' instead of generic error.
 +
 +2014-04-20  Daniel Colascione  <dancol@dancol.org>
 +
 +      * emacs-lisp/cl-macs.el (cl-the): Make `cl-the' assert its type
 +      argument.
 +      (cl--const-expr-val): cl--const-expr-val should macroexpand its
 +      argument in case we're inside a symbol-macrolet.
 +      (cl--do-arglist, cl--compiler-macro-typep)
 +      (cl--compiler-macro-member, cl--compiler-macro-assoc): Pass macro
 +      environment to `cl--const-expr-val'.
 +      (cl-struct-sequence-type,cl-struct-slot-info)
 +      (cl-struct-slot-offset, cl-struct-slot-value)
 +      (cl-struct-set-slot-value): New functions.
 +
  2014-04-19  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * progmodes/sh-script.el (sh-smie--sh-keyword-p): Handle variable
  
        * net/tramp-compat.el (tramp-unload-hook): Unload `tramp-loaddefs'.
  
 -2014-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-04-17  Daniel Colascione  <dancol@dancol.org>
 +
 +      Add support for bracketed paste mode; add infrastructure for
 +      managing terminal mode enabling and disabling automatically.
 +
 +      * xt-mouse.el:
 +      (xterm-mouse-mode): Simplify.
 +      (xterm-mouse-tracking-enable-sequence)
 +      (xterm-mouse-tracking-disable-sequence): New constants.
 +      (turn-on-xterm-mouse-tracking-on-terminal)
 +      (turn-off-xterm-mouse-tracking-on-terminal):
 +      Use tty-mode-set-strings and tty-mode-reset-strings terminal
 +      parameters instead of random hooks.
 +      (turn-on-xterm-mouse-tracking)
 +      (turn-off-xterm-mouse-tracking): Delete.
 +
 +      * term/xterm.el (xterm-extra-capabilities): Fix bitrotted comment.
 +      (xterm-paste-ending-sequence): New constant.
 +      (xterm-paste): New command used for bracketed paste support.
 +
 +      (xterm-modify-other-keys-terminal-list): Delete obsolete variable.
 +      (terminal-init-xterm-bracketed-paste-mode): New function.
 +      (terminal-init-xterm): Call it.
 +      (terminal-init-xterm-modify-other-keys): Use tty-mode-set-strings
 +      and tty-mode-reset-strings instead of random hooks.
 +      (xterm-turn-on-modify-other-keys)
 +      (xterm-turn-off-modify-other-keys)
 +      (xterm-remove-modify-other-keys): Delete obsolete functions.
 +
 +      * term/screen.el: Rewrite to just use the xterm code.
 +      Add copyright notice.  Mention tmux.
 +
 +2014-04-17  Ian D  <dunni@gnu.org>  (tiny change)
 +
 +      * image-mode.el (image-mode-window-put): Also update the property of
 +      the "default window".
 +      * doc-view.el (doc-view-new-window-function): If no window
 +      exists, move to the last known page.
  
 -      * nxml/nxml-mode.el (nxml-fontify-matcher): Make sure propertization
 -      was done (bug#17264).
 -      * nxml/xmltok.el (xmltok-scan-after-comment-open): Extend unclosed
 -      comment to EOB.
 +2014-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * progmodes/perl-mode.el (perl-calculate-indent): Don't auto-indent in
        here-documents (bug#17262).
        * term/pc-win.el (x-list-fonts, x-get-selection-value):
        Provide doc strings, as required by snarf-documentation.
  
 -2014-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * ps-def.el (ps-generate-postscript-with-faces1): Use the new `sorted'
        arg of overlays-at.  Use `invisible-p'.
        overlays-at.
        (hfy-fontify-buffer): Remove unused var `orig-ovls'.
  
 -2014-04-14  João Távora  <joaotavora@gmail.com>
 +2014-04-16  João Távora  <joaotavora@gmail.com>
  
        * net/shr.el (shr-expand-url): Use `expand-file-name' for relative
        links.  (Bug#17217).
  
 -2014-04-14  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +2014-04-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
        * vc/ediff-diff.el (ediff-set-fine-diff-properties-in-one-buffer):
        Use mapc to loop over a vector.  (Bug#17257).
  
 -2014-04-13  Michael Albinus  <michael.albinus@gmx.de>
 +2014-04-16  Michael Albinus  <michael.albinus@gmx.de>
  
        * net/tramp-sh.el (tramp-sh-handle-file-truename): Revert previous
        patch, there are new problems with file names containing spaces.
        Get rid of backticks.  (Bug#17238)
  
 -2014-04-13  João Távora  <joaotavora@gmail.com>
 +2014-04-16  João Távora  <joaotavora@gmail.com>
  
        * elec-pair.el (electric-pair--syntax-ppss): Simplify and fix
        possible bug.
  
 -2014-04-13  Eli Zaretskii  <eliz@gnu.org>
 +2014-04-16  Eli Zaretskii  <eliz@gnu.org>
  
        * frame.el (blink-cursor-blinks, blink-cursor-blinks-done): Doc fixes.
        (blink-cursor-mode): Mention customization variables and the
        effect of 'blink-cursor-blinks'.
  
 -2014-04-12  Barry O'Reilly  <gundaetiapo@gmail.com>
 +2014-04-16  Barry O'Reilly  <gundaetiapo@gmail.com>
  
        * simple.el (undo): Prevent insertion of identity mapping into
        undo-equiv-table so as undo-only does not inf loop in the presence
        of consecutive nils in undo list.
  
 -2014-04-12  Matthias Dahl  <matthias.dahl@binary-island.eu>
 +2014-04-16  Matthias Dahl  <matthias.dahl@binary-island.eu>
  
        * faces.el (make-face): Deprecate optional argument as it is no
        longer needed/used since the conditional X resources handling
        has been pushed down to make-face-x-resource-internal itself.
        (make-empty-face): Don't pass optional argument to make-face.
  
 +2014-04-16  Karl Fogel  <kfogel@red-bean.com>
 +
 +      * savehist.el (savehist-save): Remove workaround for a read-passwd
 +      bug that was fixed before 24.3.  Thanks to Juanma Barranquero for
 +      noticing that the shim was still present.
 +
 +2014-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * doc-view.el (doc-view-set-doc-type): Ignore file name case; add .pps.
 +
 +2014-04-14  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * faces.el (face-set-after-frame-default): Remove unused local variable.
 +
 +2014-04-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * progmodes/grep.el: Use lexical-binding.
 +      (grep-expand-template): Pass explicit lexical env to `eval'.
 +      (zrgrep): Let-bind grep-find-template explicitly.
 +
 +      * emacs-lisp/cl-lib.el (current-case-table): Remove setter.
 +      * leim/quail/sisheng.el (sisheng-list): Use with-case-table.
 +
  2014-04-12  Eli Zaretskii  <eliz@gnu.org>
  
        * international/characters.el <standard-case-table>: Add entries
  
  2014-04-12  Leo Liu  <sdl.web@gmail.com>
  
 -      * progmodes/octave.el (completion-table-with-cache): Define if not
 -      available.
 -      (octave-goto-function-definition)
 -      (octave-sync-function-file-names)
 -      (octave-find-definition-default-filename): Backquote upattern for
 -      compatibility.
 +      * progmodes/octave.el (completion-table-with-cache):
 +      Define if not available.
 +      (octave-goto-function-definition, octave-sync-function-file-names)
 +      (octave-find-definition-default-filename):
 +      Backquote upattern for compatibility.
  
 -2014-04-11  Michael Albinus  <michael.albinus@gmx.de>
 +2014-04-12  Michael Albinus  <michael.albinus@gmx.de>
  
        * net/tramp-sh.el (tramp-sh-handle-file-truename): Quote the file
        name twice due to backticks.  (Bug#17238)
  
 -2014-04-11  Glenn Morris  <rgm@gnu.org>
 +2014-04-12  Glenn Morris  <rgm@gnu.org>
  
        * term/w32-win.el (x-win-suspend-error):
        * term/x-win.el (x-win-suspend-error): Sync docs.
  
 -2014-04-10  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-04-12  Matthias Dahl  <matthias.dahl@binary-island.eu>
 +
 +      * faces.el (make-face): Remove deprecated optional argument.
 +      The conditional application of X resources is handled directly by
 +      make-face-x-resource-internal since Emacs 24.4.
 +      (make-empty-face): Don't pass optional argument to make-face.
 +
 +2014-04-11  Glenn Morris  <rgm@gnu.org>
 +
 +      * Makefile.in (EMACSDATA, EMACSDOC, EMACSPATH): Unexport.  (Bug#16429)
 +
 +2014-04-11  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        Ediff's overlay priorities cause more trouble than they solve.
        * vc/ediff-init.el (ediff-shadow-overlay-priority): Remove variable.
        (ediff-set-fine-diff-properties-in-one-buffer): Don't mess with
        overlay priorities.
  
 -2014-04-10  Feng Li  <fengli@gmail.com>  (tiny change)
 +2014-04-11  Feng Li  <fengli@gmail.com>  (tiny change)
  
        * progmodes/pascal.el (pascal-font-lock-keywords): Fix incorrect format
        entry; use symbol boundaries to avoid mis-matches.
  
 -2014-04-10  Michael Albinus  <michael.albinus@gmx.de>
 +2014-04-11  Michael Albinus  <michael.albinus@gmx.de>
  
        * net/tramp.el (tramp-file-name-handler)
        (tramp-completion-file-name-handler): Avoid recursive loading.
        * net/tramp-sh.el (tramp-make-copy-program-file-name):
        Quote result also locally.
  
 +2014-04-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * emulation/cua-base.el (<toplevel>, cua--pre-command-handler-1):
 +      Remove left-over code.
 +
 +      * newcomment.el (comment-indent-new-line): Sink code where it's used.
 +      Reuse the previous comment's indentation unconditionally if it's on its
 +      own line.
 +
 +2014-04-09  Daniel Colascione  <dancol@dancol.org>
 +
 +      * emacs-lisp/lisp.el (backward-up-list): Add `escape-strings',
 +      `no-syntax-crossing' arguments.  Forward to `up-list'.
 +      (up-list): Add `escape-strings', `no-syntax-crossing' arguments.
 +      Implement logic for escaping from strings.  Use narrowing to deal
 +      with corner cases.
 +
 +2014-04-09  Leo Liu  <sdl.web@gmail.com>
 +
 +      * net/rcirc.el (rcirc-connection-info): New variable.
 +      (rcirc-connect): Use it to store connection info.
 +      (rcirc-buffer-process): Avoid get-buffer-process which returns nil
 +      for killed process.
 +      (rcirc-cmd-reconnect): New command.  (Bug#17045)
 +      (rcirc-mode, set-rcirc-encode-coding-system)
 +      (set-rcirc-decode-coding-system, rcirc-connect): Use setq-local.
 +
 +2014-04-09  Daniel Colascione  <dancol@dancol.org>
 +
 +      * emacs-lisp/cl-indent.el: Add comment claiming
 +      facility is also good for elisp.
 +      (lisp-indent-find-method): New function.
 +      (common-lisp-indent-function): Recognize cl-loop.
 +      (common-lisp-indent-function-1): Recognize cl constructs; use
 +      `lisp-indent-find-method' instead of `get' directly.
 +      (if): Use else-body style for elisp.
 +
  2014-04-09  Dmitry Gutov  <dgutov@yandex.ru>
  
        * progmodes/ruby-mode.el (ruby-font-lock-keywords): Highlight more
        Module methods.  (Bug#17216)
  
 -2014-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * help.el (describe-bindings): Fix buffer handling (bug#17210).
        (describe-bindings-internal): Mark obsolete.
  
 +2014-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * subr.el (with-silent-modifications): Don't bind deactivate-mark,
 +      buffer-file-name, and buffer-file-truename any more.
 +
 +2014-04-08  Leo Liu  <sdl.web@gmail.com>
 +
 +      Use lexical-binding and require cl-lib.
 +      * net/rcirc.el (rcirc, rcirc-handler-ctcp-KEEPALIVE)
 +      (rcirc-handler-generic, rcirc-fill-paragraph)
 +      (rcirc-format-response-string, rcirc-target-buffer)
 +      (rcirc-last-line, rcirc-record-activity, rcirc-split-activity)
 +      (rcirc-activity-string, rcirc-make-trees, rcirc-cmd-ctcp)
 +      (rcirc-ctcp-sender-PING, rcirc-browse-url)
 +      (rcirc-markup-timestamp, rcirc-markup-attributes)
 +      (rcirc-markup-my-nick, rcirc-markup-urls)
 +      (rcirc-markup-bright-nicks, rcirc-markup-fill)
 +      (rcirc-check-auth-status, rcirc-handler-WALLOPS)
 +      (rcirc-handler-JOIN, rcirc-handler-PART-or-KICK)
 +      (rcirc-handler-PART, rcirc-handler-KICK, rcirc-handler-QUIT)
 +      (rcirc-handler-NICK, rcirc-handler-PING, rcirc-handler-PONG)
 +      (rcirc-handler-TOPIC, rcirc-handler-301, rcirc-handler-317)
 +      (rcirc-handler-332, rcirc-handler-333, rcirc-handler-477)
 +      (rcirc-handler-MODE, rcirc-handler-353, rcirc-handler-366)
 +      (rcirc-authenticate, rcirc-handler-INVITE, rcirc-handler-ERROR)
 +      (rcirc-handler-ctcp-VERSION, rcirc-handler-ctcp-TIME)
 +      (rcirc-handler-CTCP-response): Fix unused arguments warnings and
 +      use cl-lib.
 +
  2014-04-07  João Távora  <joaotavora@gmail.com>
  
 -      * elec-pair.el:
 -      (electric-pair--syntax-ppss): When inside comments parse from
 -      comment beginning.
 +      * elec-pair.el (electric-pair--syntax-ppss):
 +      When inside comments parse from comment beginning.
        (electric-pair--balance-info): Fix typo in comment.
        (electric-pair--in-unterminated-string-p): Delete.
        (electric-pair--unbalanced-strings-p): New function.
        (electric-pair-inhibit-if-helps-balance): Decide quote pairing
        according to `electric-pair--in-unterminated-string-p'
  
 -2014-04-07  João Távora  <joaotavora@gmail.com>
 -
        * elec-pair.el (electric-pair-inhibit-if-helps-balance):
        Inhibit quote pairing if point-max is inside an unterminated string.
        (electric-pair--looking-at-unterminated-string-p): Delete.
        * shell.el (shell-directory-tracker):
        Go back to just ignoring failures.  (Bug#17159)
  
 -2014-04-06  João Távora  <joaotavora@gmail.com>
 +2014-04-07  João Távora  <joaotavora@gmail.com>
  
        Fix `electric-pair-delete-adjacent-pairs' in modes binding
        backspace. (bug#16981)
        a new `electric-pair-delete-pair' command.
        (electric-pair-delete-pair): New command.
  
 -2014-04-06  João Távora  <joaotavora@gmail.com>
 -
        * progmodes/python.el (python-electric-pair-string-delimiter):
        Fix triple-quoting electricity.  (Bug#17192)
  
 -2014-04-06  João Távora  <joaotavora@gmail.com>
 -
        * elec-pair.el (electric-pair-post-self-insert-function):
        Don't skip whitespace when `electric-pair-text-pairs' and
        `electric-pair-pairs' were used. syntax to
        electric-pair--skip-whitespace.  (Bug#17183)
  
 -2014-04-06  Eli Zaretskii  <eliz@gnu.org>
 +2014-04-07  Eli Zaretskii  <eliz@gnu.org>
  
        * leim/quail/ipa.el (ipa-x-sampa): Fix the character produced for
        "<F>".  (Bug#17199)
  
 -2014-04-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * mpc.el (mpc--status-timer-run): Disable timer if not displayed.
        (mpc--status-idle-timer-run): Use mpc--status-timer-run.
  
 -2014-04-05  Glenn Morris  <rgm@gnu.org>
 +2014-04-07  Glenn Morris  <rgm@gnu.org>
  
        * help.el (view-lossage): Doc tweak.
  
 -2014-04-05  Matthias Dahl  <matthias.dahl@binary-island.eu>
 +2014-04-07  Matthias Dahl  <ml_emacs-lists@binary-island.eu>
  
        * faces.el (face-spec-recalc): Call make-face-x-resource-internal
        only when inhibit-x-resources is nil, and do that earlier in the
        (face-set-after-frame-default): Don't call
        make-face-x-resource-internal here.  (Bug#16434)
  
 -2014-04-04  Tassilo Horn  <tsdh@gnu.org>
 +2014-04-07  Tassilo Horn  <tsdh@gnu.org>
  
        * doc-view.el (doc-view-bookmark-jump):
        Use `bookmark-after-jump-hook' to jump to the right page after the
        buffer is shown in a window.  (bug#16090)
  
 -2014-04-04  Eli Zaretskii  <eliz@gnu.org>
 +2014-04-07  Eli Zaretskii  <eliz@gnu.org>
  
        * international/characters.el (mirroring): Fix last change:
        instead of loading uni-mirrored.el explicitly, do that implicitly
        by creating the 'mirroring' uniprop table.  This avoids announcing
        the loading of uni-mirrored.el.
  
 -2014-04-04  Glenn Morris  <rgm@gnu.org>
 +2014-04-07  Glenn Morris  <rgm@gnu.org>
  
        * files.el (buffer-stale--default-function)
        (buffer-stale-function, revert-buffer--default):
        * autorevert.el (auto-revert-buffers): Doc tweaks.
  
 -2014-04-03  Eli Zaretskii  <eliz@gnu.org>
 +2014-04-07  Eli Zaretskii  <eliz@gnu.org>
  
        * international/characters.el: Preload uni-mirrored.el.  (Bug#17169)
  
 -2014-04-03  Glenn Morris  <rgm@gnu.org>
 +2014-04-07  Glenn Morris  <rgm@gnu.org>
  
        * files.el (make-backup-file-name-function)
        (make-backup-file-name, make-backup-file-name--default-function)
        (make-backup-file-name-function): Bump :version.
        Restore nil as a valid but deprecated custom type.
  
 -2014-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
  
 -      * progmodes/perl-mode.el (perl-syntax-propertize-function): Handle $'
 -      used as a variable (bug#17174).
 -
 -2014-04-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 +      * progmodes/perl-mode.el (perl-syntax-propertize-function):
 +      Handle $' used as a variable (bug#17174).
  
        * progmodes/perl-mode.el (perl-indent-new-calculate):
        Handle forward-sexp failure (bug#16985).
        (perl-syntax-propertize-function): Add "foreach" and "for" statement
        modifiers introducing expressions (bug#17116).
  
 +2014-04-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * dired-aux.el (dired-file-set-difference): Use lexical-scoping.
 +
 +2014-04-05  Leo Liu  <sdl.web@gmail.com>
 +
 +      * emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
 +      Add define-compilation-mode.
 +
 +2014-04-04  João Távora  <joaotavora@gmail.com>
 +
 +      * elec-pair.el (electric-pair--syntax-ppss): When inside comments
 +      parse from comment beginning.
 +      (electric-pair--balance-info): Fix typo in comment.
 +      (electric-pair--in-unterminated-string-p): Delete.
 +      (electric-pair--unbalanced-strings-p): New function.
 +      (electric-pair-string-bound-function): New var.
 +      (electric-pair-inhibit-if-helps-balance): Decide quote pairing
 +      according to `electric-pair--in-unterminated-string-p'.
 +
 +2014-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * textmodes/reftex-parse.el (reftex--index-tags): Rename `index-tags'.
 +      Move declaration before first use.
 +      (reftex-move-to-next-arg): Silence compiler warning.
 +
 +2014-04-04  Joost Kremers  <joostkremers@fastmail.fm>  (tiny change)
 +
 +      * textmodes/reftex-toc.el (reftex-toc, reftex-re-enlarge):
 +      Use `window-total-width' instead of `window-width'.
 +
 +2014-04-03  Daniel Colascione  <dancol@dancol.org>
 +
 +      * subr.el (set-transient-map): Remove rms's workaround entirely;
 +      use new `suspicious-object' subr to mark our lambda for closer
 +      scrutiny during gc.
 +
 +2014-04-02  Richard Stallman  <rms@gnu.org>
 +
 +      * subr.el (set-transient-map): Comment out previous change.
 +
  2014-04-02  Glenn Morris  <rgm@gnu.org>
  
        * menu-bar.el (menu-bar-file-menu):
  
        * simple.el (command-execute): Respect nil disabled-command-function.
  
 -2014-04-01  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
 +2014-04-02  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
  
        * simple.el (command-execute): Do not execute the command when it
        is disabled; fixes thinko in 2013-02-20 conversion from C.  (Bug#17151)
  
 -2014-03-29  Juri Linkov  <juri@jurta.org>
 +2014-04-02  Juri Linkov  <juri@jurta.org>
  
        * dired-aux.el (dired-compress-file): Don't use string-match-p
        because its match data is used afterwards.
  
 -2014-03-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-04-02  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * emacs-lisp/package.el (package-built-in-p): Treat a min-version of
        0 like nil.
  
 +2014-04-02  João Távora  <joaotavora@gmail.com>
 +
 +      * elec-pair.el (electric-pair-inhibit-if-helps-balance):
 +      Inhibit quote pairing if point-max is inside an unterminated string.
 +      (electric-pair--looking-at-unterminated-string-p):
 +      Delete.
 +      (electric-pair--in-unterminated-string-p): New function.
 +
 +2014-04-01  Daniel Colascione  <dancol@dancol.org>
 +
 +      * minibuffer.el (minibuffer-complete): Prevent assertion failure
 +      when trying to complete the prompt.
 +
 +2014-03-31  Leo Liu  <sdl.web@gmail.com>
 +
 +      * emacs-lisp/eldoc.el (eldoc-print-current-symbol-info):
 +      Refactor out eldoc-documentation-function-default.
 +      (eldoc-documentation-function-default): New function.
 +      (eldoc-documentation-function): Change value.
 +
 +2014-03-31  Glenn Morris  <rgm@gnu.org>
 +
 +      * simple.el (cycle-spacing--context, cycle-spacing): Doc tweaks.
 +
 +      * progmodes/vhdl-mode.el (vhdl-speedbar-select-mra)
 +      (vhdl-compose-components-package, vhdl-compose-configuration):
 +      Abbreviate default-directory (missing from some previous upstream sync).
 +
 +2014-03-31  Reto Zimmermann  <reto@gnu.org>
 +
 +      Sync with upstream vhdl mode v3.35.2.
 +      * progmodes/vhdl-mode.el (vhdl-version, vhdl-time-stamp): Update.
 +      (top-level): No longer require assoc.
 +      (vhdl-asort, vhdl-anot-head-p, vhdl-aput, vhdl-adelete, vhdl-aget):
 +      New functions.  Use throughout to replace aget etc.
 +      (vhdl-aput-delete-if-nil): Rename from vhdl-aput.
 +      (vhdl-update-file-contents): Update for vhdl-aput-delete-if-nil rename.
 +      (vhdl-template-replace-header-keywords): Fix bug for "<title string>".
 +      (vhdl-compile-init): Do not initialize regexps for Emacs 22+.
 +      (vhdl-error-regexp-emacs-alist): Remove regexps from all compilers
 +      except `vhdl-compiler'.
 +      (vhdl-error-regexp-add-emacs): Remove all other compilers,
 +      when appropriate.
 +
 +2014-03-31  Glenn Morris  <rgm@gnu.org>
 +
 +      * progmodes/vhdl-mode.el (vhdl-expand-abbrev, vhdl-expand-paren):
 +      Revert 2014-03-26 merge goof; go back to using defalias.
 +
 +2014-03-30  Daniel Colascione  <dancol@dancol.org>
 +
 +      * comint.el (comint-send-input):
 +      Deactivate completion-in-region-mode before we send comint input.
 +      (Bug#17139).
 +
 +      * simple.el (keyboard-quit): Deactivate completion-in-region-mode
 +      on keyboard-quit.
 +
 +2014-03-29  Glenn Morris  <rgm@gnu.org>
 +
 +      * textmodes/reftex.el: Manage most autoloads automatically.
 +      * textmodes/reftex-auc.el, textmodes/reftex-cite.el:
 +      * textmodes/reftex-dcr.el, textmodes/reftex-global.el:
 +      * textmodes/reftex-index.el, textmodes/reftex-parse.el:
 +      * textmodes/reftex-ref.el, textmodes/reftex-sel.el:
 +      * textmodes/reftex-toc.el: Set generated-autoload-file,
 +      and add autoload cookies for reftex.el.
 +      * Makefile.in (AUTOGEN_VCS): Add textmodes/reftex.el.
 +
 +2014-03-28  Glenn Morris  <rgm@gnu.org>
 +
 +      * cus-start.el (report-emacs-bug-address): Set custom properties.
 +      * mail/emacsbug.el (report-emacs-bug-address):
 +      Variable is now defined in emacs.c.
 +
 +      * mail/emacsbug.el (report-emacs-bug):
 +      Include system-configuration-features.
 +
 +2014-03-28  Michal Nazarewicz  <mina86@mina86.com>
 +
 +      * simple.el (cycle-spacing): Never delete spaces on first run by
 +      default, but do so in a new 'fast mode and if there are already
 +      N spaces (the previous behavior).
 +      Compare N with its value in previous invocation so that changing
 +      prefix argument restarts `cycle-spacing' sequence.
 +      The idea is that with this change, binding M-SPC to
 +      `cycle-spacing' should not introduce any changes in behavior of
 +      the binding so long as users do not type M-SPC twice in a raw with
 +      the same prefix argument or lack thereof.
 +
 +2014-03-28  Glenn Morris  <rgm@gnu.org>
 +
 +      * faces.el (term-file-aliases): New variable.
 +      (tty-run-terminal-initialization): Respect term-file-aliases.
 +      * term/apollo.el, term/vt102.el, term/vt125.el, term/vt201.el:
 +      * term/vt220.el, term/vt240.el, term/vt300.el, term/vt320.el:
 +      * term/vt400.el, term/vt420.el: Remove files, replaced by aliases.
 +
 +2014-03-27  Glenn Morris  <rgm@gnu.org>
 +
 +      * startup.el (inhibit-startup-hooks): Doc tweak.
 +      (normal-top-level): Simplify running of hooks.
 +      For window-setup-hook, respect inhibit-startup-hooks.
 +      (command-line-1): Don't set window-setup-hook to nil.
 +
 +      Allow selective autoloading from obsolete/ directory.
 +      * Makefile.in (obsolete-autoloads): New rule.
 +      (autoloads): Run obsolete-autoloads.
 +      * obsolete/iswitchb.el (iswitchb-mode): Use obsolete-autoload.
 +      * simple.el (iswitchb-mode): Remove hand-written autoloads.
 +
  2014-03-27  Dmitry Gutov  <dgutov@yandex.ru>
  
        * progmodes/ruby-mode.el (ruby-font-lock-keywords):
        * emacs-lisp/package-x.el (package--archive-contents-from-url):
        Use url-insert-file-contents; package-handle-response no longer exists.
  
 +2014-03-26  Daniel Colascione  <dancol@dancol.org>
 +
 +      * simple.el (process-menu-mode-map): New variable.
 +      (process-menu-delete-process): New command.
 +
  2014-03-26  Juanma Barranquero  <lekktu@gmail.com>
  
        * emacs-lisp/package.el: Fix bug#16733 (again).
        dynamic binding of `buffer'.
        (describe-package-1): Do not decode readme-string.
  
 -2014-03-25  Barry O'Reilly  <gundaetiapo@gmail.com>
 -
 -      * simple.el (primitive-undo): Correction to 2014-03-24 change.
 -
 -2014-03-25  Michael Albinus  <michael.albinus@gmx.de>
 +2014-03-26  Michael Albinus  <michael.albinus@gmx.de>
  
        * net/tramp.el (tramp-methods, tramp-connection-timeout): Fix docstring.
  
        (tramp-do-copy-or-rename-file-directly): In the `rename' case,
        check whether source directory has set the sticky bit.
  
 -2014-03-24  Barry O'Reilly  <gundaetiapo@gmail.com>
 +2014-03-26  Barry O'Reilly  <gundaetiapo@gmail.com>
  
        * simple.el (primitive-undo): Only process marker adjustments
        validated against their corresponding (TEXT . POS).  Issue warning
        (undo-elt-in-region): Return nil when passed a marker adjustment
        and explain in function doc.
  
 -2014-03-24  Dmitry Gutov  <dgutov@yandex.ru>
 -
 -      * emacs-lisp/package.el (package--add-to-archive-contents):
 -      Include already installed and built-in packages in
 -      `package-archive-contents'.
 -      (package-install): Don't include already installed packages in the
 -      options during interactive invocation.  (Bug#16762)
 -
 -2014-03-24  Daniel Colascione  <dancol@dancol.org>
 -
 -      * emacs-lisp/cl-macs.el (cl--do-arglist): Use `plist-member'
 -      instead of cl-loop search function.
 -
 -2014-03-24  Juanma Barranquero  <lekktu@gmail.com>
 -
 -      * frameset.el (frameset--initial-params): Fix typo in parameter name.
 -
 -2014-03-24  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
 +2014-03-26  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
  
        * align.el (align-region): Do not fail when end-mark is nil (bug#17088).
  
 -2014-03-24  Dmitry Gutov  <dgutov@yandex.ru>
 +2014-03-26  Dmitry Gutov  <dgutov@yandex.ru>
  
        * progmodes/ruby-mode.el (ruby-expression-expansion-re):
        Match special global variables without curlies, too.
        variables.  Don't require a non-word character after the variable.
        (Bug#17057)
  
 -2014-03-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-03-26  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * simple.el (redisplay-highlight-region-function): Increase priority of
        overlay to make sure boundaries are visible (bug#15899).
  
 -2014-03-23  Juanma Barranquero  <lekktu@gmail.com>
 +2014-03-26  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * frameset.el (frameset-restore): Compare display strings with equal.
 +      * frameset.el (frameset--initial-params): Fix typo in parameter name.
 +      (frameset-restore): Compare display strings with equal.
  
        * frame.el (make-frame): Don't quote display name in error message,
        it is already a string.
  
 -2014-03-23  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
 +2014-03-26  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
  
        * net/tramp.el (tramp-read-passwd): Suspend the timers while reading
        the password.
  
 -2014-03-23  Dmitry Gutov  <dgutov@yandex.ru>
 +2014-03-26  Dmitry Gutov  <dgutov@yandex.ru>
  
 -      * emacs-lisp/package.el (package-show-package-list): If the buffer
 -      is already displayed in another window, switch to that window.
 +      * emacs-lisp/package.el (package--add-to-archive-contents):
 +      Include already installed and built-in packages in
 +      `package-archive-contents'.
 +      (package-install): Don't include already installed packages in the
 +      options during interactive invocation.  (Bug#16762)
 +      (package-show-package-list): If the buffer is already displayed in
 +      another window, switch to that window.
 +
 +2014-03-26  Reto Zimmermann  <reto@gnu.org>
 +
 +      Sync with upstream vhdl mode v3.35.1.
 +      * progmodes/vhdl-mode.el (vhdl-version, vhdl-time-stamp): Update.
 +      (vhdl-compiler-alist): Doc fix.
 +      (vhdl-goto-line): Remove.
 +      (vhdl-mode-abbrev-table-init): Add XEmacs compat.
 +      (vhdl-mode) <paragraph-start>: Fix value.
 +      (vhdl-fix-statement-region): Not `for' in wait-statement.
 +      (vhdl-beautify-region): Also (un)tabify.
 +      (vhdl-get-visible-signals):
 +      Scan declarative part of generate statements.
 +      (vhdl-template-record): Fix indentation for record type declaration.
 +      (vhdl-expand-abbrev, vhdl-expand-paren):
 +      Revert to using fset again rather than defalias.
 +      (vhdl-scan-directory-contents): Tweak.
 +      (vhdl-speedbar-find-file, vhdl-speedbar-port-copy)
 +      (vhdl-compose-components-package):
 +      Replace vhdl-goto-line with forward-line.
 +      (top-level): Tweak speedbar frame selection.
 +      (vhdl-generate-makefile-1): Support for compilers with no
 +      unit-to-file name mapping (create directory with dummy files).
 +
 +2014-03-26  Wilson Snyder  <wsnyder@wsnyder.org>
 +
 +      Sync with upstream verilog-mode revision 702457d.
 +      * progmodes/verilog-mode.el (verilog-mode-version): Update.
 +      (create-lockfiles): Declare.
 +      (verilog-read-decls): Fix module header imports, bug709.
 +      Reported by Victor Lau.
 +      Fix parsing 'var' in AUTOs, msg1294.  Reported by Dominique Chen.
 +      (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
 +      interface-only modules, bug721.  Reported by Dean Hoyt.
  
 -2014-03-21  Daniel Colascione  <dancol@dancol.org>
 +2014-03-26  Glenn Morris  <rgm@gnu.org>
  
 -      * mail/emacsbug.el (report-emacs-bug): Include memory usage
 -      information in bug reports.
 +      * obsolete/gulp.el: Move here from emacs-lisp/.
 +
 +      * files.el (lock-buffer, unlock-buffer, file-locked-p):
 +      Remove fallback aliases, since they are always defined now.
 +
 +2014-03-24  Daniel Colascione  <dancol@dancol.org>
 +
 +      * emacs-lisp/cl-macs.el (cl--do-arglist): Use `plist-member'
 +      instead of cl-loop search function.
 +
 +2014-03-23  Lars Ingebrigtsen  <larsi@gnus.org>
 +
 +      * calendar/parse-time.el (parse-time-iso8601-regexp)
 +      (parse-iso8601-time-string): Copied from `url-dav' so that we can use
 +      it more generally.
 +
 +2014-03-23  Lars Ingebrigtsen  <larsi@gnus.org>
 +
 +      * net/dns.el (network-interface-list): Define for XEmacs.
 +
 +2014-03-23  Magnus Henoch  <magnus.henoch@gmail.com>
 +
 +      * net/dns.el (dns-servers-up-to-date-p): New function to see whether
 +      the network interfaces changed.
 +      (dns-query): Use it to flush the data.
 +
 +2014-03-23  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * vc/vc.el (vc-rollback): Use set-buffer-modified-p.
 +
 +2014-03-23  Daniel Colascione  <dancol@dancol.org>
 +
 +      Change subword-mode to use `find-word-boundary-function-table' and
 +      replace `capitalized-words-mode'.  Also, convert to lexical
 +      binding.
 +
 +      * progmodes/cap-words.el: Delete now-obsolete file.
 +      * progmodes/subword.el: Reimplement using
 +      `find-word-boundary-function-table'.
 +      (subword-mode-map): Hollow out.
 +      (capitalized-words-mode): Define as obsolete alias for
 +      `subword-mode'.
 +      (subword-mode, superword-mode): Tweak documentation to reflect new
 +      implementation; call `subword-setup-buffer'.
 +      (subword-forward, subword-capitalize): Add underscore to indicate
 +      unused variable.
 +      (subword-find-word-boundary-function-table): New constant.
 +      (subword-empty-char-table): New constant.
 +      (subword-setup-buffer): New function.
 +      (subword-find-word-boundary): New function.
  
  2014-03-23  Daniel Colascione  <dancol@dancol.org>
  
        (Bug#3647) --- unfortunately, only for freshly-compiled code.
        Please make bootstrap.
  
 -2014-03-23  Richard Stallman  <rms@gnu.org>
 -
 -      * battery.el (battery-linux-sysfs): Search for each field
 -      from the beginning of the buffer.
 +2014-03-22  Glenn Morris  <rgm@gnu.org>
 +
 +      * dired.el (dired-read-regexp): Make obsolete.
 +      (dired-mark-files-regexp, dired-mark-files-containing-regexp)
 +      (dired-flag-files-regexp):
 +      * dired-aux.el (dired-mark-read-regexp):
 +      * dired-x.el (dired-mark-unmarked-files): Use read-regexp directly.
 +
 +      * startup.el (fancy-startup-text):
 +      * help.el (describe-gnu-project): Visit online info about GNU project.
 +
 +      * help-fns.el (help-fns--interactive-only): New function.
 +      (help-fns-describe-function-functions): Add the above function.
 +      * simple.el (beginning-of-buffer, end-of-buffer, insert-buffer)
 +      (next-line, previous-line): Remove hand-written interactive-only
 +      information from doc strings, it is auto-generated now.
 +      * bookmark.el (bookmark-write):
 +      * epa-mail.el (epa-mail-decrypt, epa-mail-verify, epa-mail-sign)
 +      (epa-mail-import-keys): Mark interactive-only,
 +      and remove hand-written interactive-only information from doc strings.
 +      * epa.el (epa-decrypt-armor-in-region, epa-verify-region)
 +      (epa-verify-cleartext-in-region, epa-sign-region, epa-encrypt-region):
 +      * files.el (not-modified):
 +      * simple.el (mark-whole-buffer): Mark interactive-only.
 +
 +      * emacs-lisp/byte-run.el (defun-declarations-alist):
 +      Add interactive-only.  Doc tweak.
 +      (macro-declarations-alist): Doc tweak.
 +      * subr.el (declare): Doc tweak (add xref to manual).
 +      * comint.el (comint-run):
 +      * files.el (insert-file-literally, insert-file):
 +      * replace.el (replace-string, replace-regexp):
 +      * simple.el (beginning-of-buffer, end-of-buffer, delete-backward-char)
 +      (delete-forward-char, goto-line, insert-buffer, next-line)
 +      (previous-line): Set interactive-only via declare.
  
  2014-03-22  Dmitry Gutov  <dgutov@yandex.ru>
  
        * w32-common-fns.el (x-selection-owner-p): Add empty docstring for the
        benefit of doc.c; change parameter profile to match the X function.
  
 +2014-03-22  Leo Liu  <sdl.web@gmail.com>
 +
 +      * help.el (temp-buffer-setup-hook): Remove help-mode-setup.
 +      (temp-buffer-show-hook): Remove help-mode-finish.  (Bug#16038)
 +
 +2014-03-21  Richard Stallman  <rms@gnu.org>
 +
 +      * battery.el (battery-linux-sysfs): Search for each field
 +      from the beginning of the buffer.
 +
 +      * subr.el (set-transient-map): Clear out function and value
 +      of the temporary symbol when we're done with it.
 +
 +      * mail/rmailsum.el (rmail-summary-delete-forward):
 +      Optimize case of reaching end and handling count.
 +      (rmail-summary-mark-deleted): Optimize when N is current msg.
 +      Don't create new summary line.
 +      (rmail-summary-undelete): Pass arg to rmail-undelete-previous-message.
 +      (rmail-summary-undelete-many): Rewrite for speed.
 +      (rmail-summary-msg-number): New function.
 +
 +      * mail/rmail.el (rmail-delete-message): Update summary.
 +      (rmail-undelete-previous-message): Handle repeat count arg.
 +      (rmail-delete-backward, rmail-delete-forward): Likewise.
 +
 +2014-03-21  Daniel Colascione  <dancol@dancol.org>
 +
 +      * mail/emacsbug.el (report-emacs-bug): Include memory usage
 +      information in bug reports.
 +
  2014-03-21  Michael Albinus  <michael.albinus@gmx.de>
  
        * net/tramp.el (tramp-methods): Add docstring for `tramp-login-env'
        (tty-color-approximate, tty-color-by-index, tty-color-values)
        (tty-color-desc): Remove superfluous backslashes.
  
 +2014-03-21  Glenn Morris  <rgm@gnu.org>
 +
 +      * cus-start.el (history-length): Bump :version.
 +
 +      * Makefile.in ($(MH_E_DIR)/mh-loaddefs.el)
 +      ($(TRAMP_DIR)/tramp-loaddefs.el, $(CAL_DIR)/cal-loaddefs.el)
 +      ($(CAL_DIR)/diary-loaddefs.el, $(CAL_DIR)/hol-loaddefs.el):
 +      Don't set `make-backup-files'.
 +
 +      * info.el (info--prettify-description): New function,
 +      to give info-finder descriptions consistent case, punctuation.
 +      (Info-finder-find-node): Use it.  Sort packages.
 +      Refer to "description" rather than "commentary".
 +
 +2014-03-21  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * frameset.el (frameset--print-register): New function.
 +      (frameset-to-register): Use it.
 +
 +2014-03-20  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * progmodes/hideif.el (hif-string-to-number): New function.
 +      (hif-tokenize): Use it to understand non-decimal floats.
 +
 +      * emacs-lisp/cl-extra.el (cl--map-overlays): Remove obsolete code.
 +
 +      * skeleton.el (skeleton-autowrap): Mark as obsolete.  Doc fix.
 +
  2014-03-20  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * electric.el (electric-newline-and-maybe-indent): New command.
  
        * rect.el (rectangle-mark-mode): Rename from rectangle-mark.
        Make it into a proper minor mode.
 -      (rectangle--region): (implicitly) rename to rectangle-mark-mode.
 +      (rectangle--region): (Implicitly) rename to rectangle-mark-mode.
        (rectangle-mark-mode-map): New keymap.
        (rectangle--highlight-for-redisplay): Fix some corner cases (bug#15796).
  
  
  2013-10-28  Daiki Ueno  <ueno@gnu.org>
  
 -      * epa-file.el
 -      (epa-file-cache-passphrase-for-symmetric-encryption):
 +      * epa-file.el (epa-file-cache-passphrase-for-symmetric-encryption):
        Document that this option has no effect with GnuPG 2.0 (bug#15552).
  
  2013-10-27  Xue Fuqiao  <xfq.free@gmail.com>
        * textmodes/reftex-vars.el (reftex-ref-style-alist):
        Add cleveref macros.
  
 -      * textmodes/reftex-parse.el
 -      (reftex-locate-bibliography-files): Accept options for
 -      bibliography commands.
 +      * textmodes/reftex-parse.el (reftex-locate-bibliography-files):
 +      Accept options for bibliography commands.
        * textmodes/reftex-vars.el (reftex-bibliography-commands):
        Add addbibresource.  Basic Biblatex support.
  
  2013-04-19  Fabián Ezequiel Gallina  <fgallina@gnu.org>
  
        New faster Imenu implementation (bug#14058).
 -      * progmodes/python.el:
 -      (python-imenu-prev-index-position):
 +      * progmodes/python.el (python-imenu-prev-index-position)
        (python-imenu-format-item-label-function)
        (python-imenu-format-parent-item-label-function)
        (python-imenu-format-parent-item-jump-label-function):
diff --combined lisp/bookmark.el
index e4e4ed9afcb10433d8b809a0c289710378f57124,eab2ea7144fba55f4d33617f2a26d8c14962624f..7ea54a8e2b4d3fc84d6475fb4d0f8c9ebaa51394
@@@ -1298,8 -1298,8 +1298,8 @@@ is greater than `bookmark-alist-modific
  
  ;;;###autoload
  (defun bookmark-write ()
 -  "Write bookmarks to a file (reading the file name with the minibuffer).
 -Don't use this in Lisp programs; use `bookmark-save' instead."
 +  "Write bookmarks to a file (reading the file name with the minibuffer)."
 +  (declare (interactive-only bookmark-save))
    (interactive)
    (bookmark-maybe-load-default-file)
    (bookmark-save t))
@@@ -1420,8 -1420,7 +1420,7 @@@ explicitly
  
  If you load a file containing bookmarks with the same names as
  bookmarks already present in your Emacs, the new bookmarks will get
- unique numeric suffixes \"<2>\", \"<3>\", ... following the same
- method buffers use to resolve name collisions."
+ unique numeric suffixes \"<2>\", \"<3>\", etc."
    (interactive
     (list (read-file-name
            (format "Load bookmarks from: (%s) "
diff --combined lisp/files.el
index cf54df710c2034da6308e88bc599aa27fe70f3ed,718421b18998163cf0774879757ad699637fcb56..0b3e1d6f552a50e28d95f60d5b68ff8d397b1f93
@@@ -559,6 -559,14 +559,6 @@@ A value of nil means ignore them; anyth
                 (other :tag "Query" other))
    :group 'find-file)
  
 -;; Avoid losing in versions where CLASH_DETECTION is disabled.
 -(or (fboundp 'lock-buffer)
 -    (defalias 'lock-buffer 'ignore))
 -(or (fboundp 'unlock-buffer)
 -    (defalias 'unlock-buffer 'ignore))
 -(or (fboundp 'file-locked-p)
 -    (defalias 'file-locked-p 'ignore))
 -
  (defcustom view-read-only nil
    "Non-nil means buffers visiting files read-only do so in view mode.
  In fact, this means that all read-only buffers normally have
@@@ -883,7 -891,7 +883,7 @@@ which we're looking.
    ;;
    ;; Represent /home/luser/foo as ~/foo so that we don't try to look for
    ;; `name' in /home or in /.
 -  (setq file (abbreviate-file-name file))
 +  (setq file (abbreviate-file-name (expand-file-name file)))
    (let ((root nil)
          ;; `user' is not initialized outside the loop because
          ;; `file' may not exist, so we may have to walk up part of the
@@@ -941,10 -949,14 +941,10 @@@ directory if it does not exist.
             (if (file-directory-p user-emacs-directory)
                 (or (file-accessible-directory-p user-emacs-directory)
                     (setq errtype "access"))
 -             (let ((umask (default-file-modes)))
 -               (unwind-protect
 -                   (progn
 -                     (set-default-file-modes ?\700)
 -                     (condition-case nil
 -                         (make-directory user-emacs-directory)
 -                       (error (setq errtype "create"))))
 -                 (set-default-file-modes umask))))
 +             (with-file-modes ?\700
 +               (condition-case nil
 +                   (make-directory user-emacs-directory)
 +                 (error (setq errtype "create")))))
             (when (and errtype
                        user-emacs-directory-warning
                        (not (get 'user-emacs-directory-warning 'this-session)))
@@@ -1269,31 -1281,36 +1269,31 @@@ You can then use `write-region' to writ
  If DIR-FLAG is non-nil, create a new empty directory instead of a file.
  
  If SUFFIX is non-nil, add that at the end of the file name."
 -  (let ((umask (default-file-modes))
 -      file)
 -    (unwind-protect
 -      (progn
 -        ;; Create temp files with strict access rights.  It's easy to
 -        ;; loosen them later, whereas it's impossible to close the
 -        ;; time-window of loose permissions otherwise.
 -        (set-default-file-modes ?\700)
 -        (while (condition-case ()
 -                   (progn
 -                     (setq file
 -                           (make-temp-name
 -                              (if (zerop (length prefix))
 -                                  (file-name-as-directory
 -                                   temporary-file-directory)
 -                                (expand-file-name prefix
 -                                                  temporary-file-directory))))
 -                     (if suffix
 -                         (setq file (concat file suffix)))
 -                     (if dir-flag
 -                         (make-directory file)
 -                       (write-region "" nil file nil 'silent nil 'excl))
 -                     nil)
 -                 (file-already-exists t))
 -          ;; the file was somehow created by someone else between
 -          ;; `make-temp-name' and `write-region', let's try again.
 -          nil)
 -        file)
 -      ;; Reset the umask.
 -      (set-default-file-modes umask))))
 +  ;; Create temp files with strict access rights.  It's easy to
 +  ;; loosen them later, whereas it's impossible to close the
 +  ;; time-window of loose permissions otherwise.
 +  (with-file-modes ?\700
 +    (let (file)
 +      (while (condition-case ()
 +               (progn
 +                 (setq file
 +                       (make-temp-name
 +                        (if (zerop (length prefix))
 +                            (file-name-as-directory
 +                             temporary-file-directory)
 +                          (expand-file-name prefix
 +                                            temporary-file-directory))))
 +                 (if suffix
 +                     (setq file (concat file suffix)))
 +                 (if dir-flag
 +                     (make-directory file)
 +                   (write-region "" nil file nil 'silent nil 'excl))
 +                 nil)
 +             (file-already-exists t))
 +      ;; the file was somehow created by someone else between
 +      ;; `make-temp-name' and `write-region', let's try again.
 +      nil)
 +      file)))
  
  (defun recode-file-name (file coding new-coding &optional ok-if-already-exists)
    "Change the encoding of FILE's name from CODING to NEW-CODING.
@@@ -1637,6 -1654,8 +1637,8 @@@ killed.
        (let (kill-buffer-query-functions kill-buffer-hook)
          (kill-buffer obuf))))))
  \f
+ ;; FIXME we really need to fold the uniquify stuff in here by default,
+ ;; not using advice, and add it to the doc string.
  (defun create-file-buffer (filename)
    "Create a suitably named buffer for visiting FILENAME, and return it.
  FILENAME (sans directory) is used unchanged if that name is free;
@@@ -2072,9 -2091,9 +2074,9 @@@ This function ensures that none of thes
  This function is meant for the user to run interactively.
  Don't call it from programs!  Use `insert-file-contents-literally' instead.
  \(Its calling sequence is different; see its documentation)."
 +  (declare (interactive-only insert-file-contents-literally))
    (interactive "*fInsert file literally: ")
    (insert-file-1 filename #'insert-file-contents-literally))
 -(put 'insert-file-literally 'interactive-only 'insert-file-contents-literally)
  
  (defvar find-file-literally nil
    "Non-nil if this buffer was made by `find-file-literally' or equivalent.
@@@ -2501,7 -2520,6 +2503,7 @@@ and `magic-mode-alist', which determine
       ("[acjkwz]sh" . sh-mode)
       ("r?bash2?" . sh-mode)
       ("dash" . sh-mode)
 +     ("mksh" . sh-mode)
       ("\\(dt\\|pd\\|w\\)ksh" . sh-mode)
       ("es" . sh-mode)
       ("i?tcsh" . sh-mode)
@@@ -4063,26 -4081,31 +4065,26 @@@ BACKUPNAME is the backup file name, whi
            (file-error nil))))))
  
  (defun backup-buffer-copy (from-name to-name modes extended-attributes)
 -  (let ((umask (default-file-modes)))
 -    (unwind-protect
 -      (progn
 -        ;; Create temp files with strict access rights.  It's easy to
 -        ;; loosen them later, whereas it's impossible to close the
 -        ;; time-window of loose permissions otherwise.
 -        (set-default-file-modes ?\700)
 -        (when (condition-case nil
 -                  ;; Try to overwrite old backup first.
 -                  (copy-file from-name to-name t t t)
 -                (error t))
 -          (while (condition-case nil
 -                     (progn
 -                       (when (file-exists-p to-name)
 -                         (delete-file to-name))
 -                       (copy-file from-name to-name nil t t)
 -                       nil)
 -                   (file-already-exists t))
 -            ;; The file was somehow created by someone else between
 -            ;; `delete-file' and `copy-file', so let's try again.
 -            ;; rms says "I think there is also a possible race
 -            ;; condition for making backup files" (emacs-devel 20070821).
 -            nil)))
 -      ;; Reset the umask.
 -      (set-default-file-modes umask)))
 +  ;; Create temp files with strict access rights.  It's easy to
 +  ;; loosen them later, whereas it's impossible to close the
 +  ;; time-window of loose permissions otherwise.
 +  (with-file-modes ?\700
 +    (when (condition-case nil
 +            ;; Try to overwrite old backup first.
 +            (copy-file from-name to-name t t t)
 +          (error t))
 +      (while (condition-case nil
 +               (progn
 +                 (when (file-exists-p to-name)
 +                   (delete-file to-name))
 +                 (copy-file from-name to-name nil t t)
 +                 nil)
 +             (file-already-exists t))
 +      ;; The file was somehow created by someone else between
 +      ;; `delete-file' and `copy-file', so let's try again.
 +      ;; rms says "I think there is also a possible race
 +      ;; condition for making backup files" (emacs-devel 20070821).
 +      nil)))
    ;; If set-file-extended-attributes fails, fall back on set-file-modes.
    (unless (and extended-attributes
               (with-demoted-errors
@@@ -4983,7 -5006,6 +4985,7 @@@ With prefix ARG, mark buffer as modifie
  
  It is not a good idea to use this function in Lisp programs, because it
  prints a message in the minibuffer.  Instead, use `set-buffer-modified-p'."
 +  (declare (interactive-only set-buffer-modified-p))
    (interactive "P")
    (message (if arg "Modification-flag set"
               "Modification-flag cleared"))
@@@ -5003,9 -5025,9 +5005,9 @@@ Set mark after the inserted text
  This function is meant for the user to run interactively.
  Don't call it from programs!  Use `insert-file-contents' instead.
  \(Its calling sequence is different; see its documentation)."
 +  (declare (interactive-only insert-file-contents))
    (interactive "*fInsert file: ")
    (insert-file-1 filename #'insert-file-contents))
 -(put 'insert-file 'interactive-only 'insert-file-contents)
  
  (defun append-to-file (start end filename)
    "Append the contents of the region to the end of file FILENAME.
@@@ -5974,9 -5996,10 +5976,9 @@@ default directory.  However, if FULL i
                             (file-expand-wildcards (directory-file-name dirpart)))
                   (list dirpart)))
           contents)
 -      (while dirs
 -      (when (or (null (car dirs))     ; Possible if DIRPART is not wild.
 -                (and (file-directory-p (directory-file-name (car dirs)))
 -                     (file-readable-p (car dirs))))
 +      (dolist (dir dirs)
 +      (when (or (null dir)    ; Possible if DIRPART is not wild.
 +                (file-accessible-directory-p dir))
          (let ((this-dir-contents
                 ;; Filter out "." and ".."
                 (delq nil
                                   (unless (string-match "\\`\\.\\.?\\'"
                                                         (file-name-nondirectory name))
                                     name))
 -                             (directory-files (or (car dirs) ".") full
 +                             (directory-files (or dir ".") full
                                                (wildcard-to-regexp nondir))))))
            (setq contents
                  (nconc
 -                 (if (and (car dirs) (not full))
 -                     (mapcar (function (lambda (name) (concat (car dirs) name)))
 +                 (if (and dir (not full))
 +                     (mapcar #'(lambda (name) (concat dir name))
                               this-dir-contents)
                     this-dir-contents)
 -                 contents))))
 -      (setq dirs (cdr dirs)))
 +                 contents)))))
        contents)))
  
  ;; Let Tramp know that `file-expand-wildcards' does not need an advice.
@@@ -6850,11 -6874,15 +6852,11 @@@ Otherwise, trash FILENAME using the fre
                      trash-info-dir filename))
  
           ;; Ensure that the trash directory exists; otherwise, create it.
 -         (let ((saved-default-file-modes (default-file-modes)))
 -           (unwind-protect
 -               (progn
 -                 (set-default-file-modes #o700)
 -                 (unless (file-exists-p trash-files-dir)
 -                   (make-directory trash-files-dir t))
 -                 (unless (file-exists-p trash-info-dir)
 -                   (make-directory trash-info-dir t)))
 -             (set-default-file-modes saved-default-file-modes)))
 +         (with-file-modes #o700
 +           (unless (file-exists-p trash-files-dir)
 +             (make-directory trash-files-dir t))
 +           (unless (file-exists-p trash-info-dir)
 +             (make-directory trash-info-dir t)))
  
           ;; Try to move to trash with .trashinfo undo information
           (save-excursion
diff --combined lisp/startup.el
index 5a4ddf335c44e2526c2f51f6dd9221312ea21a09,2f1d9af1cf1e6465ff638c07e7fedf6c4fc86fac..aa448848cea348c541ecabdb717cf2135849d000
    "Buffer to show after starting Emacs.
  If the value is nil and `inhibit-startup-screen' is nil, show the
  startup screen.  If the value is a string, switch to a buffer
- visiting the file or directory specified by that string.  If the
- value is a function, switch to the buffer returned by that
function.  If t, open the `*scratch*' buffer.
+ visiting the file or directory that the string specifies.  If the
+ value is a function, call it with no arguments and switch to the buffer
that it returns.  If t, open the `*scratch*' buffer.
  
- A string value also causes emacsclient to open the specified file
or directory when no target file is specified."
+ If you use `emacsclient' with no target file, then it obeys any
string or function value that this variable has."
    :type '(choice
          (const     :tag "Startup screen" nil)
          (directory :tag "Directory" :value "~/")
          (file      :tag "File" :value "~/.emacs")
-         (const     :tag "Notes buffer" remember-notes)
+         ;; Note sure about hard-coding this as an option...
+         (const     :tag "Remember Mode notes buffer" remember-notes)
          (function  :tag "Function")
          (const     :tag "Lisp scratch buffer" t))
-   :version "24.4"
+   :version "23.1"
    :group 'initialization)
  
  (defcustom inhibit-startup-screen nil
@@@ -292,9 -293,8 +293,9 @@@ see `tty-setup-hook'."
  `tty-setup-hook' instead." "24.4")
  
  (defvar inhibit-startup-hooks nil
 -  "Non-nil means don't run `term-setup-hook' and `emacs-startup-hook'.
 -This is because we already did so.")
 +  "Non-nil means don't run some startup hooks, because we already did.
 +Currently this applies to: `emacs-startup-hook', `term-setup-hook',
 +and `window-setup-hook'.")
  
  (defvar keyboard-type nil
    "The brand of keyboard you are using.
@@@ -648,7 -648,9 +649,7 @@@ It is the default value of the variabl
                                       (emacs-pid)
                                       (system-name))))))))
        (unless inhibit-startup-hooks
 -        (run-hooks 'emacs-startup-hook)
 -        (and term-setup-hook
 -             (run-hooks 'term-setup-hook)))
 +        (run-hooks 'emacs-startup-hook 'term-setup-hook))
  
        ;; Don't do this if we failed to create the initial frame,
        ;; for instance due to a dense colormap.
        ;; Now we know the user's default font, so add it to the menu.
        (if (fboundp 'font-menu-add-default)
            (font-menu-add-default))
 -      (and window-setup-hook
 -           (run-hooks 'window-setup-hook))))
 +      (unless inhibit-startup-hooks
 +        (run-hooks 'window-setup-hook))))
      ;; Subprocesses of Emacs do not have direct access to the terminal, so
      ;; unless told otherwise they should only assume a dumb terminal.
      ;; We are careful to do it late (after term-setup-hook), although the
@@@ -1402,9 -1404,8 +1403,9 @@@ If this is nil, no message will be disp
              `("GNU/Linux"
                ,(lambda (_button) (browse-url "http://www.gnu.org/gnu/linux-and-gnu.html"))
             "Browse http://www.gnu.org/gnu/linux-and-gnu.html")
 -          `("GNU" ,(lambda (_button) (describe-gnu-project))
 -         "Display info on the GNU project")))
 +          `("GNU" ,(lambda (_button)
 +                   (browse-url "http://www.gnu.org/gnu/thegnuproject.html"))
 +          "Browse http://www.gnu.org/gnu/thegnuproject.html")))
       " operating system.\n\n"
       :face variable-pitch
       :link ("Emacs Tutorial" ,(lambda (_button) (help-with-tutorial)))
@@@ -2433,7 -2434,10 +2434,7 @@@ A fancy display is used on graphic disp
        ;; If there are no switches to process, we might as well
        ;; run this hook now, and there may be some need to do it
        ;; before doing any output.
 -      (run-hooks 'emacs-startup-hook)
 -      (and term-setup-hook
 -         (run-hooks 'term-setup-hook))
 -      (setq inhibit-startup-hooks t)
 +      (run-hooks 'emacs-startup-hook 'term-setup-hook)
  
        ;; It's important to notice the user settings before we
        ;; display the startup message; otherwise, the settings
        ;; If there are no switches to process, we might as well
        ;; run this hook now, and there may be some need to do it
        ;; before doing any output.
 -      (when window-setup-hook
 -      (run-hooks 'window-setup-hook)
 -      ;; Don't let the hook be run twice.
 -      (setq window-setup-hook nil))
 +      (run-hooks 'window-setup-hook)
 +
 +      (setq inhibit-startup-hooks t)
  
        ;; ;; Do this now to avoid an annoying delay if the user
        ;; ;; clicks the menu bar during the sit-for.
diff --combined src/ChangeLog
index 72aaea5eeb6fc11c327d2f0007e831bef84dcf87,f7ee48d1d0781ccc915b47dae1138b868b0b699f..6f864f5eef5b69ea523632560fc87d55b80f8221
@@@ -1,52 -1,18 +1,58 @@@
 -2014-06-04  Eli Zaretskii  <eliz@gnu.org>
+ 2014-06-08  Glenn Morris  <rgm@gnu.org>
+       * fileio.c (write-region-inhibit-fsync): Doc tweak.
+       * data.c (Flss, Fgtr, Fleq, Fgeq): Doc tweaks.
 +2014-06-08  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      If a C name must be extern on some platforms, make it extern on all.
 +      * dispextern.h (set_vertical_scroll_bar, erase_phys_cursor)
 +      (load_color):
 +      * font.h (ftxfont_driver) [HAVE_XFT]:
 +      * keyboard.h (menu_items_inuse, ignore_mouse_drag_p, make_ctrl_char):
 +      * lisp.h (get_frame_param):
 +      * menu.h (tty_menu_show):
 +      * process.h (conv_sockaddr_to_lisp, catch_child_signal):
 +      * termhooks.h (encode_terminal_code):
 +      * xterm.h (x_menu_wait_for_event):
 +      Always declare.
 +      * frame.c (get_frame_param):
 +      * fringe.c (max_used_fringe_bitmap):
 +      * ftxfont.c (ftxfont_driver):
 +      * keyboard.c (ignore_mouse_drag_p, make_ctrl_char):
 +      * menu.c (menu_items_inuse):
 +      * process.c (conv_sockaddr_to_lisp, catch_child_signal):
 +      * term.c (encode_terminal_code, tty_menu_show):
 +      * xdisp.c (set_vertical_scroll_bar, erase_phys_cursor):
 +      * xfaces.c (load_color):
 +      * xmenu.c (x_menu_wait_for_event):
 +      Now always extern.
 +
 +2014-06-08  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Change object marking routines to minimize stack usage.
 +      This change moves a few cold paths from mark_object to NO_INLINE
 +      functions and adjusts symbol marking loop.  According to GCC 4.8.2
 +      -Wstack-usage, this reduces mark_object's stack usage from 80 to
 +      48 bytes on a 64-bit system.  For a long byte-force-recompile runs,
 +      stack usage at the mark phase is reduced up to 28%.  Surprisingly,
 +      it also gains up to 3% in speed (with default '-O2 -g3' flags).
 +      * alloc.c (mark_compiled, mark_localized_symbol): New functions,
 +      refactored out from ...
 +      (mark_object): ... adjusted user.  Also mark symbols in a tight
 +      inner loop.
 +      (mark_face_cache): Add NO_INLINE.
 +
 +2014-06-08  Eli Zaretskii  <eliz@gnu.org>
  
        * sysdep.c (reset_sys_modes): Use cursorX, not curX, as the latter
        contains garbage on WINDOWSNT (which could potentially infloop at
        exit).
  
        Minimize cursor motion during TTY menu updates.
 -      * term.c (tty_menu_display): Don't position cursor here.  Instead,
 -      pass the cursor coordinates to update_frame_with_menu.
 +      * term.c (tty_menu_display): Don't position cursor here.
 +      Instead, pass the cursor coordinates to update_frame_with_menu.
        (tty_menu_activate): Send the hide cursor command only once in an
        iteration through the outer 'while' loop.
  
        update_frame_with_menu.
        (update_frame_with_menu): Accept 2 additional arguments ROW and
        COL; if they are non-negative, instruct update_frame_1 not to
 -      position the cursor, and instead position it according to ROW and
 -      COL.
 +      position the cursor, and instead position it according to ROW and COL.
  
        * dispextern.h (update_frame_with_menu): Update prototype.
  
 -2014-06-02  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-06-08  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * callproc.c (call_process): Don't check read-only if we don't insert
        anything (bug#17666).
  
 -2014-06-02  Eli Zaretskii  <eliz@gnu.org>
 +2014-06-08  Eli Zaretskii  <eliz@gnu.org>
  
        * dispnew.c (update_frame_with_menu): Set display_completed.
  
 -2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-06-07  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * term.c (tty_menu_show) [WINDOWSNT]: Make tty_menu_show extern
 +      only for WINDOWSNT.
 +      * menu.h (tty_menu_show) [WINDOWSNT]: Declare extern only for WINDOWSNT.
 +
 +2014-06-06  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * term.c (tty_menu_show) [!HAVE_NTGUI]: Now static.
 +      * menu.h (tty_menu_show) [!HAVE_NTGUI]: Omit extern decl.
 +
 +2014-06-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * window.c (Frecenter): Signal an error if window-buffer is not
 +      current-buffer.
 +
 +      * keyboard.c (make_lispy_position): Don't include a buffer position in
 +      mode/header-line mouse events.
 +
 +      * keyboard.c (read_char): Handle (t . <event>) in the second use of
 +      Vunread_command_events (bug#17650).
 +
 +2014-06-06  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * xterm.c (x_setup_pointer_blanking):
 +      Conditionally probe Xfixes until this stuff is stabilized (Bug#17609).
 +
 +2014-06-05  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * keyboard.c, process.c: Do not define POLL_FOR_INPUT here
 +      because it will be defined in generated config.h if needed.
 +
 +2014-06-04  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Use terminal-specific hooks to display popup dialogs.
 +      * termhooks.h (struct terminal): New field popup_dialog_hook.
 +      * menu.c (emulate_dialog_with_menu): New function, refactored from ...
 +      (Fx_popup_dialog): ... adjusted user.  Also remove old #if 0
 +      code and use popup_dialog_hook.
 +      * nsmenu.m (ns_popup_dialog): Make hook-compatible.
 +      * nsterm.h (ns_popup_dialog): Adjust prototype.
 +      * nsterm.m (ns_create_terminal):
 +      * w32term.c (w32_create_terminal):
 +      * xterm.c (x_create_terminal) [USE_X_TOOLKIT || USE_GTK]:
 +      Setup popup_dialog_hook.
 +
 +2014-06-04  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32heap.c (report_temacs_memory_usage): Improve the report by
 +      reporting the large blocks that are actually occupied at dump time.
 +
 +      * w32console.c (initialize_w32_display): Set the console
 +      menu_show_hook, otherwise TTY menus are broken on w32.
 +
 +2014-06-04  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Use terminal-specific hooks to display menus.
 +      * termhooks.h (struct terminal): New field menu_show_hook.
 +      * menu.h (<anonymous enum>): Bit flags for menu hooks.
 +      (x_menu_show, w32_menu_show, ns_menu_show, tty_menu_show):
 +      Adjust prototypes.
 +      * menu.c (Fx_popup_menu): Use bit flags and menu_show_hook.
 +      * nsmenu.m (ns_menu_show):
 +      * w32menu.c (w32_menu_show):
 +      * xmenu.c (x_menu_show):
 +      * term.c (tty_menu_show): Adjust to use bit flags.
 +      (set_tty_hooks): Set menu_show_hook.
 +      * xterm.c (x_create_terminal):
 +      * nsterm.m (ns_create_terminal):
 +      * msdos.c (initialize_msdos_display):
 +      * w32term.c (w32_create_terminal): Likewise.
 +
 +2014-06-03  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * w32heap.c (DUMPED_HEAP_SIZE) [!_WIN64]: Reduce to 11 MB.
 +
 +2014-06-03  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * sysselect.h (fd_CLR, fd_ISSET, fd_SET, FD_CLR, FD_ISSET)
 +      (FD_SET): Don't define on WINDOWSNT.
 +
 +2014-06-03  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * emacs.c: Include "sysselect.h", to define its inline functions.
 +      Problem reported by Glenn Morris in:
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-06/msg00077.html
 +
 +      Do not require libXt-devel when building with gtk.
 +      * gtkutil.h, menu.h: Include lwlib-widget.h, not lwlib-h, to avoid
 +      dependency on libXt-devel.
 +      * menu.h [HAVE_NTGUI]: Include lwlib-widget.h in this case too.
 +      (enum button_type, widget_value) [HAVE_NTGUI]: Remove, as
 +      lwlib-widget.h now does this.
 +      * nsmenu.m (ns_menu_show): "enabled" -> "enable" to fix typo.
 +
 +2014-06-03  Paul Eggert  <eggert@penguin.cs.ucla.edu>
 +
 +      If ENABLE_CHECKING, range-check args of FD_CLR, FD_ISSET, FD_SET.
 +      * process.c (add_read_fd, delete_read_fd, add_write_fd)
 +      (delete_write_fd, wait_reading_process_output):
 +      Remove now-redundant easserts.
 +      * sysselect.h (SYSSELECT_H): New macro, to avoid double-inclusion woes.
 +      Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
 +      (fd_CLR, fd_ISSET, fd_SET): New inline functions.
 +      (FD_CLR, FD_ISSET, FD_SET): Redefine in terms of these functions.
 +
 +2014-06-03  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32heap.c (DUMPED_HEAP_SIZE): Move from w32heap.h.  Don't use
 +      HEAPSIZE; instead, define separate values for the 32- and 64-bit builds.
 +      (calloc): Don't undef, it is never defined.
 +      (HEAP_ENTRY_SHIFT): Remove unused macro.
 +
 +      * Makefile.in (C_HEAP_SWITCH): Remove.
 +      (ALL_CFLAGS): Don't use $(C_HEAP_SWITCH).
 +
 +      Fix MS-Windows build broken by menu changes on 2014-06-02.
 +      * w32menu.c (w32_menu_show): Fix a typo that broke compilation.
 +
 +      * menu.h (enum button_type, struct _widget_value) [HAVE_NTGUI]:
 +      Define instead of including ../lwlib/lwlib.h, which causes
 +      compilation errors due to missing X11 headers.
 +
 +2014-06-03  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * process.c (wait_reading_process_output): Omit incorrect test of
 +      p->infd against zero.  Add easserts for infd having a plausible value.
 +
 +2014-06-02  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Adjust to match recent lwlib changes.
 +      * menu.h (xmalloc_widget_value): Replace by ...
 +      (make_widget_value): ... new prototype.
 +      * menu.c (xmalloc_widget_value): Replace by ...
 +      (make_widget_value): ... new function.
 +      (free_menubar_widget_value_tree, digest_single_submenu): Adjust users.
 +      * gtkutil.c (malloc_widget_value, free_widget_value):
 +      (widget_value_free_list, malloc_cpt): Remove old lwlib-compatible code.
 +      * keyboard.h (enum button_type, struct _widget_value):
 +      * gtkutil.h, nsgui.h, w32gui.h (malloc_widget_value, free_widget_value):
 +      Likewise.
 +      * nsmenu.m (ns_update_menubar, ns_menu_show):
 +      * w32menu.c (set_frame_menubar, w32_menu_show, w32_dialog_show):
 +      * xmenu.c (set_frame_menubar, xmenu_show, x_dialog_show): Adjust users.
 +      * xterm.h (XtParent) [USE_GTK]: Remove unused macro.
 +
 +2014-06-02  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * image.c (x_query_frame_background_color)
 +      [HAVE_PNG || HAVE_NS || HAVE_IMAGEMAGICK || HAVE_RSVG]:
 +      Fix --enable-gcc-warnings compilation without image libraries.
 +
 +2014-06-02  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32heap.c (malloc_after_dump, realloc_after_dump): Update the
 +      emulated break value only if it goes up.
 +      (sbrk): Add assertion that the INCREMENT argument is strictly
 +      zero.  Improve and correct the commentary.
 +
 +2014-06-02  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Improve AIX-related merge from emacs-24.
 +      * conf_post.h (FLEXIBLE_ARRAY_MEMBER): Fix comment.
 +      * lisp.h (ENUMABLE) [!_AIX]: Don't define to 0 merely because we're
 +      not on AIX; since we're on the trunk we can use enums more broadly.
  
        * frame.c (x_set_frame_parameters): Don't read uninitialized storage.
  
 -2014-06-01  Jan Djärv  <jan.h.d@swipnet.se>
 +2014-06-02  Jan Djärv  <jan.h.d@swipnet.se>
  
        * xterm.c (xg_scroll_callback): Remove position, for jump set portion
        to min(value, whole).
  
 -2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-06-02  Paul Eggert  <eggert@cs.ucla.edu>
  
        Bring back the changes to GDB-visible symbols, but only on AIX.
        And only if it's not pre-4.2 GCC.
        (ARRAY_MARK_FLAG_val, PSEUDOVECTOR_FLAG_val, VALMASK_val):
        New macros.
  
 -2014-05-31  Eli Zaretskii  <eliz@gnu.org>
 +2014-06-02  Eli Zaretskii  <eliz@gnu.org>
  
        * fileio.c (Finsert_file_contents): Call prepare_to_modify_buffer
        with PT, not GPT.  (Bug#16433)
        (ARRAY_MARK_FLAG_val, PSEUDOVECTOR_FLAG_val, VALMASK_val):
        Delete macros.
  
 -2014-05-31  Glenn Morris  <rgm@gnu.org>
 +2014-06-02  Glenn Morris  <rgm@gnu.org>
  
        * cmds.c (Fself_insert_command): Allow zero repeat count.  (Bug#17649)
  
 -2014-05-30  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-06-02  Paul Eggert  <eggert@cs.ucla.edu>
  
        Fix port to 32-bit AIX with xlc (Bug#17598).
        * alloc.c (gdb_make_enums_visible): Remove FLOAT_TO_STRING_BUFSIZE.
        * lisp.h (FLOAT_TO_STRING_BUFSIZE): Make it a macro, instead of an enum,
        to work around a compiler bug in IBM xlc 12.1.
  
 -2014-05-29  Eli Zaretskii  <eliz@gnu.org>
 +2014-06-02  Eli Zaretskii  <eliz@gnu.org>
  
        * xterm.c (x_update_window_end): Don't invalidate the entire
        mouse-highlight info, just signal frame_up_to_date_hook that mouse
        highlight needs to be redisplayed.  (Bug#17588)
  
 -2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-06-02  Paul Eggert  <eggert@cs.ucla.edu>
  
        Port the GDB-visible symbols to AIX.
        Without them, GDB doesn't work to debug Emacs, since the AIX linker
        (ARRAY_MARK_FLAG_val, PSEUDOVECTOR_FLAG_val, VALMASK_val):
        New macros.
  
 -2014-05-26  Paul Eggert  <eggert@cs.ucla.edu>
 -
        Include sources used to create macuvs.h.
        * Makefile.in ($(srcdir)/macuvs.h): New rule.
        * macuvs.h: Use automatically-generated header.
  
 -2014-05-25  Eli Zaretskii  <eliz@gnu.org>
 +2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Port signal-handling to DragonFly BSD (Bug#17646).
 +      * callproc.c, sysdep.c (block_child_signal, unblock_child_signal):
 +      Move implementations from callproc.c to sysdep.c.
 +      * process.h, syssignal.h (block_child_signal, unblock_child_signal):
 +      Move declarations from process.h to syssignal.h.
 +
 +2014-06-01  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * callint.c (Ffuncall_interactively): Add usage.
 +
 +2014-06-01  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsfns.m (ns_appkit_version_str): Add os version for Cocoa.
 +
 +2014-05-30  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32heap.c (malloc_before_dump, malloc_after_dump)
 +      (malloc_before_dump, realloc_after_dump, realloc_before_dump)
 +      (mmap_alloc, mmap_realloc): Check for errors more thoroughly and
 +      set errno where appropriate to emulate CRT functions.
 +
 +2014-05-30  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Debugging facility to check whether 'const char *' points to
 +      relocatable data of non-pure Lisp string.
 +      * alloc.c (maybe_lisp_pointer): New function, refactored out of ...
 +      (mark_maybe_pointer): ... adjusted user.
 +      (relocatable_string_data_p): New function.
 +      * lisp.h (relocatable_string_data_p): Add prototype.
 +      * xdisp.c (message_with_string): If ENABLE_CHECKING, make sure
 +      the pointer to relocatable Lisp data is not used.
 +
 +2014-05-30  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Don't let SIGINT handling block SIGCHLD indefinitely (Bug#17561).
 +      * atimer.c (block_atimers):
 +      * callproc.c (block_child_signal): Block SIGINT too;
 +      otherwise, its handler might now unblock signals that it shouldn't.
 +      * keyboard.c (read_char): Clear signal mask, since we may
 +      be in a SIGINT handler, and many signals may be masked.
 +      * keyboard.c (handle_interrupt):
 +      * sysdep.c (handle_arith_signal):
 +      Clear signal mask instead of just unblocking the signal that
 +      was received, since several signals may be blocked at this point.
 +
 +2014-05-29  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * Makefile.in (TEMACS_POST_LINK): Remove target.
 +      (emacs$(EXEEXT)): Remove $(ADDSECTION) from prerequisites.
 +      (temacs$(EXEEXT)): Remove $(TEMACS_POST_LINK) from the recipe.
 +
 +2014-05-29  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * xmenu.c (xdialog_show): Remove prototype, rename to
 +      x_dialog_show, remove 2nd arg because it's always zero
 +      and simplify accordingly.
 +      (xw_popup_dialog): Adjust user.
 +      * w32menu.c (w32_dialog_show): Adjust prototype, remove
 +      2nd arg because it's always zero and simplify accordingly.
 +      (w32_popup_dialog): Adjust user.
 +
 +2014-05-29  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32heap.c (report_temacs_memory_usage): New function.
 +
 +      * unexw32.c (unexec) [ENABLE_CHECKING]:
 +      Call report_temacs_memory_usage.
 +
 +      * w32heap.h (report_temacs_memory_usage): Add prototype.
 +
 +2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Don't substitute sigprocmask for pthread_sigmask (Bug#17561).
 +      * Makefile.in (LIB_PTHREAD_SIGMASK): Remove; all uses removed.
 +
 +2014-05-29  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * buffer.c (init_buffer): Accept an argument 'initialized'.
 +      [USE_MMAP_FOR_BUFFERS]: If 'initialized' is non-zero, reset
 +      mmap_regions and mmap_fd, to avoid referencing stale data from the
 +      dump phase.  Add an assertion for buffer text of buffers created
 +      in temacs before this function is called.  (Bug#17622)
 +      (mmap_regions_1, mmap_fd_1): Remove unused variables.
 +
 +      * lisp.h (init_buffer): Update prototype.
 +
 +      * emacs.c (main): Pass 'initialized' as the argument to init_buffer.
 +
 +2014-05-29  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * alloc.c (Fgarbage_collect): Fix compilation with
 +      GC_MARK_STACK == GC_USE_GCPROS_AS_BEFORE.
 +
 +2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * frame.c, frame.h (frame_char_to_pixel_position)
 +      (frame_set_mouse_position): Now static, and made private in
 +      frame.c rather than public in frame.h.
 +
 +2014-05-28  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Refactor mouse positioning stuff to avoid code duplication.
 +      * frame.h (frame_char_to_pixel_position): New function.
 +      (x_set_mouse_position): Rename to...
 +      (frame_set_mouse_position): ...new function.
 +      (frame_set_mouse_pixel_position): Add prototype.
 +      * nsterm.m, w32term.c, xterm.c (x_set_mouse_pixel_position):
 +      Rename to frame_set_mouse_pixel_position.
 +      * frame.c (Fset_mouse_pixel_position, Fset_mouse_position):
 +      Adjust users.
 +      * xterm.h, w32term.h ( x_set_mouse_position)
 +      (x_set_mouse_pixel_position): Remove prototypes.
 +
 +2014-05-28  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      On X, always make pointer visible when deleting frame (Bug#17609).
 +      * frame.c (frame_make_pointer_visible, frame_make_pointer_invisible):
 +      Pass frame as arg.
 +      * frame.h (frame_make_pointer_visible, frame_make_pointer_invisible):
 +      Adjust prototypes.
 +      * cmds.c (Fself_insert_command): Use SELECTED_FRAME.
 +      * keyboard.c (gobble_input): If there is no terminal input error,
 +      make sure the pointer is visible for all frames on this terminal.
 +      * xterm.c (x_free_frame_resources): Enable pointer visibility if
 +      it was previously disabled.
 +
 +2014-05-28  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * data.c (Fzerop): Move to Elisp.
 +      (syms_of_data): Don't defsubr it.
 +      * keyboard.c (echo_keystrokes_p): New function.
 +      (read_char, record_menu_key, read_key_sequence): Use it.
 +
 +      * callint.c (Qfuncall_interactively): New var.
 +      (Qcall_interactively): Remove.
 +      (Ffuncall_interactively): New function.
 +      (Fcall_interactively): Use it.
 +      (syms_of_callint): Defsubr it.
 +
 +2014-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * bytecode.c (FETCH) [BYTE_CODE_SAFE]: Check the bytecode wasn't
 +      relocated from under us.
 +
 +2014-05-27  Fabrice Popineau  <fabrice.popineau@gmail.com>
 +
 +      Use mmap(2) emulation for allocating buffer text on MS-Windows.
 +      * Makefile.in (C_HEAP_SWITCH): Get the predefined heap size from
 +      configure.
 +      (ADDSECTION, MINGW_TEMACS_POST_LINK): Remove, no longer used.
 +
 +      * lisp.h (NONPOINTER_BITS): Modify the condition to define to zero
 +      for MinGW, since it no longer uses gmalloc.
 +
 +      * buffer.c: Do not define mmap allocations functions for Windows.
 +      Remove mmap_find which is unused. Remove mmap_set_vars which does
 +      nothing useful.
 +      [WINDOWSNT]: Include w32heap.h.
 +      (init_buffer): Always allocate new memory for buffers.
 +
 +      * emacs.c: Remove mmap_set_vars calls.
 +
 +      * image.c (free_image): Undef free for Windows because it is
 +      redirected to our private version.
 +
 +      * unexw32.c (COPY_PROC_CHUNK): Use %p format for 64bits compatibility.
 +      (copy_executable_and_dump_data): Remove dumping the heap section.
 +      (unexec): Restore using_dynamic_heap after dumping.
 +
 +      * w32heap.c (dumped_data_commit, malloc_after_dump)
 +      (malloc_before_dump, realloc_after_dump, realloc_before_dump)
 +      (free_after_dump, free_before_dump, mmap_alloc, mmap_realloc)
 +      (mmap_free): New functions.
 +
 +      * w32heap.h: Declare dumped_data and mmap_* function prototypes.
 +
 +2014-05-27  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * image.c (imagemagick_load_image): Use MagickRealType for local
 +      'color_scale', instead of double, to avoid a GCC warning about
 +      double promotion.
 +
 +      * xfns.c (Fx_window_property): Remove unused local.
 +
 +      Don't kill already-reaped process (Bug#17561).
 +      * process.c (process_send_signal): Fix race condition where a
 +      subprocess was reaped by a signal handler between the check for
 +      liveness and calling 'kill', which meant that Emacs could in
 +      theory kill an innocent bystander process.  Do the fix by blocking
 +      SIGCHLD in a critical section that checks liveness before killing.
 +
 +2014-05-26  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32.c (_ANONYMOUS_UNION, _ANONYMOUS_STRUCT): Define only if undefined.
 +
 +2014-05-26  Ken Brown  <kbrown@cornell.edu>
 +
 +      * w32term.c (x_delete_display): Don't free dpyinfo->w32_id_name,
 +      even if !CYGWIN (see bug#17510).
 +
 +2014-05-26  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsfns.m (Fns_do_applescript): Surround NSApp run
 +      with calls to ns_init_events, ns_finish_events (Bug#17424).
 +
 +      * nsterm.h (ns_init_events, ns_finish_events): Declare.
 +
 +      * nsterm.m (ns_init_events, ns_finish_events): New functions.
 +      (ns_read_socket, ns_select): Call ns_init_events, ns_finish_events.
 +
 +      * nsfns.m (ns_do_applescript): Surround executeAndReturnError
 +      with calls to ns_init_events, ns_finish_events (Bug#17424).
 +
 +2014-05-26  Eli Zaretskii  <eliz@gnu.org>
  
        * xdisp.c (move_it_in_display_line_to): Don't record wrap position
        if we are iterating over an object that generates glyphs for
        marginal areas.  (Bug#17585)
  
 -2014-05-24  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-05-26  Paul Eggert  <eggert@cs.ucla.edu>
  
        * xdisp.c (safe__call1, safe__eval): Now static.
  
 -2014-05-24  Eli Zaretskii  <eliz@gnu.org>
 +2014-05-26  Eli Zaretskii  <eliz@gnu.org>
  
        * xdisp.c (safe__call): Accept va_list argument instead of '...'.
        (safe_call, safe__call1): Construct a va_list argument for safe_call.
        (safe_call1): Call safe_call instead of safe__call directly.
  
 -2014-05-24  Ken Brown  <kbrown@cornell.edu>
 +2014-05-26  Ken Brown  <kbrown@cornell.edu>
  
        * w32term.c (x_delete_display) [CYGWIN]: Don't free
        dpyinfo->w32_id_name, to make sure it doesn't get freed more than
        once.  (Bug#17510)
  
 -2014-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-05-26  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * xdisp.c: Bind inhibit-quit during pre-redisplay-function.
        (safe__call, safe__call1, safe__eval): New functions.
        (prepare_menu_bars): Use it for pre-redisplay-function (bug#17577).
        (display_mode_element): Same for `:eval'.
  
 -2014-05-22  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-05-26  Paul Eggert  <eggert@cs.ucla.edu>
  
        Fix port to 32-bit AIX (Bug#17540).
        * unexaix.c (copy_text_and_data): Don't add text_scnptr to ptr
        twice.  _text already includes this offset.
        (unrelocate_symbols): Don't cast 64-bit integer to pointer.
  
 -2014-05-21  Eli Zaretskii  <eliz@gnu.org>
 +2014-05-26  Eli Zaretskii  <eliz@gnu.org>
  
        * xdisp.c (move_it_in_display_line_to): Avoid infinite recursion:
        when closest_pos is identical to to_charpos, don't recurse, since
        we already tried that, and failed.  (Bug#17539)
  
 -2014-05-20  Eli Zaretskii  <eliz@gnu.org>
 -
        * w32fns.c (unwind_create_frame) [GLYPH_DEBUG]: If we are
        unwinding when frame's faces were not initialized yet, increment
        the frame's image-cache reference count before calling
        x_free_frame_resources.  Don't dereference
        dpyinfo->terminal->image_cache if it is NULL.  (Bug#17524)
  
 -2014-05-11  Glenn Morris  <rgm@gnu.org>
 +2014-05-25  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsfont.m (nsfont_draw): Simplify as arguments are adjusted in
 +      nsterm.m now.
 +
 +      * nsterm.m (ns_draw_glyph_string): Move isComposite and end from
 +      macfont.m, call draw with adjusted arguments so font drivers
 +      don't need to do that.
 +
 +      * macfont.m (macfont_draw): Merge changes from Macport.
 +
 +2014-05-24  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * alloc.c (garbage_collect_1): New function, with all of the guts
 +      of Fgarbage_collect.
 +      (mark_stack): Accept an argument END and don't mark Lisp objects
 +      on the stack beyond the address given by END.  Calculation of END
 +      was moved to Fgarbage_collect.
 +      (Fgarbage_collect): Calculate the end address of the stack portion
 +      that needs to be examined by mark_stack, and pass that address to
 +      garbage_collect_1, which will pass it to mark_stack.  See
 +      http://lists.gnu.org/archive/html/emacs-devel/2014-05/msg00270.html
 +      for more details about the underlying problems.  In particular,
 +      this avoids dumping Emacs with the large hash-table whose value is
 +      held in purify-flag for most of the time loadup.el runs.
 +
 +2014-05-24  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * xfns.c (x_window_property_intern): New function (code from
 +      x_window_property).
 +      (Fx_window_property): Call x_window_property_intern.  If property
 +      not found and NILP (source) and outer window != inner window,
 +      check outer window for property (Bug#17537).
 +
 +2014-05-22  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Supply malloc and alloc_size attributes for extern allocators.
 +      This documents the C API, and helps GCC generate a bit better code.
 +      * conf_post.h (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE)
 +      (ATTRIBUTE_MALLOC_SIZE): New macros.
 +      * gmalloc.c (malloc, realloc, calloc):
 +      * gtkutil.h (malloc_widget_value):
 +      * lisp.h (ralloc, r_re_alloc, xmalloc, xzalloc, xrealloc, xnmalloc)
 +      (xnrealloc, xstrdup, xlispstrdup, record_xmalloc):
 +      Use them.
 +
 +2014-05-21  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Don't assume that ImageMagick uses a 16-bit quantum (Bug#17519).
 +      * image.c (imagemagick_load_image): Port to hosts that do not use
 +      a 16-bit quantum, i.e., QuantumRange does not equal 65535.
 +
 +2014-05-21  Leo Liu  <sdl.web@gmail.com>
 +
 +      * fns.c (Fnreverse): Accept strings for SEQ and update doc-string.
 +
 +2014-05-20  Michael Albinus  <michael.albinus@gmx.de>
 +
 +      * dbusbind.c (xd_signature): Revert last 2 patches.
 +
 +2014-05-19  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Allow any non-nil value to count as true in bool-vector.
 +      Likewise for xd_signature in dbusbind.c.
 +      This is more consistent with the usual practice in Emacs, which is
 +      that any non-nil value counts as true.
 +      * alloc.c (Fbool_vector): Don't require args to be t or nil.
 +      * dbusbind.c (xd_signature): Likewise, for booleans.
 +      * data.c, lisp.h (Qbooleanp):
 +      * lisp.h (CHECK_BOOLEAN): Remove.  All uses removed.
 +
 +2014-05-19  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * lisp.h (CHECK_BOOLEAN): New function.
 +      * alloc.c (Fbool_vector): New function.
 +      (syms_of_alloc): Defsubr it.
 +      * data.c (Qbooleanp): New symbol.
 +      (syms_of_data): DEFSYM it.
 +      * dbusbind.c (xd_signature): Use CHECK_BOOLEAN.
 +
 +      * font.c (font_matching_entity): Extract font-entity object
 +      from the vector of matching entities (Bug#17486).
 +
 +2014-05-17  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Assume C99 or later (Bug#17487).
 +      * bytecode.c (B__dummy__): Remove.
 +      * conf_post.h (bool_bf) [!NS_IMPL_GNUSTEP]: Use bool.
 +      (FLEXIBLE_ARRAY_MEMBER): Now always empty.
 +      * dbusbind.c (XD_DEBUG_MESSAGE) [!DBUS_DEBUG]:
 +      * regex.c (DEBUG_PRINT): Assume varargs macros.
 +      * lisp.h (DEFUN_FUNCTION_INIT): Remove.  All uses now assume C99.
 +
 +2014-05-17  Fabrice Popineau  <fabrice.popineau@gmail.com>
 +
 +      * buffer.c (init_buffer) [USE_MMAP_FOR_BUFFERS]: Always map new
 +      memory for every buffer that was dumped.
 +
 +2014-05-15  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * fns.c (Freverse): Allow vectors, bool vectors and strings.
 +      (Fnreverse): Allow vectors and bool vectors.
 +
 +2014-05-14  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      Minor cleanup for terminal setup.
 +      * termhooks.h (create_terminal): Adjust prototype.
 +      * terminal.c (create_terminal): Pass output method and RIF as args.
 +      (init_initial_terminal):
 +      * nsterm.m (ns_create_terminal):
 +      * term.c (init_tty):
 +      * w32term.c (w32_create_terminal):
 +      * xterm.c (x_create_terminal): Adjust users.
 +      Avoid redundant NULL initializers and add comments.
 +
 +2014-05-13  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * keyboard.c (Qdeactivate_mark): Now static.
 +
 +2014-05-13  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      If available, use Xfixes extension to do pointer blanking.
 +      * Makefile.in (XFIXES_CFLAGS, XFIXES_LIBS): New var.
 +      * xfns.c (x_set_mouse_color): Do not call make_invisible_cursor here.
 +      (make_invisible_cursor): Move to...
 +      * xterm.c (make_invisible_cursor): ...here.
 +      (x_probe_xfixes_extension, xfixes_toggle_visible_pointer)
 +      (x_toggle_visible_pointer, x_setup_pointer_blanking): New functions.
 +      (x_term_init): Call to x_setup_pointer_blanking.
 +      (XTtoggle_invisible_pointer): Use blanking specific to this display.
 +      * xterm.h (struct x_display_info): New member toggle_visible_pointer.
 +
 +2014-05-12  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +
 +      * xdisp.c (draw_glyphs): Set clipping to highlight boundaries.
 +
 +2014-05-12  Glenn Morris  <rgm@gnu.org>
  
        * fileio.c (Ffile_executable_p): Doc tweak.
  
 -2014-05-10  Jan Djärv  <jan.h.d@swipnet.se>
 +2014-05-12  Jan Djärv  <jan.h.d@swipnet.se>
  
        * xsettings.c (init_gsettings): Use g_settings_schema_source_lookup
        instead of deprecated g_settings_list_schemas if possible (Bug#17434).
  
 -2014-05-07  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-05-08  Paul Eggert  <eggert@cs.ucla.edu>
  
        * minibuf.c (read_minibuf): Avoid C99ism in previous patch (Bug#17430).
  
 -2014-05-07  Jarek Czekalski  <jarekczek@poczta.onet.pl>
 +2014-05-08  Jarek Czekalski  <jarekczek@poczta.onet.pl>
  
        Fix initialization of minibuffer history variable (Bug#17430).
        * minibuf.c (read_minibuf): Initialize histval to Qnil if unbound.
        Move the initialization up to prevent any "value void" message.
  
 -2014-05-06  Samuel Bronson  <naesten@gmail.com>
 +2014-05-08  Samuel Bronson  <naesten@gmail.com>
  
        * keyboard.c (Frecursive_edit): Ensure inc&dec of command_loop_level
        are matched (bug#17413).
  
 -2014-05-06  Jarek Czekalski  <jarekczek@poczta.onet.pl>
 +2014-05-08  Jarek Czekalski  <jarekczek@poczta.onet.pl>
  
        Stop tooltips pulling Emacs window to front (Bug#17408).
        * w32fns.c (Fx_show_tip): Add SWP_NOOWNERZORDER flag to
        SetWindowPos invocations.
  
 -2014-05-05  Jan Djärv  <jan.h.d@swipnet.se>
 +2014-05-08  Jan Djärv  <jan.h.d@swipnet.se>
  
        * nsselect.m (Fx_selection_exists_p): Just return Qnil if window system
        not initialized (Bug#17398).
  
 +2014-05-07  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * image.c: Include <png.h> before <setjmp.h> (Bug#17429).
 +
 +2014-05-06  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * image.c: Do not use libpng if HAVE_NS, as NS does its own thing.
 +      [HAVE_NS]: Do not include png.h.
 +      (x_query_frame_background_color): New function.
 +      (png_load_body, imagemagick_load_image, svg_load_image): Use it.
 +      (png_load_body): Coalesce duplicate code.
 +
  2014-05-04  Paul Eggert  <eggert@cs.ucla.edu>
  
 -      Revert recent libpng changes (Bug#17339).
 -      * Makefile.in (PNG_CFLAGS): Remove; all uses removed.
 -      * image.c [HAVE_LIBPNG_PNG_H]: Include <libpng/png.h>, not <png.h>.
 +      Consult libpng-config more consistently (Bug#17339).
 +      * Makefile.in (PNG_CFLAGS): New var.
 +      (ALL_CFLAGS): Use it.
 +      * image.c [HAVE_PNG]: Don't worry about <libpng/png.h>, as
 +      CFLAGS now handles this.
  
  2014-05-03  Paul Eggert  <eggert@cs.ucla.edu>
  
  
        * buffer.c (overlay_strings): Fix the wording of the commentary.
  
 -2014-05-02  Paul Eggert  <eggert@cs.ucla.edu>
 -
 -      Consult libpng-config more consistently (Bug#17339).
 -      * Makefile.in (PNG_CFLAGS): New var.
 -      (ALL_CFLAGS): Use it.
 -      * image.c [HAVE_PNG]: Don't worry about <libpng/png.h>, as
 -      CFLAGS now handles this.
 -
  2014-05-01  Glenn Morris  <rgm@gnu.org>
  
        * floatfns.c (Fisnan):
        GCC 4.9.0 warned about this, and I couldn't easily prove to my own
        satisfaction that they would always be initialized.
  
 -2014-04-29  Eli Zaretskii  <eliz@gnu.org>
 +2014-04-30  Eli Zaretskii  <eliz@gnu.org>
  
 -      * term.c (tty_menu_display): Move the cursor to the active menu
 -      item.
 +      * term.c (tty_menu_display): Move the cursor to the active menu item.
        (tty_menu_activate): Return the cursor to the active menu item
 -      after displaying the menu and after displaying help-echo.  See
 -      http://lists.gnu.org/archive/html/emacs-devel/2014-04/msg00402.html
 +      after displaying the menu and after displaying help-echo.
 +      See http://lists.gnu.org/archive/html/emacs-devel/2014-04/msg00402.html
        for the details of why this is needed by screen readers and
        Braille displays.
  
 -2014-04-29  Glenn Morris  <rgm@gnu.org>
 +2014-04-30  Glenn Morris  <rgm@gnu.org>
  
        * process.c (handle_child_signal):
        Handle systems without WCONTINUED.  (Bug#15110, 17339)
  
 -2014-04-23  Eli Zaretskii  <eliz@gnu.org>
 +2014-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * window.c (struct saved_window): Remove mark.
 +      (Fset_window_configuration, save_window_save)
 +      (compare_window_configurations): Don't touch marks any more.
 +
 +2014-04-28  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Use bits_word for gcmarkbits.
 +      * alloc.c (struct cons_block, struct float_block): On 64-bit hosts,
 +      bits_word is typically a tad more efficient for mark bits than
 +      unsigned is, so use bits_word.  All uses changed.
 +      * lisp.h (BITS_PER_INT): Remove; no longer used.
 +
 +      Avoid undefined behavior in signed left shift.
 +      This ports to GCC 4.9.0 with -fsanitize=undefined.
 +      * alloc.c (bool_vector_fill, SETMARKBIT, UNSETMARKBIT):
 +      * data.c (Fash):
 +      * regex.c (extract_number):
 +      * lisp.h (make_number, XINT):
 +      Do not shift a 1 bit left into a sign bit.
 +      * alloc.c (struct cons_block, struct float_block): Use unsigned,
 +      not int, for gcmarkbits.  All uses changed.
 +
 +2014-04-25  Eli Zaretskii  <eliz@gnu.org>
  
        * search.c (Fnewline_cache_check): Don't try to count newlines
        outside the buffer's restriction, as find_newline doesn't support that.
  
 +2014-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * window.c (Fset_window_configuration): Deactivate the mark before
 +      unsetting the mark.
 +      (set_window_buffer): Ignore window_initialized.
 +      (window_initialized): Remove.
 +      * keyboard.c (Qdeactivate_mark): Not static any more.
 +      * buffer.c (buffer_local_value): Rename from buffer_local_value_1.
 +      Update all callers.
 +
 +2014-04-23  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * conf_post.h (ADDRESS_SANITIZER_WORKAROUND): Port to GCC 4.9.0
 +      and to clang 3.4, which have fixed the bug.  This should let us
 +      run a bit faster on these platforms when address sanitization is
 +      in effect.
 +
  2014-04-22  Paul Eggert  <eggert@cs.ucla.edu>
  
        Port to GCC 4.9.0 with --enable-gcc-warnings.
        (Fnewline_cache_check): New function.
        (syms_of_search): Defsubr it.
  
 -2014-04-21  Jarek Czekalski  <jarekczek@poczta.onet.pl>
 +2014-04-22  Jarek Czekalski  <jarekczek@poczta.onet.pl>
  
        Fix freezing with scroll bars of GTK3 Toolkit (bug#15801).
        * keyboard.c (unblock_input): Add comment.
        * xgselect.c (xg_select): Prevent Glib main loop recursion.
  
 +2014-04-22  Daniel Colascione  <dancol@dancol.org>
 +
 +      * lread.c (readevalloop_eager_expand_eval): New function
 +      that can recurse into toplevel forms.
 +      (readevalloop): Call it.
 +      * lisp.h: Declare Qprogn.
 +      * callint.c (Qprogn): No longer static.
 +
  2014-04-19  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * intervals.c (rotate_right, rotate_left): Fix up length computation.
        Also change identifiers to match the comments, and add more assertions
        (bug#16234).
  
 -2014-04-18  Eli Zaretskii  <eliz@gnu.org>
 -
 -      * xdisp.c (insert_left_trunc_glyphs): Ensure the left truncation
 -      glyph is written to TEXT_AREA of the temporary glyph_row.
 -      (Bug#17288)
 -
  2014-04-18  Paul Eggert  <eggert@cs.ucla.edu>
  
        * emacs.c (close_output_streams): Don't clear and restore errno.
  
 -2014-04-17  Jan Djärv  <jan.h.d@swipnet.se>
 +2014-04-18  Jan Djärv  <jan.h.d@swipnet.se>
  
        * xterm.c (x_make_frame_visible): Prevent endless loop when frame
        never becomes visible, i.e. using XMonad  (Bug#17237).
  
 -2014-04-17  Eli Zaretskii  <eliz@gnu.org>
 +2014-04-18  Eli Zaretskii  <eliz@gnu.org>
  
 -      * xdisp.c (Fline_pixel_height): Don't assume that the current
 -      buffer and the selected window's buffer are one and the same.
 -      (Bug#17281)
 +      * xdisp.c (insert_left_trunc_glyphs): Ensure the left truncation
 +      glyph is written to TEXT_AREA of the temporary glyph_row.  (Bug#17288)
 +      (Fline_pixel_height): Don't assume that the current buffer and the
 +      selected window's buffer are one and the same.  (Bug#17281)
  
        * insdel.c (invalidate_buffer_caches): Invalidate the bidi
        paragraph-start cache before the newline cache.  (Bug#17269)
  
 +2014-04-17  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * term.c (tty_send_additional_strings): No need to fflush here,
 +      as callers fflush.
 +      (tty_set_terminal_modes): fflush after sending additional strings,
 +      not before.
 +
 +2014-04-17  Daniel Colascione  <dancol@dancol.org>
 +
 +      * term.c (Qtty_mode_set_strings, Qtty_mode_reset_strings):
 +      New symbols.
 +      (tty_send_additional_strings): New function.
 +      (tty_set_terminal_modes, tty_reset_terminal_modes): Use it.
 +      (syms_of_term): Intern tty-mode-set-strings and
 +      tty-mode-reset-strings.
 +
  2014-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * window.c (save_window_save): Lookup window_point_insertion_type in
        Move vfork-related portions under #ifndef MSDOS.
        (syms_of_callproc): Unify templates of MSDOS and WINDOWSNT.
  
 -2014-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * buffer.c (Foverlays_at): Add argument `sorted'.
  
 -2014-04-14  Eli Zaretskii  <eliz@gnu.org>
 +2014-04-16  Eli Zaretskii  <eliz@gnu.org>
  
        * insdel.c (invalidate_buffer_caches): When deleting or replacing
        text, invalidate the bidi_paragraph_cache upto and including the
        preceding newline.
  
 -2014-04-13  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-04-16  Paul Eggert  <eggert@cs.ucla.edu>
  
        Port to IRIX 6.5 (Bug#9684).
 -      * alloc.c (TAGGABLE_NULL): New constant,
 -      for porting to hosts with nontrivial DATA_SEG_BITS settings.
 -      (next_vector, set_next_vector): Use it.
        * conf_post.h (INET6) [IRIX6_5]: Define.
        (HAVE_GETADDRINFO) [IRIX6_5]: Undef.
        * data.c (BITS_PER_ULL): Don't assume ULLONG_MAX is defined.
 -      * lisp.h (lisp_h_XPNTR): Don't OR in bits that aren't masked out,
 -      for consistency with how TAGGABLE_NULL is computed.
  
 -2014-04-13  Eli Zaretskii  <eliz@gnu.org>
 +2014-04-16  Eli Zaretskii  <eliz@gnu.org>
  
        * keyboard.c (Fopen_dribble_file): Encode the dribble file-name
        before passing it to system APIs.
  
 -      * puresize.h (BASE_PURESIZE): Bump by 1K.  (Bug#17255)
 -
 -2014-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * bytecode.c (exec_byte_code): Rework the volatiles.  Most importantly,
        make sure stack.byte_string_start is not de-adjusted by pushhandler.
  
 -2014-04-12  Paul Eggert  <eggert@cs.ucla.edu>
 +2014-04-16  Paul Eggert  <eggert@cs.ucla.edu>
  
        * keyboard.c (Fopen_dribble_file): Avoid some races.  (Bug#17187)
  
 +2014-04-15  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Remove DATA_SEG_BITS.
 +      The DATA_SEG_BITS hack was needed for older 32 bit platforms.
 +      As a result of this change, Emacs won't work on IRIX 6.5 with IRIX
 +      cc, but that platform is so old that SGI itself stopped supporting
 +      it in December 2013.  If you still need Emacs on IRIX, please
 +      either compile with GCC and port the undumping code, or run
 +      './configure --with-wide-int'.
 +      * alloc.c (gdb_make_enums_visible): Update to match lisp.h.
 +      * lisp.h (GCTYPEBITS): Move definition up, and switch to the
 +      DEFINE_GDB_SYMBOL_START way to define it.
 +      (NONPOINTER_BITS): New macro.
 +      (EMACS_INT): Use it.
 +      [!USE_LSB_TAG && !WIDE_EMACS_INT]: Fail, and suggest reporting
 +      the problem and/or configuring --with-wide-int.
 +      (USE_LSB_TAG): Simplify, based on above changes.
 +      (gdb_DATA_SEG_BITS): Remove.  All uses removed.
 +      * vm-limit.c (exceeds_lisp_ptr): Remove.  All uses removed.
 +
  2014-04-12  Eli Zaretskii  <eliz@gnu.org>
  
        * xdisp.c (move_it_by_lines): If a large portion of buffer text is
        * indent.c (Fvertical_motion): Handle correctly the case when the
        display string is preceded by an empty line.
  
 -2014-04-11  Eli Zaretskii  <eliz@gnu.org>
 -
        * w32.c (sys_umask) <WRITE_USER>: Remove redundant constant, and
        use S_IWRITE instead.
  
  
        * keyboard.c (Fopen_dribble_file): Make file private.  (Bug#17187)
  
 -2014-04-09  Ken Brown  <kbrown@cornell.edu>
 +2014-04-11  Ken Brown  <kbrown@cornell.edu>
  
        * Makefile.in (EMACS_MANIFEST): Revert last change.
  
 +2014-04-10  Daniel Colascione  <dancol@dancol.org>
 +
 +      * puresize.h (BASE_PURESIZE): Increase.
 +
 +2014-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
 +
 +      * keyboard.c (syms_of_keyboard): Make deactivate-mark buffer-local.
 +
 +      * insdel.c (prepare_to_modify_buffer_1): Cancel lock-file checks and
 +      region handling (and don't call signal_before_change) if
 +      inhibit_modification_hooks is set.
 +      (signal_before_change): Don't check inhibit_modification_hooks any more.
 +
 +2014-04-08  Daniel Colascione  <dancol@dancol.org>
 +
 +      * alloc.c (sweep_symbols, mark_object): Assert that symbol
 +      function cells contain valid lisp objects.  (Modified version of
 +      patch from Dmitry).
 +
 +      * alloc.c (detect_suspicious_free): Split actual stack capturing
 +      out into new function for easier breakpoint setting.
 +      (note_suspicious_free): New function.
 +
  2014-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * lisp.h (struct Lisp_Symbol): New bitfield `pinned'.
        (Fgarbage_collect): Use it.
        (gc_sweep): Remove hack made unnecessary.
  
 -2014-04-05  Glenn Morris  <rgm@gnu.org>
 +2014-04-07  Glenn Morris  <rgm@gnu.org>
  
        * keyboard.c (Fopen_dribble_file): Doc tweak.
  
 -2014-04-04  Jan Djärv  <jan.h.d@swipnet.se>
 -
 -      Backport from trunk.
 -      * nsterm.m (updateFrameSize:): If waiting for the tool bar and tool
 -      bar is zero height, just return (Bug#16976).
 -      (initFrameFromEmacs:): Initialize wait_for_tool_bar.
 -      * nsterm.h (EmacsView): Add wait_for_tool_bar.
 -      * nsmenu.m (update_frame_tool_bar): Return early if view or toolbar
 -      is nil.  If waiting for toolbar to complete, force a redraw.
 -      (free_frame_tool_bar): Set wait_for_tool_bar = NO (Bug#16976).
 -
 -2014-04-03  Ken Brown  <kbrown@cornell.edu>
 +2014-04-07  Ken Brown  <kbrown@cornell.edu>
  
        * Makefile.in (EMACS_MANIFEST): Update comment.  (Bug#17176)
  
 +2014-04-07  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * alloc.c: Simplify by removing use of HAVE_EXECINFO_H.
 +      We have a substitute execinfo.h on hosts that lack it.
 +      (suspicious_free_history): Make it EXTERNALLY_VISIBLE so it
 +      isn't optimized away.
 +
 +2014-04-05  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Prefer 'ARRAYELTS (x)' to 'sizeof x / sizeof *x'.
 +      * alloc.c (memory_full):
 +      * charset.c (syms_of_charset):
 +      * doc.c (Fsnarf_documentation):
 +      * emacs.c (main):
 +      * font.c (BUILD_STYLE_TABLE):
 +      * keyboard.c (make_lispy_event):
 +      * profiler.c (setup_cpu_timer):
 +      * xgselect.c (xg_select):
 +      * xterm.c (record_event, STORE_KEYSYM_FOR_DEBUG):
 +      Use ARRAYELTS.
 +      * font.c (FONT_PROPERTY_TABLE_SIZE): Remove.
 +      Replace the only use with ARRAYELTS (font_property_table).
 +      * xfaces.c (DIM): Remove.  All uses replaced by ARRAYELTS.
 +
 +2014-04-03  Daniel Colascione  <dancol@dancol.org>
 +
 +      * xterm.c (x_term_init):
 +      * xfns.c (best_xim_style):
 +      * xfaces.c (Fdump_colors):
 +      * w32fns.c (w32_default_color_map):
 +      * w32.c (init_environment, N_ENV_VARS):
 +      * unexcw.c (read_exe_header):
 +      * term.c (term_get_fkeys_1):
 +      * sysdep.c (init_baud_rate):
 +      * nsterm.m (ns_convert_key):
 +      * nsfns.m (get_geometry_from_preferences):
 +      * msdos.c (dos_set_window_size, init_environment):
 +      * macfont.m (mac_font_get_glyph_for_cid)
 +      (macfont_store_descriptor_attributes)
 +      (macfont_create_attributes_with_spec, mac_ctfont_get_glyph_for_cid):
 +      * keyboard.c (command_loop_1, read_menu_command, make_lispy_event)
 +      (NUM_MOD_NAMES, read_key_sequence_vs, Fcurrent_input_mode)
 +      (syms_of_keyboard):
 +      * image.c (xpm_str_to_color_key):
 +      * fringe.c (MAX_STANDARD_FRINGE_BITMAPS):
 +      * frame.c (x_set_frame_parameters):
 +      * fileio.c (Ffile_selinux_context):
 +      * emacs.c (sort_args):
 +      * dosfns.c (msdos_stdcolor_name):
 +      * dired.c (file_attributes):
 +      * chartab.c (uniprop_decoder_count, uniprop_encode_count):
 +      Change expressions of the form sizeof(arr) / sizeof(arr[0])
 +      to ARRAYELTS (arr).
 +
 +2014-04-02  Daniel Colascione  <dancol@dancol.org>
 +
 +      * data.c (Ffset): Abort if we're trying to set a function call to
 +      a dead lisp object.
 +
 +      * lisp.h (ARRAYELTS): New macro.
 +
 +      * alloc.c: Include execinfo.h if available.
 +      (SUSPICIOUS_OBJECT_CHECKING): New macro; define unconditionally.
 +      (suspicious_free_record): New structure.
 +      (suspicious_objects, suspicious_object_index)
 +      (suspicious_free_history, suspicious_free_history_index):
 +      New variables.
 +      (find_suspicious_object_in_range, detect_suspicious_free)
 +      (Fsuspicious_object): New functions.
 +      (cleanup_vector): Call find_suspicious_object_in_range.
 +
  2014-04-02  Martin Rudalics  <rudalics@gmx.at>
  
        * xterm.c (x_new_font): Don't calculate non-toolkit scrollbar
        width from font width (Bug#17163).
  
 -2014-03-30  Martin Rudalics  <rudalics@gmx.at>
 -
        * frame.c (x_set_frame_parameters): Calculate default values of
        new frame sizes only after all other frame parameters have been
        processed (Bug#17142).
  
 -2014-03-28  Ken Brown  <kbrown@cornell.edu>
 +2014-04-02  Ken Brown  <kbrown@cornell.edu>
  
        * conf_post.h (SYSTEM_PURESIZE_EXTRA) [CYGWIN]: Set to 10000.
        (Bug#17112)
  
 -2014-03-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 +2014-04-02  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
        * xterm.c (x_draw_image_glyph_string): Adjust image background
        width accordingly when its x position is adjusted.  (Bug#17115)
  
 +2014-04-02  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * font.c (font_list_entities): Do not add empty vector to font cache.
 +      (font_matching_entity): Likewise.  If matching entity is found, insert
 +      1-item vector with this entity instead of entity itself (Bug#17125).
 +
 +      * xterm.c (x_term_init) [USE_LUCID]: Fix minor memory leak.
 +
 +2014-04-01  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      * fns.c (validate_subarray): Rename from validate_substring,
 +      since it works for vectors too.  New arg ARRAY.  Optimize for the
 +      non-nil case.  Instead of returning bool, throw an error if out of
 +      range, so that the caller needn't do that.  All uses changed.
 +      Report original values if out of range.
 +      (Fsubstring, Fsubstring_no_properties, secure_hash):
 +      Also optimize the case where FROM is 0 or TO is the size.
 +
 +2014-03-31  Dmitry Antipov  <dmantipov@yandex.ru>
 +
 +      * search.c (Freplace_match): Use make_specified_string.
 +      * xterm.c, w32term.c (x_set_glyph_string_gc): Use emacs_abort
 +      to catch bogus override face of glyph strings.
 +      * fns.c (Fsubstring, Fsubstring_no_properties, secure_hash):
 +      Move common substring range checking code to...
 +      (validate_substring): ...this function.
 +
 +2014-03-31  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsmenu.m (free_frame_tool_bar): Set wait_for_tool_bar = NO (Bug#16976)
 +
 +2014-03-30  Jan Djärv  <jan.h.d@swipnet.se>
 +
 +      * nsterm.m (updateFrameSize:): If waiting for the tool bar and tool
 +      bar is zero height, just return (Bug#16976).
 +      (initFrameFromEmacs:): Initialize wait_for_tool_bar.
 +
 +      * nsterm.h (EmacsView): Add wait_for_tool_bar.
 +
 +      * nsmenu.m (update_frame_tool_bar): Return early if view or toolbar
 +      is nil.  If waiting for toolbar to complete, force a redraw.
 +
 +2014-03-28  Glenn Morris  <rgm@gnu.org>
 +
 +      * emacs.c (emacs_version): Use PACKAGE_VERSION rather than VERSION.
 +      (emacs_bugreport): New variable.
 +      (usage_message): Use PACKAGE_BUGREPORT.
 +      (syms_of_emacs) <report-emacs-bug-address>: New variable.
 +
 +      * emacs.c (syms_of_emacs) <system-configuration-features>: New var.
 +
 +2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Port recent signal-related changes to FreeBSD.
 +      Problem reported by Herbert J. Skuhra.
 +      * lisp.h (block_tty_out_signal, unblock_tty_out_signal):
 +      Move decls from here ...
 +      * syssignal.h: ... to here, so that lisp.h doesn't depend on signal.h.
 +
  2014-03-27  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
        * w32term.c (x_draw_image_glyph_string): Fix computation of height
        and width of image background when it is displayed with a 'box'
        face.  (Bug#17115)
  
 -2014-03-26  Paul Eggert  <eggert@penguin.cs.ucla.edu>
 +2014-03-27  Paul Eggert  <eggert@penguin.cs.ucla.edu>
  
        More backward-compatible fix to char-equal core dump (Bug#17011).
        * editfns.c (Fchar_equal): In unibyte buffers, assume values in
        range 128-255 are raw bytes.  Suggested by Eli Zaretskii.
  
 +2014-03-27  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * image.c (init_svg_functions): When loading SVG-related libraries,
 +      free already loaded libraries if the initialization fails.
 +      (rsvg_handle_set_size_callback): Remove declaration, unused.
 +
 +2014-03-26  Paul Eggert  <eggert@cs.ucla.edu>
 +
        Fix core dump in char-equal (Bug#17011).
        * editfns.c (Fchar_equal): Do not use MAKE_CHAR_MULTIBYTE in
        unibyte buffers, as we can't tell whether the characters are
  
        * insdel.c (adjust_markers_for_delete): Remove unused local.
  
 -2014-03-24  Barry O'Reilly  <gundaetiapo@gmail.com>
 +2014-03-26  Barry O'Reilly  <gundaetiapo@gmail.com>
  
        Have (MARKER . ADJUSTMENT) undo records always be immediately
        after their corresponding (TEXT . POS) record in undo list.
        (record_point): at_boundary calculation no longer needs to account
        for marker adjustments.
  
 -2014-03-24  Martin Rudalics  <rudalics@gmx.at>
 +2014-03-26  Martin Rudalics  <rudalics@gmx.at>
  
        * w32term.c (x_set_window_size): Refine fix from 2014-03-14
        (Bug#17077).
  
 -2014-03-23  Glenn Morris  <rgm@gnu.org>
 +2014-03-26  Glenn Morris  <rgm@gnu.org>
  
        * fileio.c (Ffile_symlink_p): Doc fix. (Bug#17073)
  
 -2014-03-23  Stefan Monnier  <monnier@iro.umontreal.ca>
 +2014-03-26  Stefan Monnier  <monnier@iro.umontreal.ca>
  
        * buffer.c (struct sortvec): Add field `spriority'.
        (compare_overlays): Use it.
        (sort_overlays): Set it.
  
 -2014-03-23  Eli Zaretskii  <eliz@gnu.org>
 +2014-03-26  Eli Zaretskii  <eliz@gnu.org>
  
        * xdisp.c (redisplay_window): If all previous attempts to find the
        cursor row failed, try a few alternatives before falling back to
        the top-most row of the window.  Use row_containing_pos.  (Bug#17047)
  
 -2014-03-22  Daniel Colascione  <dancol@dancol.org>
 +2014-03-26  Juanma Barranquero  <lekktu@gmail.com>
  
 -      * process.c (conv_sockaddr_to_lisp): When extracting the string
 -      names of AF_LOCAL sockets, stop before reading uninitialized
 -      memory.
 +      * image.c (x_bitmap_height, x_bitmap_width) [HAVE_X_WINDOWS]:
 +      * sysdep.c (reset_sigio) [!DOS_NT]: Declare conditionally.
 +
 +      * keyboard.c (read_decoded_event_from_main_queue): #ifdef out
 +      variables on Windows.
 +
 +      * w32fns.c (Ffile_system_info): Use parenthesis in and/or expression.
 +
 +      * w32.c (unsetenv): Remove unused var `retval'.
 +      (emacs_gnutls_pull): Remove unused vars `fdset' and `timeout'.
 +
 +      * w32notify.c (watch_worker): Remove unnecesary var sleep_result.
 +      (start_watching): Remove unused var `thr'.
 +
 +      * w32proc.c (sys_spawnve): Comment out unused vars `first', `last'.
 +      (find_child_console): Remove unnecesary var `thread_id'.
 +
 +      * w32term.c (w32_read_socket): Comment out unused vars `row', `columns'.
 +      (x_focus_frame): #ifdef 0 unused variable `dpyinfo'.
 +
 +2014-03-26  Glenn Morris  <rgm@gnu.org>
 +
 +      * filelock.c (Flock_buffer): Doc tweak.
 +
 +      * buffer.c (Frestore_buffer_modified_p, Fkill_buffer):
 +      * emacs.c (shut_down_emacs):
 +      * fileio.c (Finsert_file_contents, write_region):
 +      * filelock.c (top-level, syms_of_filelock):
 +      * insdel.c (prepare_to_modify_buffer_1):
 +      CLASH_DETECTION is always defined now.
 +
 +2014-03-25  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32.c (w32_delayed_load): Call DisableThreadLibraryCalls on the
 +      DLL handle, to speed up thread startup.
 +
 +2014-03-25  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Handle sigmask better with nested signal handlers  (Bug#15561).
 +      * atimer.c (sigmask_atimers): Remove.
 +      Remaining use rewritten to use body of this function.
 +      * atimer.c (block_atimers, unblock_atimers):
 +      * callproc.c (block_child_signal, unblock_child_signal):
 +      * sysdep.c (block_tty_out_signal, unblock_tty_out_signal):
 +      New arg OLDSET.  All callers changed.
 +      * atimer.c (block_atimers, unblock_atimers):
 +      * callproc.c (block_child_signal, unblock_child_signal):
 +      * keyboard.c (handle_interrupt):
 +      * sound.c (vox_configure, vox_close):
 +      Restore the old signal mask rather than unilaterally clearing bits
 +      from the mask, in case a handler is running within another
 +      handler.  All callers changed.
 +      * lisp.h, process.c, process.h, term.c:
 +      Adjust decls and callers to match new API.
 +      * sysdep.c (emacs_sigaction_init): Don't worry about masking SIGFPE;
 +      signal handlers aren't supposed to use floating point anyway.
 +      (handle_arith_signal): Unblock just SIGFPE rather than clearing mask.
 +
 +2014-03-23  Daniel Colascione  <dancol@dancol.org>
 +
 +      Split gc_sweep into discrete functions for legibility and better
 +      stack traces.
 +
 +      * alloc.c (sweep_strings, sweep_vectors): Add NO_INLINE
 +      (sweep_vectors): Fix typo in comment.
 +      (sweep_conses, sweep_floats, sweep_intervals)
 +      (sweep_symbols, sweep_misc, sweep_buffers): New functions.
 +      (gc_sweep): Call new functions, to which existing functionality is
 +      moved.
 +      * fns.c (sweep_weak_hash_tables): Add NO_INLINE.
 +
 +2014-03-23  Juanma Barranquero  <lekktu@gmail.com>
 +
 +      * w32fns.c (Fw32_shell_execute): Declare `result' only on Cygwin.
 +
 +2014-03-23  Daniel Colascione  <dancol@dancol.org>
 +
 +      * xfns.c (create_frame_xic): Pass XNStatusAttributes to XCreateIC
 +      only if xic_style calls for it.  This change allows Emacs to work
 +      with ibus.  Also, don't leak resources if create_frame_xic fails,
 +      and stop caching xic_style across different displays.
 +      (supported_xim_styles): Make const.
 +      (best_xim_style): Remove first parameter: it's always just
 +      supported_xim_styles.  Change to look at supported_xim_styles
 +      directly.
 +
 +2014-03-23  Daniel Colascione  <dancol@dancol.org>
 +
 +      * term.c (init_tty): Rearrange condition for clarity; print
 +      appropriate diagnostic.
  
  2014-03-23  Daniel Colascione  <dancol@dancol.org>
  
        * process.c (DATAGRAM_CONN_P): Don't underflow datagram_address
        array.  (ASAN caught.)
  
 +2014-03-22  Glenn Morris  <rgm@gnu.org>
 +
 +      * callproc.c (init_callproc): In etc, look for NEWS rather than GNU.
 +
 +2014-03-22  Daniel Colascione  <dancol@dancol.org>
 +
 +      * process.c (conv_sockaddr_to_lisp): When extracting the string
 +      names of AF_LOCAL sockets, stop before reading uninitialized memory.
 +
  2014-03-21  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
  
        Fix regression introduced by patch for Bug#10500.
        constrain frame size in SW_SHOWMAXIMIZED case so we can truly
        maximize a frame for odd default fonts.
  
 +2014-03-21  Glenn Morris  <rgm@gnu.org>
 +
 +      * minibuf.c (history-length): Increase default from 30 to 100.
 +
 +2014-03-21  Daniel Colascione  <dancol@dancol.org>
 +
 +      * xterm.c (x_bitmap_icon): Stop reading the icon bitmap from disk
 +      every time we switch to minibuffer.
 +
 +      * alloc.c (lisp_align_malloc, allocate_string_data)
 +      (allocate_vectorlike): Allow mmap allocation of lisp objects.
 +      (pointers_fit_in_lispobj_p, mmap_lisp_allowed_p): New functions.
 +
 +2014-03-21  Eli Zaretskii  <eliz@gnu.org>
 +
 +      * w32fns.c (Fw32_shell_execute) [!CYGWIN]: Use ShellExecuteEx, to
 +      support more "verbs".
 +
 +2014-03-21  Daniel Colascione  <dancol@dancol.org>
 +
 +      Always prohibit dumping a dumped Emacs.
 +
 +      * emacs.c (might_dump): New variable.
 +      (Fdump_emacs): Always prohibit dumping of dumped Emacs.
 +      * lisp.h (might_dump): Declare.
 +      * unexcw.c (unexec): Remove now-redundant multiple-dump detection code.
 +
  2014-03-20  Paul Eggert  <eggert@cs.ucla.edu>
  
        * doc.c (store_function_docstring): Fix pointer signedness mismatch.
diff --combined src/data.c
index 0c90944f0ad4fda16ab0c5aed2eacf68845b13f3,4cb569bd94336accf8ae81a40f97bc95838d4292..2de1c19452c53c444839b7ba62b8386706c84c71
@@@ -727,11 -727,6 +727,11 @@@ DEFUN ("fset", Ffset, Sfset, 2, 2, 0
    if (AUTOLOADP (function))
      Fput (symbol, Qautoload, XCDR (function));
  
 +  /* Convert to eassert or remove after GC bug is found.  In the
 +     meantime, check unconditionally, at a slight perf hit.  */
 +  if (valid_lisp_object_p (definition) < 1)
 +    emacs_abort ();
 +
    set_symbol_function (symbol, definition);
  
    return definition;
@@@ -2332,7 -2327,7 +2332,7 @@@ arithcompare_driver (ptrdiff_t nargs, L
    ptrdiff_t argnum;
    for (argnum = 1; argnum < nargs; ++argnum)
      {
 -      if (EQ (Qnil, arithcompare (args[argnum-1], args[argnum], comparison)))
 +      if (EQ (Qnil, arithcompare (args[argnum - 1], args[argnum], comparison)))
          return Qnil;
      }
    return Qt;
@@@ -2347,7 -2342,7 +2347,7 @@@ usage: (= NUMBER-OR-MARKER &rest NUMBER
  }
  
  DEFUN ("<", Flss, Slss, 1, MANY, 0,
-        doc: /* Return t if each arg is less than the next arg.  All must be numbers or markers.
+        doc: /* Return t if each arg (a number or marker), is less than the next arg.
  usage: (< NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS)  */)
    (ptrdiff_t nargs, Lisp_Object *args)
  {
  }
  
  DEFUN (">", Fgtr, Sgtr, 1, MANY, 0,
-        doc: /* Return t if each arg is greater than the next arg.  All must be numbers or markers.
+        doc: /* Return t if each arg (a number or marker) is greater than the next arg.
  usage: (> NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS)  */)
    (ptrdiff_t nargs, Lisp_Object *args)
  {
  }
  
  DEFUN ("<=", Fleq, Sleq, 1, MANY, 0,
-        doc: /* Return t if each arg is less than or equal to the next arg.
- All must be numbers or markers.
+        doc: /* Return t if each arg (a number or marker) is less than or equal to the next.
  usage: (<= NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS)  */)
    (ptrdiff_t nargs, Lisp_Object *args)
  {
  }
  
  DEFUN (">=", Fgeq, Sgeq, 1, MANY, 0,
-        doc: /* Return t if each arg is greater than or equal to the next arg.
- All must be numbers or markers.
+        doc: /* Return t if each arg (a number or marker) is greater than or equal to the next.
  usage: (>= NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS)  */)
    (ptrdiff_t nargs, Lisp_Object *args)
  {
@@@ -2386,6 -2379,24 +2384,6 @@@ DEFUN ("/=", Fneq, Sneq, 2, 2, 0
  {
    return arithcompare (num1, num2, ARITH_NOTEQUAL);
  }
 -
 -DEFUN ("zerop", Fzerop, Szerop, 1, 1, 0,
 -       doc: /* Return t if NUMBER is zero.  */)
 -  (register Lisp_Object number)
 -{
 -  CHECK_NUMBER_OR_FLOAT (number);
 -
 -  if (FLOATP (number))
 -    {
 -      if (XFLOAT_DATA (number) == 0.0)
 -      return Qt;
 -      return Qnil;
 -    }
 -
 -  if (!XINT (number))
 -    return Qt;
 -  return Qnil;
 -}
  \f
  /* Convert the cons-of-integers, integer, or float value C to an
     unsigned value with maximum value MAX.  Signal an error if C does not
@@@ -2877,7 -2888,7 +2875,7 @@@ In this case, the sign bit is duplicate
    if (XINT (count) >= BITS_PER_EMACS_INT)
      XSETINT (val, 0);
    else if (XINT (count) > 0)
 -    XSETINT (val, XINT (value) << XFASTINT (count));
 +    XSETINT (val, XUINT (value) << XFASTINT (count));
    else if (XINT (count) <= -BITS_PER_EMACS_INT)
      XSETINT (val, XINT (value) < 0 ? -1 : 0);
    else
@@@ -3632,6 -3643,7 +3630,6 @@@ syms_of_data (void
    defsubr (&Sleq);
    defsubr (&Sgeq);
    defsubr (&Sneq);
 -  defsubr (&Szerop);
    defsubr (&Splus);
    defsubr (&Sminus);
    defsubr (&Stimes);
diff --combined src/fileio.c
index 8b20c65802d100b39918f6c76acf31c376bc5eab,cd32821ed0c08be65a77b369aa902b6179639986..dc3ed431d40b09198123ebb90bf747e9d8fc608a
@@@ -2911,7 -2911,7 +2911,7 @@@ or if SELinux is disabled, or if Emacs 
      }
  #endif
  
 -  return Flist (sizeof (values) / sizeof (values[0]), values);
 +  return Flist (ARRAYELTS (values), values);
  }
  \f
  DEFUN ("set-file-selinux-context", Fset_file_selinux_context,
@@@ -4080,11 -4080,13 +4080,11 @@@ by calling `format-decode', which see
  
    if (NILP (visit) && total > 0)
      {
 -#ifdef CLASH_DETECTION
        if (!NILP (BVAR (current_buffer, file_truename))
          /* Make binding buffer-file-name to nil effective.  */
          && !NILP (BVAR (current_buffer, filename))
          && SAVE_MODIFF >= MODIFF)
        we_locked_file = 1;
 -#endif /* CLASH_DETECTION */
        prepare_to_modify_buffer (PT, PT, NULL);
      }
  
  
    if (inserted == 0)
      {
 -#ifdef CLASH_DETECTION
        if (we_locked_file)
        unlock_file (BVAR (current_buffer, file_truename));
 -#endif
        Vdeactivate_mark = old_Vdeactivate_mark;
      }
    else
        SAVE_MODIFF = MODIFF;
        BUF_AUTOSAVE_MODIFF (current_buffer) = MODIFF;
        XSETFASTINT (BVAR (current_buffer, save_length), Z - BEG);
 -#ifdef CLASH_DETECTION
        if (NILP (handler))
        {
          if (!NILP (BVAR (current_buffer, file_truename)))
            unlock_file (BVAR (current_buffer, file_truename));
          unlock_file (filename);
        }
 -#endif /* CLASH_DETECTION */
        if (not_regular)
        xsignal2 (Qfile_error,
                  build_string ("not a regular file"), orig_filename);
@@@ -4809,11 -4815,13 +4809,11 @@@ write_region (Lisp_Object start, Lisp_O
    if (!STRINGP (start) && !NILP (BVAR (current_buffer, selective_display)))
      coding.mode |= CODING_MODE_SELECTIVE_DISPLAY;
  
 -#ifdef CLASH_DETECTION
    if (open_and_close_file && !auto_saving)
      {
        lock_file (lockname);
        file_locked = 1;
      }
 -#endif /* CLASH_DETECTION */
  
    encoded_filename = ENCODE_FILE (filename);
    fn = SSDATA (encoded_filename);
        if (desc < 0)
        {
          int open_errno = errno;
 -#ifdef CLASH_DETECTION
          if (file_locked)
            unlock_file (lockname);
 -#endif /* CLASH_DETECTION */
          UNGCPRO;
          report_file_errno ("Opening output file", filename, open_errno);
        }
        if (ret < 0)
        {
          int lseek_errno = errno;
 -#ifdef CLASH_DETECTION
          if (file_locked)
            unlock_file (lockname);
 -#endif /* CLASH_DETECTION */
          UNGCPRO;
          report_file_errno ("Lseek error", filename, lseek_errno);
        }
  
    unbind_to (count, Qnil);
  
 -#ifdef CLASH_DETECTION
    if (file_locked)
      unlock_file (lockname);
 -#endif /* CLASH_DETECTION */
  
    /* Do this before reporting IO error
       to avoid a "file has changed on disk" warning on
@@@ -6029,7 -6043,7 +6029,7 @@@ file is usually more useful if it conta
               doc: /* Non-nil means don't call fsync in `write-region'.
  This variable affects calls to `write-region' as well as save commands.
  Setting this to nil may avoid data loss if the system loses power or
- the operating system crashes.  */);
+ the operating system crashes.  By default, it is non-nil in batch mode.  */);
    write_region_inhibit_fsync = 0; /* See also `init_fileio' above.  */
  
    DEFVAR_BOOL ("delete-by-moving-to-trash", delete_by_moving_to_trash,